Condividi tramite


Ottimizzazione delle prestazioni del server tramite le opzioni di configurazione della memoria

Il componente per la gestione della memoria di Microsoft SQL Server 2005 consente di eliminare la necessità di una gestione manuale della memoria disponibile per SQL Server. All'avvio, SQL Server determina in modo dinamico la quantità di memoria da allocare, in base alla memoria utilizzata dal sistema operativo e dalle altre applicazioni attive. Mano a mano che il carico di lavoro del computer e di SQL Server cambia, anche la quantità di memoria allocata varia di conseguenza. Per ulteriori informazioni, vedere Architettura della memoria.

Le seguenti opzioni di configurazione del server consentono di configurare la memoria e influiscono sulle prestazioni del server:

  • min server memory
  • max server memory
  • max worker threads
  • index create memory
  • min memory per query

È possibile utilizzare l'opzione di configurazione del server min server memory per assicurarsi che, quando viene raggiunta la soglia, SQL Server non rilasci memoria sotto il livello minimo di memoria server configurato. Questa opzione di configurazione può essere impostata su un valore specifico, basato sulle dimensioni e sull'attività dell'istanza di SQL Server. Se si decide di impostare questo valore, specificare un valore ragionevole, per assicurare che il sistema operativo non richieda una quantità eccessiva di memoria da SQL Server, influendo sulle prestazioni di SQL Server.

L'opzione di configurazione del server max server memory consente di specificare la quantità massima di memoria da allocare a SQL Server all'avvio e durante l'esecuzione. Questa opzione di configurazione può essere impostata su un valore specifico se unitamente all'istanza di SQL Server vengono eseguite più applicazioni e si desidera garantire a tali applicazioni una quantità di memoria sufficiente. Se tali applicazioni, ad esempio server Web o di posta elettronica, richiedono memoria soltanto quando è necessario, non impostare l'opzione di configurazione del server max server memory. L'istanza di SQL Server rilascerà la memoria necessaria al momento opportuno. Altri tipi di applicazioni utilizzano la memoria disponibile all'avvio e non richiedono ulteriore memoria, anche quando questa risulta necessaria. Se un'applicazione di questo tipo viene eseguita contemporaneamente a un'istanza di SQL Server nello stesso computer, impostare l'opzione di configurazione del server max server memory su un valore adeguato per garantire che la memoria richiesta dall'altra applicazione non venga allocata dall'istanza di SQL Server.

Evitare di impostare le opzioni di configurazione del server min server memory e max server memory sullo stesso valore, in quanto ciò equivale ad allocare una quantità di memoria fissa a SQL Server. L'allocazione dinamica di memoria consente di ottenere le prestazioni complessive migliori nel tempo. Per ulteriori informazioni, vedere Opzioni per la memoria server.

L'opzione di configurazione del server max worker threads consente di specificare il numero di thread utilizzati per il supporto degli utenti connessi a SQL Server. L'impostazione predefinita 255 può risultare troppo alta per alcune configurazioni, a seconda del numero di utenti simultanei. Poiché ogni thread di lavoro viene allocato anche se non viene utilizzato (in quanto il numero delle connessioni simultanee è inferiore a quello dei thread di lavoro allocati), è possibile che risorse di memoria destinabili ad altre funzionalità quali la cache buffer risultino inutilizzate. In genere, è consigliabile impostare questo valore sul numero di connessioni simultanee, con un limite massimo di 32727. Le connessioni simultanee non corrispondono alle connessioni di accesso. Il pool di thread di lavoro per un'istanza di SQL Server deve avere dimensioni sufficienti per servire il numero di connessioni utente che eseguono batch contemporaneamente in tale istanza. Un incremento del numero di thread di lavoro oltre il valore predefinito potrebbe provocare un peggioramento delle prestazioni del server. Per ulteriori informazioni, vedere Opzione max worker threads.

L'opzione di configurazione del server index create memory controlla la quantità di memoria utilizzata dalle operazioni di ordinamento durante la creazione di indici. In un sistema di produzione la creazione di indici è un'attività eseguita raramente e spesso viene pianificata per l'esecuzione come processo in periodi di attività ridotta. Pertanto, se gli indici vengono creati raramente e durante i periodi di attività ridotta, l'aumento di questo valore può migliorare le prestazioni di creazione degli indici. Nel contempo è opportuno ridurre il valore dell'opzione di configurazione min memory per query, in modo che la creazione dell'indice venga avviata anche se non è disponibile tutta la memoria necessaria. Per ulteriori informazioni, vedere Opzione index create memory.

L'opzione di configurazione del server min memory per query consente di specificare la quantità minima di memoria utilizzata per l'esecuzione di una query. Se in un sistema vengono eseguite simultaneamente più query, l'aumento del valore di min memory per query può determinare un miglioramento delle prestazioni per le query che utilizzano quantità di memoria elevate, ad esempio operazioni estese di hashing e ordinamento. Evitare tuttavia di impostare min memory per query su valori troppo alti, in particolare su sistemi a utilizzo intensivo: la query rimarrà in attesa finché non disporrà della quantità di memoria minima necessaria oppure finché non verrà superato il valore dell'opzione query wait. Se è disponibile una quantità di memoria superiore al valore minimo necessario per l'esecuzione della query, la query potrà avvalersi della memoria aggiuntiva, a condizione che questa possa essere utilizzata in modo efficace. Per ulteriori informazioni, vedere Opzione min memory per query e Opzione query wait.

Vedere anche

Attività

Procedura: Impostazione della memoria minima per le query (SQL Server Management Studio)

Concetti

Monitoraggio dell'utilizzo della memoria
Effetti delle opzioni min server memory e max server memory
Gestione della memoria per database di grandi dimensioni

Guida in linea e informazioni

Assistenza su SQL Server 2005