SystemOutOfMemory Exception
2 naročnika
2 naročnika
Pozdravljeni,
Zanima me ce je kdo od vas imel omenjeno težavo na strežniku (Windows Server). Imamo app kateri prejema POST requeste ter jih potem obdela in shrani v bazo. Ko pride na enkrat cez 1000 requestov dobimo System.OutOfMemory Exception. Poizkusili smo z povecavo RAM-a ampak tezava se še naprej pojavlja.
Gre za 64 bitni strežnik. Kako bi lahko čim bolje optimizirali zadevo, da do omenjene napake nebi prihajalo? Bi bilo najboljše sam program/app optimizirat?
Če ima kdo rešitev katera bo delovala ima pijačo v dobrem.
1 odgovor
Ali vam application pool slučajno laufa pod 32-bit načinom ?
IIS 32-bit
Aplikacija, ki teče pod takim pool-om lahko naslovi max 2GB RAM-a in prav nič ne pomaga če ga povečate.
To, da se vam to zgodi po 1000 requestih pa kaže tudi na to, da se mogoče memorija v aplikaciji ne sprošča ustrezno. Torej ko se podatki obdelajo in shranijo v bazo se mora spomin sprostiti.
Preglejte svojo aplikacijo s kakšnim memory profilerjem.
Npr. Red gate (tudi s trial verzijo bi se mogoče dalo)
Ena ne prav lepa rešitev je tudi, da nastavite, da se vam application pool restarta pri določeni porabi resource-jev in potem se memorija sprosti, ampak se pa aplikacija spet pobira nekaj časa in prvi naslednji request malo traja.