Ridimensionamento multicore di IIS 8.0 su hardware NUMA
Compatibilità
Versione | Note |
---|---|
IIS 8,0 | Il ridimensionamento multicore in NUMA è stato introdotto in IIS 8.0. |
IIS 7,5 | Il ridimensionamento multicore in NUMA non è supportato in IIS 7.5. |
IIS 7.0 | Il ridimensionamento multicore in NUMA non è supportato in IIS 7.0. |
Problema
In generale, l'aumento del numero di core dovrebbe comportare un aumento delle prestazioni. Tuttavia, si verifica un punto in cui l'aumento dei core numerici può comportare una riduzione delle prestazioni perché il costo della sincronizzazione della memoria supera i vantaggi dell'hardware NUMA con core aggiuntivi. IIS 8.0 risolve questo problema distribuendo e affinizzando in modo intelligente i processi nell'hardware NUMA (Non-Uniform-Memory-Access).
Soluzione
Internet Information Services (IIS) in Windows Server 2012 è compatibile con NUMA e fornisce la configurazione ottimale per gli amministratori IT. La sezione seguente descrive le diverse opzioni di configurazione per ottenere prestazioni ottimali con IIS 8.0 nell'hardware NUMA.
IIS supporta i due modi seguenti per partizionare il carico di lavoro:
- Eseguire più processi di lavoro in un pool di applicazioni ,ad esempio web garden: se si usa questa modalità, per impostazione predefinita, il pool di applicazioni è configurato per eseguire un processo di lavoro. Per ottenere prestazioni ottimali, è consigliabile eseguire lo stesso numero di processi di lavoro in cui sono presenti nodi NUMA, in modo che sia presente un'affinità 1:1 tra i processi di lavoro e i nodi NUMA. A tale scopo, impostare "Numero massimo processi di lavoro" AppPoolsetting su 0. In questa impostazione, IIS determina il numero di nodi NUMA disponibili nell'hardware e avvia lo stesso numero di processi di lavoro.
- Eseguire più pool di applicazioni in un singolo carico di lavoro/sito: in questa configurazione il carico di lavoro/sito è suddiviso in più pool di applicazioni. Ad esempio, il sito può contenere diverse applicazioni configurate per l'esecuzione in pool di applicazioni separati. In effetti, questa configurazione comporta l'esecuzione di più processi di lavoro IIS per il carico di lavoro/sito e IIS distribuisce e affinizza in modo intelligente i processi per ottenere prestazioni massime.
Inoltre, esistono due modi diversi per IIS 8.0 per identificare il nodo NUMA più ottimale quando il processo di lavoro IIS sta per essere avviato.
- Memoria disponibile (impostazione predefinita): l'idea alla base di questo approccio è che il nodo NUMA con la memoria più disponibile è quello più adatto per affrontare il processo di lavoro IIS aggiuntivo che sta per iniziare. IIS conosce l'utilizzo della memoria da ogni nodo NUMA e usa queste informazioni per "bilanciare il carico" dei processi di lavoro IIS.
- Windows: IIS ha anche la possibilità di consentire al sistema operativo Windows di prendere questa decisione. Il sistema operativo Windows usa round robin.
Infine, esistono due modi diversi per affinizzare i thread da un processo di lavoro IIS a un nodo NUMA.
- Affinità temporanea (impostazione predefinita): con affinità soft, se altri nodi NUMA hanno i cicli, i thread di un processo di lavoro IIS possono essere pianificati in un nodo NUMA non affinizzato. Questo approccio consente di ottimizzare tutte le risorse disponibili nel sistema nel suo complesso.
- Affinità rigida: con affinità rigida, indipendentemente dal carico che può trovarsi in altri nodi NUMA nel sistema, tutti i thread di un processo di lavoro IIS vengono affinizzati con il nodo NUMA scelto selezionato usando la progettazione precedente.
Istruzioni dettagliate
Prerequisiti
- IIS è installato in Windows Server 2012.
- Il modello di processo IIS fa parte della configurazione del pool di applicazioni IIS. Non è presente alcuna funzionalità IIS specifica che deve essere installata da Server Manager.
Soluzioni alternative per i bug noti
Al momento non sono presenti bug noti per questa funzionalità.
Procedura di configurazione
- Aprire Gestione IIS.
- Selezionare Pool di applicazioni nella finestra di spostamento a sinistra:
- Selezionare Pool di app:
- Nel riquadro Azioni selezionare Impostazioni avanzate:
- In Gruppo modello di processo individuare l'impostazione Numero massimo processi di lavoro .
- Impostare questo valore su 0.
La logica di selezione NUMA ottimale e il tipo di affinità sono disponibili anche in Impostazioni avanzate. Tuttavia, vengono visualizzati solo se IIS è in esecuzione nell'hardware NUMA.
Scenari
Eseguire test delle prestazioni nell'hardware NUMA prima e dopo l'aggiornamento a Windows Server 2012. Confrontare i risultati delle prestazioni per visualizzare i miglioramenti.
Riepilogo
È stato esaminato correttamente il ridimensionamento multicore iis per la funzionalità hardware NUMA in Windows Server 2012.