Sommario
- Introduzione
- Ulteriori informazioni
- Licenze
- Mapping del processore
- Prestazioni
- Utilità di conteggio CPU di Intel
INTRODUZIONE
Questo articolo descrive SQL Server supporto in un ambiente iperthread.
Altre informazioni
Il design principale di SQL Server è completamente funzionale in un ambiente iperthread. Tuttavia, se si usa un ambiente iperthread, è consigliabile eseguire le operazioni seguenti:
- Eseguire Microsoft SQL Server 2000 Service Pack 3 (SP3) o un Service Pack successivo.
- Installa l'ultimo aggiornamento della sicurezza.
Il sistema operativo Microsoft Windows fa apparire le CPU logiche hyper-thread come CPU fisiche. Poiché SQL Server è già altamente scalabile, le CPU aggiuntive offrono a SQL Server la possibilità di utilizzare più processori.
Per ulteriori informazioni sul supporto di Microsoft Windows per l'hyper-threading, visita il seguente sito Web Microsoft:
http://www.microsoft.com/whdc/system/sysinternals/ht-windows.mspx
Quando si considera una distribuzione iperthread, è necessario tenere presente quanto segue:
- Licenze
- Mapping del processore
- Prestazioni
- Utilità di conteggio CPU di Intel
Altre informazioni su ogni elemento successivo.
Licenze
Quando è abilitato l'hyper-threading, il BIOS (Basic Input Output System) utilizza un rapporto logico-fisico tra CPU. Le implementazioni correnti usano rapporti 2:1. Ciò significa che ci sono due (2) CPU logiche per ogni CPU fisica. Tali rapporti potrebbero cambiare in futuro; Tuttavia, Microsoft SQL Server 2000 Service Pack 3 (SP3) e versioni successive includono codice di licenza aggiuntivo che regola le restrizioni di licenza per gestire il rapporto. Ad esempio, se il codice prodotto SQL Server installato consente una licenza di 4 CPU con un rapporto 2:1, la build di SQL Server 2000 SP3 e successive si regola e consente di usare 8 CPU.
Quando installi SQL Server, userai il numero fisico di CPU e consentirai a SQL Server di gestire la conversione del rapporto. Al contrario, quando si imposta l'opzione maschera di affinità, si useranno i valori logici della CPU perché SQL Server utilizza tutte le CPU come se fossero processori fisici.
Per ulteriori informazioni sulle licenze e sulla configurazione supportate, visita il seguente sito Web Microsoft:
http://www.microsoft.com/sql/howtobuy/default.mspx
Mapping del processore
Per impostazione predefinita, SQL Server crea un'utilità di pianificazione logica UmS (User Mode Scheduling) per ogni processore in base all'ordine ordinale del processore. Negli ambienti iperthread abilitati, Microsoft Windows rende tutti i processori disponibili per il processo di SQL Server come se fossero veri processori fisici. Nella tabella seguente viene mostrato un esempio di mapping logico e fisico del processore.
Tabella di mapping del processore 1
| Logiche | Fisica |
|---|---|
| 0 | 0 |
| 1 | 1 |
| 2 | 2 |
| 3 | 3 |
| 4 | 0 |
| 5 | 1 |
| 6 | 2 |
| 7 | 3 |
Ecco un altro esempio di mapping del processore.
Tabella di mapping del processore 2
| Logiche | Fisica |
|---|---|
| 0 | 0 |
| 1 | 0 |
| 2 | 1 |
| 3 | 1 |
| 4 | 2 |
| 5 | 2 |
| 6 | 3 |
| 7 | 3 |
Entrambi i mapping sono accettabili per SQL Server. Tuttavia, prestare attenzione a non creare una situazione in cui SQL Server è inaspettatamente limitato a una CPU fisica quando si prevede di utilizzare più CPU fisiche.
È possibile usare l'opzione SQL Server maschera di affinità per modificare l'utilizzo previsto del processore fisico. A tale scopo, vedi Tabella di mapping del processore 1. Se la maschera di affinità è 00010001 e utilizza il processore 0 e il processore 4, i processori logici in uso vengono mappati al processore fisico di esempio, #0. Di conseguenza, l'uso di un singolo processore fisico supporta entrambi i processori logici anziché due processori fisici. Questa situazione probabilmente ridurrà le prestazioni.
È possibile usare una combinazione dell'opzione maschera di affinità e del parametro di avvio Maschera affinità IO per modificare il comportamento predefinito. Per altre informazioni sull'opzione maschera di affinità o sul parametro di avvio di IO Affinity Mask, vedere SQL Server libri online.
Per altre informazioni, fare clic sul numero dell'articolo seguente per visualizzare l'articolo della Microsoft Knowledge Base:
298402 Informazioni su come impostare l'opzione di affinità di I/O SQL Server
Avviso Prestare attenzione quando si stabilisce la maschera di affinità. È possibile configurare facilmente la maschera di affinità in modo non corretto usando lo stesso processore fisico per supportare due processori logici quando si intende utilizzare processori fisici separati.
Prestazioni
Le prestazioni degli ambienti iperthread variano. Test conservativo ha mostrato 10 a 20 per cento guadagni per SQL Server carichi di lavoro, ma i modelli di applicazione hanno un impatto significativo. È possibile che alcune applicazioni non ricevano un aumento delle prestazioni sfruttando l'iperthreading. Se i processori fisici sono già saturi, l'uso di processori logici può effettivamente ridurre il carico di lavoro raggiunto.
Ad esempio, le applicazioni che causano alti livelli di contesa possono causare una riduzione delle prestazioni in un ambiente iperthread. È consigliabile testare l'applicazione in modo approfondito per assicurarsi che un ambiente iperthread offra il guadagno di prestazioni desiderato rispetto all'acquisto di CPU fisiche equivalenti. L'hyper-threading può essere molto utile, ma l'hyper-threading non può sostituire tutta la potenza di una CPU fisica aggiuntiva.
I prodotti di terze parti descritti in questo articolo sono realizzati da società indipendenti da Microsoft. Microsoft non riconosce alcuna garanzia, implicita o espressa, in relazione alle prestazioni o all'affidabilità di tali prodotti.
Il sito Web Intel contiene alcune buone informazioni ed esercitazioni sull'hyper-threading (microarchitettura Intel NetBurst). Per ulteriori informazioni sui sistemi che supportano l'hyper-threading, visitare i seguenti siti Web Intel:
http://software.intel.com/en-us/blogs/2009/06/02/intel-hyper-threading-technology-your-questions-answered
http://developer.intel.com
Max grado di parallelismo (MAXDOP)
Per altre informazioni, fare clic sul numero dell'articolo seguente per visualizzare l'articolo della Microsoft Knowledge Base:
2806535 Raccomandazioni e linee guida per l'opzione di configurazione del "grado massimo di parallelismo" in SQL Server