Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    Applicazioni .NET ed utilizzo della memoria

    Salve, ho alcuni dubbi su un progetto che mi trovo a gestire e volevo da voi alcuni consigli in base alle vostre esperienze. Vi spiego subito la situazione.
    Ho un server con 12Gb di RAM e sistema operativo Windows Server 2008 R2; su tale server risiede un'applicazione di gestione delle vendite sviluppata in WPF e che utilizza NHibernate (2.1.2) per la persistenza dei dati (il DBMS è SQL Server 2008). Al server accedono contemporaneamente via VPN dai 30 ai 40 utenti, che utilizzano l'applicazione in Desktop Remoto.

    In questi giorni stavo monitorando il consumo di risorse nei momenti in cui lavorano tutti all'applicazione ed ho visto che per ogni utente la mia applicazione occupa dai 300 ai 500 mb; tale situazione sembra ridurre la memoria disponibile per SQL Server (che inizialmente ho visto essere intorno ai 2Gb, mentre nei momenti di massimo carico l'ho vista scendere a 400mb) e mi chiedevo se questo potesse incidere sulle performance nelle operazioni di lettura/scrittura dati nel db. Inoltre ho visto che praticamente il sistema raggiunge quasi 100% della memoria in uso ed ho paura che questa situazione "limite" possa portare ad ulteriori problematiche.

    Ho iniziato ad analizzare la mia applicazione per rendermi conto di quale possa essere la causa di tale consumo di memoria e mi sono reso conto che in parte ciò è dovuto alla cache di NHibernate. Nell'applicazione infatti sono presenti delle manutenzioni che trattano una gran mole di dati e, nel momento in cui carico i dati, la memoria in uso per il singolo processo cresce di molto. La cosa che non mi convince è che se chiudo la form di manutenzione di tali dati la memoria rimane comunque allocata (e credo che ciò sia dovuto al fatto che i dati rimangono comunque nella cache di NHibernate), per poi essere riciclata automaticamente quando ci sono nuove richieste.

    Alla luce di ciò le mie domande sono...

    In una situazione del genere mi devo preoccupare del fatto che la memoria in uso del sistema sia quasi il 100%? o sarebbe oppurtuno estendere la RAM?
    E' normale che la mia applicazione non rilasci immediatamente la memoria allocata in seguito al caricamento dei dati? Il riciclo della memoria è gestito automaticamente del sistema?
    Sarebbe opportuno che nella configurazione di SQL Server prevedessi un limite minimo di memoria assegnata al processo?
    Come faccio a rendermi conto se sono effettivamente in una situazione di criticità?
    In base alle vostra esperienze personali avete dei consigli da darmi in merito?

    Vi ringrazio in anticipo per informazione.
    Luca >> http://www.pollosky.it

  2. #2
    Qui sei OT, ti sposto in Server Windows.

    Chi non cerca trova.

  3. #3
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Se ho capito bene, il server è utilizzato sia come DBMS server, sia come Terminal Server con un carico di 30 o 40 utenti che lavorano su un'applicazione .NET.

    In questo caso, la carenza di memoria potrebbe essere una cosa abbastanza normale e potresti avere problemi di prestazioni per il DBMS.

    Per capire un po' quanto la cosa sia critica, ti conviene - nel momento di maggior carico - studiare un po' l'utilizzo della memoria (con il Performance Monitor) soprattutto in relazione alla eventuale paginazione della stessa su disco. Trovi indicazioni su

    http://msdn.microsoft.com/it-it/library/ms176018.aspx

    Dato l'alto numero di utenti per server, darei anche un'occhiata ai valori di carico per le CPU.

    Le soluzioni ad eventuali evidenze di sottodimensionamento potrebbero essere:

    1) aumentare la RAM disponibile, portandola a 32 G

    2) spostare il DBMS (SQL Server) su un secondo server da 12 G dedicato a tale funzione, separando applicazione e terminal server dal DBMS
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  4. #4
    NO SPAM GRAZIE

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.