79 messaggi dal 05 aprile 2005
Ciao!
Per iniziare bene l'anno mi sono accorta, da Task Manager, che il processo w3wp.exe utilizza molta memoria (3GB!!!).

Ho fatto delle prove aprendo più browser, navigando e richiudendo i browser e ho notato che la memoria cresce sempre ma non diminuisce mai!

E' un problema di codice? Oppure: dove potrei intervenire?

Grazie
3.121 messaggi dal 29 ottobre 2001
Contributi | Blog
Innanzitutto fai dei controlli di base: controlli che ogni risorsa utilizzata sia poi "liberata", soprattutto se usi session o tieni in memoria oggetti. Così anche un controllo sulle connessioni, anche se personalmente non ho mai riscontrato un'occupazione così esagerata di memoria per questo caso.

Infine - io non mi fido mai dei server - l'uso di tanta memoria avviene solo su quel server? Hai fatto test su altre macchine?

Come è impostato il riciclo del processo w3wp?

Ciao
79 messaggi dal 05 aprile 2005
Per quanto riguarda il server non posso fare confronti con altre macchine, perchè questa applicazione risiede solo su un server. Le altre applicazioni che ho sviluppato non sono della stessa portata di questa.

Per liberare la risorsa, intendi chiamare il metodo Dispose per gli oggetti che lo implementano e fare il .Close delle connessioni?
Le Session non sono utilizzate. Il view state è sempre attivo.

Per quanto riguarda il riclico dell'application pool ho impostato:
Recycling worker process (in minutes): 1740

Il Server è un Dell Server PE2950 Intel(R) Xeon(R) CPU X5355 @ 2.66GHz
2.66GHz, 7.99 GB of RAM

Il sistema operativo è:
Microsoft Windows Server 2003 R2 Standard x64 Edition Services Pack 2

Ieri sera abbiamo riavviato l'application pool, attualmente la memoria utilizzata è circa 100MB

Spero di essermi spiegata bene
3.121 messaggi dal 29 ottobre 2001
Contributi | Blog
A riguardo i test su un'altra macchina se ti era possibile con una macchina con win 2003 e "stressare" l'applicazione web con tool appositi per vedere se si ripete, quindi poter eseguire test mirati per capirne la causa.
Il viewstate non è un problema perché non occupa memoria sul server. Casi di consumo esagerato di memoria l'ho solo visto con l'uso esagerato di Session, ma non è il tuo caso.

Il test mirato serve appunto per capire quali pagine o quale sezione della tua applicazione ha "problemi" come l'allocazione di oggetti e non liberati. Infine esegui un controllo del tuo codice sul dispose delle connessioni e accesso ai dati.

Altre soluzioni, senza un test approfondito, non saprei suggerire.
Ciao
--
AZ
79 messaggi dal 05 aprile 2005
Grazie Andrea,
ora però ti faccio una domanda idiota giusto per capire:

Quando richiamo una pagina aspx dal browser io vedo che la memoria usata cresce.
Ma quando la pagina viene restituita e quindi in teoria il server non lavora più per "crearla", la memoria dovrebbe tornare al livello iniziale subito?

Hai qualche nome di tools per testare l'applicazione?

Grazie ancora
3.121 messaggi dal 29 ottobre 2001
Contributi | Blog
daniela78 wrote:
Quando richiamo una pagina aspx dal browser io vedo che la memoria usata cresce.
Ma quando la pagina viene restituita e quindi in teoria il server non lavora più per "crearla", la memoria dovrebbe tornare al livello iniziale subito?

Sul consumo specifico di memoria per pagina non so risponderti, però una volta cresciuto il consumo di memoria non dovrebbe più aumentare per ogni richiesta di quella pagina. Se ad ogni "F5" del browser aumenta, c'è un problema

Hai qualche nome di tools per testare l'applicazione?

Anche se vecchiotto a me piace "MS Web Application Stress Tool": http://www.microsoft.com/technet/archive/itsolutions/intranet/downloads/webstres.mspx?mfr=true
Permette di registrare le richieste del browser e di ripeterle stressando il server. Il report ti riporta i tempi di risposta e altre cosette.
Grazie ancora

Di niente. Ciao.
79 messaggi dal 05 aprile 2005
Giusto per informare chi legge....

Controllando il web.config mi sono accorta di aver lasciato debug=true!!!

Ora il consumo di memoria sembra migliorato, ma indagherò ancora.
3.121 messaggi dal 29 ottobre 2001
Contributi | Blog
daniela78 wrote:
Controllando il web.config mi sono accorta di aver lasciato debug=true!!!

Questo è grave!

Ciao

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.