[sqlserver] Verificare se un’istanza SQL Server necessita di RAM
Per poter determinare se un istanza di SQL Server necessiti o meno di ulteriore RAM o per capire se la RAM può costituire un collo di bottiglia per le prestazioni del server, è necessario monitorare i seguenti performance counter (da Performance Monitor o Monitor prestazioni in italiano):
Buffer Manager/Buffer Node: Page Life Expectancy (PLE): Il contatore indica il numero di secoondi che una pagina in memoria deve rimanere se non viene modificata – se c’è pressione sulla RAM, questo valore decrementerà. Se si rileva una continua diminuizione del valore, allora è necessario assegnare più memoria.
Buffer Manager: Buffer Cache Hit Ratio: E’ la percentuale di pagine che vengono recuperate in memoria senza che si renda necessaria una lettura dal disco. Dovrebbe essere superiore al 90%. Una diminuizione di questo valore può indicare la necessità di aumentare la memoria, ma anche una cattiva progettazione delle tabelle e dei relativi indici.
Memory Manager: Memory Grants Pending: L’ideale dovrebbe essere che non ci sono processi in attesa di memoria e quindi il valore dovrebbe essere 0. E’ necessario un upgrade della RAM se il valore è >= a 1.
Memory Manager: Target Server Memory e Total Server Memory: Target Server memory è il totale di memoria che SQL vorrebbe utilizzare, Total Server memory è la memoria che sta attualmente utilizznado. Se Target Server memory è maggiore di Total Server memory, è opportuno aumentare la RAM.