Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
di Microsoft
Questo white paper compila i risultati di uno sforzo congiunto tra HP e il team del prodotto IIS per valutare le funzionalità di prestazioni di IIS in esecuzione nei sistemi a 8 vie di HP. Questo white paper funge anche da guida alla distribuzione che può essere usata dai clienti per configurare IIS in tali sistemi.
Abstract: questo case study descrive come distribuire e ottimizzare Microsoft IIS 8.0 Server in modalità 8 da HP.
Autori: Hewlett-Packard (HP), IIS Product Group (IIS), Microsoft Enterprise Engineering Center (CEE)
Introduzione
Il carico di lavoro server Web è in genere associato ai server di base in un modello di scalabilità orizzontale. Quando è necessaria una potenza di elaborazione aggiuntiva, al pool vengono aggiunti computer aggiuntivi. Si tratta di un modello molto comune e Microsoft Internet Information Services (IIS) ha diverse funzionalità per semplificare la configurazione e la distribuzione di un approccio di questo tipo.
In genere il modello di scalabilità orizzontale è associato ad altri carichi di lavoro, ad esempio: SQL Server. La realtà, tuttavia, è che durante il rilascio Windows Server 2012 sono stati effettuati diversi investimenti nell'infrastruttura IIS per abilitare meglio il modello di scalabilità orizzontale. A seguito di tali investimenti, IIS 8.0 può essere distribuito in modo da sfruttare tutte le caratteristiche di tali server su larga scala. Ciò consente ai clienti di liberare tutta la potenza e l'affidabilità di tali macchine.
Nell'ambito del ciclo di sviluppo Windows Server 2012, sono stati eseguiti una serie di test delle prestazioni per caratterizzare i carichi di lavoro IIS in termini di prestazioni. Tali test sono stati eseguiti su un HP DL980 G7 utilizzando le strutture di Microsoft Enterprise Engineering Center (CEE), che è la funzionalità di convalida dei clienti di Microsoft per Windows Server.
Questo white paper compila i risultati di uno sforzo congiunto tra HP e il team del prodotto IIS per valutare le funzionalità di prestazioni di IIS in esecuzione nei sistemi a 8 vie di HP. Questo white paper funge anche da guida alla distribuzione che può essere usata dai clienti per configurare IIS in tali sistemi.
Problema del cliente
In generale, l'aumento del numero di core dovrebbe comportare un aumento delle prestazioni. Quando i clienti IIS hanno distribuito le applicazioni in hardware con riconoscimento di NUMA (Non-Uniform-Memory-Access) con Windows Server 2008 R2, hanno notato che dopo un determinato punto l'aumento del numero di core ha comportato una riduzione delle prestazioni. Ciò è accaduto perché il costo della sincronizzazione della memoria software pesa i vantaggi di core aggiuntivi sull'hardware NUMA. IIS 8.0 in Windows Server 2012 risolve questo problema distribuendo in modo intelligente l'affinità di thread per i processi nell'hardware NUMA e questo modello di verifica ha consentito di identificare il sistema operativo e l'ottimizzazione di I/O di rete per garantire la scalabilità ottimale di IIS 8.0.
IIS 8,0
Internet Information Services (IIS) in Windows Server 2012 è compatibile con NUMA e fornisce la configurazione ottimale per gli amministratori IT. La sezione seguente descrive in che modo IIS 8.0 sfrutta l'hardware NUMA per garantire prestazioni ottimali.
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 l'esecuzione in un singolo 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. Questa operazione può essere eseguita impostando l'impostazione " Numero massimo processi di lavoro" su 0. Quando questa impostazione è configurata, IIS determinerà il numero di nodi NUMA disponibili nell'hardware e avvierà 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 in modo intelligente l'affinità del processo per ottenere prestazioni massime.
A seconda del carico di lavoro, l'amministratore partiziona il carico di lavoro in più processi di lavoro. Dopo che un carico di lavoro è stato partizionato correttamente, IIS 8.0 identifica il nodo NUMA più ottimale all'avvio del processo di lavoro IIS. Per impostazione predefinita, IIS seleziona il nodo NUMA con la memoria più disponibile. IIS conosce l'utilizzo della memoria da ogni nodo NUMA e usa queste informazioni per "bilanciare il carico" dei processi di lavoro IIS. Questa opzione è diversa dall'impostazione predefinita di Windows round robin e progettata appositamente per il carico di lavoro IIS.
Infine, esistono due modi diversi per configurare l'affinità per i thread da un processo di lavoro IIS a un nodo NUMA.
-
Affinità soft (impostazione predefinita)
Con l'affinità soft, se altri nodi NUMA hanno cicli disponibili, i thread di un processo di lavoro IIS possono essere pianificati in un nodo NUMA non configurato per l'affinità. 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 assegnati al nodo NUMA scelto selezionato per l'affinità usando la progettazione precedente.
Anche se l'affinità rigida può offrire prestazioni complessive migliori, la configurazione dell'affinità rigida richiede una maggiore configurazione e una comprensione più approfondita dell'hardware. Inoltre, se configurata in modo non corretto, comporta anche prestazioni più ridotte. Quindi, la configurazione predefinita è Soft Affinity.
Piattaforma HP
Informazioni di base su HP DL980 G7
DL980 G7 è il primo server HP Proliant con scalabilità orizzontale con 8 socket del processore, usando l'architettura HP PREMA che incorpora i controller di nodo con la memorizzazione nella cache della CPU intelligente e l'infrastruttura di sistema ridondante. La prima iterazione dei server DL980 G7 usava processori Intel® Xeon® serie 7500/6500 (a k.a Nehalem-EX) (SKU da 4, 6 e 8 core), socket DIMM 128 e 16 slot PCIe. La seconda versione supporta i processori Intel® Xeon® E7-8800/4800/2800 (ad esempio westmere-EX) (fino allo SKU a 10 core). Con la configurazione Intel Nehalem-EX corrente con 8 processori, ognuno con 8 core e con hyper threading abilitato, Windows Server 2008 R2 consente un totale di 128 processori logici, il supporto massimo del sistema operativo di 2 TB di RAM e 16 slot PCIe. Con processori SKU Intel Westmere-EX a 10 core e hyper threading abilitati, Windows Server 2008 R2 consente un totale di 160 processori logici per DL980 G7. E oggi, Windows Server 2012 abilita i 4 TB di RAM supportati da questa piattaforma.
Le prestazioni e le funzionalità di scalabilità di questi server basati su Intel a 8 vie con controller dei nodi di scalabilità HP superano qualsiasi elemento già esistente in Intel/AMD e soddisfino o superino le prestazioni di molte piattaforme UNIX, in modo da farlo a un prezzo notevolmente inferiore rispetto alle piattaforme UNIX. Inoltre, questi nuovi nehalem-EX & Westmere-EX sono vicini alla parità con le piattaforme UNIX rispetto alla funzionalità R.A.S impostata secondo Gartner e altri analisti del settore.
L'installazione e la configurazione di un HP DL980 differisce dai server SMP più semplici precedenti in diversi aspetti:
- Il posizionamento di schede PCIe, ad esempio HBA e schede di rete, è fondamentale
- I driver di dispositivo devono essere compatibile con Windows KGROUP e compatibile con NUMA
Anche se il supporto di server con scalabilità orizzontale di Windows Server 2012 è notevolmente migliorato, per le versioni precedenti del sistema operativo Windows e le applicazioni devono essere le versioni e le patch corrette per supportare e ridimensionare completamente la piattaforma DL980 G7.
Poiché Windows x64 Server e i relativi carichi di lavoro utente usano configurazioni con 8 o più socket, la configurazione non corretta o l'uso di queste piattaforme come HP DL980 G7 possono comportare notevoli penali per le prestazioni. Con questa configurazione a 8 processori, i driver di dispositivo non corretti o le applicazioni non compatibili con NUMA potrebbero non offrire i miglioramenti di scalabilità previsti dall'utente. Problemi tipici che possono verificarsi includono l'inondazione delle transazioni non scalabili delle interconnessioni QPI, hub IO e chipset PREMA
I team di Microsoft SQL Server, SAP e IIS hanno testato, distribuito e sottoposto a benchmarking approfonditi i propri prodotti nella DL980 G7 e ha dimostrato risultati eccellenti. HP DL980 G7 e altri sistemi a 8 processori hanno dimostrato risultati eccellenti come server di database, ma anche ora come Internet Information Server
La figura seguente illustra il diagramma a blocchi DL980 G7 e viene fornito per praticità al lettore, mentre segue le diverse opzioni di configurazione e l'ottimizzazione presentate nei paragrafi seguenti:
Opzioni di configurazione:
La DL980 G7 è disponibile in un'ampia gamma di configurazioni: sono disponibili modelli socket da 4 a 8 processori. Sono inoltre disponibili diverse configurazioni per gli slot di espansione PCI. Queste informazioni sono documentate nella Guida tecnica di HP per LA DL980
In questo documento si fa riferimento ai processori in termini di modalità di riconoscimento e descrizione di Windows, processori da 0 a 7 e nodi NUMA da 0 a 7.
DL980 G7 ha due "vassoi". La barra superiore contiene Processor 0-3 e controlla direttamente le schede I/O Main e Sub. Il vassoio inferiore contiene processore 4-7 e controlla la scheda I/O "Option" o Low Profile (LP).
La DL980 G7 ha tre schede di I/O:
- Scheda PCI principale: direttamente connessa ai processori 0-1, questa scheda fornisce 5 slot I/O PCIe Gen 2 [ 2 (x8) e 3 (x4) connettori elettrici] adatti per dispositivi PCI a larghezza di banda elevata, ad esempio schede HBA, NIC e FusionIO/SSD, connette anche i dispositivi incorporati come LAN On Motherboard (LOM -NC375i), video, controller del disco interno (smart array P410i), SATA DVD, porte USB, ...
- Scheda PCI IO secondaria (facoltativa): direttamente connessa ai processori 2-3, questa scheda fornisce 5 slot PCIe Gen2 [4 (x8) e 1 (x4) connettori elettrici] e 1 PCIe Gen 1 (x4) - ID slot 1 - (facoltativamente uno slot PCI-X - non consigliato) adatto per dispositivi a larghezza di banda elevata ad altezza completa.
- Scheda I/O low profile (LP): direttamente connessa ai processori 4-5, questa scheda fornisce 4 slot PCIe x8 e 1 x PCIe x4. Questi slot sono solo mezza altezza, le schede di rete e HBA più recenti vengono fornite con una parentesi a basso profilo che può sostituire quella standard per adattarsi a metà slot di altezza.
Impostazioni & di configurazione consigliate
RAM
Dl980 G7 ha processori estremamente potenti, ognuno contenente 2 controller di memoria ed è in grado di una velocità effettiva elevata di I/O quando è configurata correttamente. La piattaforma è configurata in modo che gli accessi alla memoria vengano distribuiti uniformemente in entrambi i controller di memoria di ogni processore. Per garantire una progettazione di sistema "bilanciata", è consigliabile almeno 512 GB di RAM, con distribuzioni più tipiche con 1 TB di RAM a maggio 2011. Una DL980 G7 con meno di 512 GB-1 TB di RAM probabilmente non è mai in grado di sfruttare i processori molto potenti a causa di RAM insufficiente. La maggior parte dei clienti osserverà una notevole diminuzione delle operazioni di I/O e un notevole miglioramento delle prestazioni di I/O e scalabilità con Windows Server 2012, grazie all'aumento della consapevolezza di I/O NUMA e ai miglioramenti del ridimensionamento NUMA in questa versione del sistema operativo Windows.
Tenere presenti i seguenti fatti di configurazione della memoria:
Solo DIMM DDR3.
Ogni processore si connette a 2 Riser di memoria, con ogni riser che supporta 1 controller di memoria e 8 connettori DIMM.
Supporta solo DIMM registrati (RDIMM). Le DIMM non memorizzate nel buffer (UDIMM) non sono supportate.
- LR o DDR3L sono supportati solo con processori Westmere-EX.
Supporta moduli DIMM a rango singolo, dual rank (DR) e quad rank (QR)
Sono supportate anche 1 GB e 2 GB di tecnologie DRAM con processori Nehalem-EX e 4 GB con processori Westmere-EX.
Le VM DIM vengono aggiunte in Quad tra 2 controller di memoria.
Supporta Advanced ECC, Online Rank Sparing e Mirroring.
Il supporto ECC di memoria include la correzione di x4 e x8 chip fail.
Rete
- Gli adattatori di rete Gigabit sono consigliati come standard. 1 Adattatori di rete Gigabit sono più probabilmente un collo di bottiglia su questi potenti sistemi.
- Ridurre il numero totale di adattatori di rete necessari per ottenere le prestazioni di rete necessarie.
- 10 Adattatori di rete Gigabit hanno migliorato notevolmente i driver di dispositivo e le opzioni di configurazione del driver di dispositivo.
- La scheda di rete HP 10 Gb NC550SFP (Intel) è stata testata e ha dimostrato di essere molto altamente performante; richiede uno slot PCIe x8 nelle schede I/O Main o Sub per raggiungere prestazioni complete.
- HP DL980s supporta fino a 4 10 GbE schede di interfaccia di rete, ad esempio NC550SFP e NC523SFP (vedere i documenti delle specifiche rapide HP DL980 per informazioni aggiornate) con un numero totale di 8 porte 10GbE.
- Per scopi di bilanciamento del carico 10 Schede Gigabit possono essere bilanciate tra le schede Main e Sub I/O. (Ad esempio: 2 x doppia porta 10G NIC sulla scheda principale e 2 x doppia porta 10G sulla scheda I/O secondaria).
- Poiché il lettore si rende conto nel foglio di ridimensionamento IIS, è consigliabile abilitare Il ridimensionamento lato ricezione (RSS) sui driver di adattamento di rete più moderni e moderni. 1 Adattatori di rete Gigabit supportano in genere solo fino a 8 anelli RSS o "Code". 10 Gigabit Adaptors supportano almeno 16 anelli/code. Il ridimensionamento lato ricezione è un meccanismo per bilanciare il offload DPC tra più processori logici. Questo evita il problema a volte visto durante un'attività di rete estremamente elevata in cui il tempo elevato del kernel viene visto su un solo processore (spesso processore logico 0 o 1, ma non sempre). Nota: l'implementazione RSS per Windows Server 2008 R2 copre solo processori logici nel primo KGROUP di Windows (KGROUP#0) ma questa restrizione è stata eliminata con Windows Server 2012 e diversi driver in arrivo lo supportano per la prima installazione.
HBA & I/O
- Per le applicazioni I/O ad archiviazione elevata, installare almeno 2 x doppia porta HBA, le configurazioni più comuni sono 4 x doppia HBA.
- È importante che tutte le porte HBA siano connesse e attive. Se il software MPIO mul deve essere installato e configurato correttamente. Il bilanciamento automatico del carico (ALB) è consigliato per LA serie HP EVA SAN.
- I diversi modelli HBA hanno impostazioni diverse e diversi modelli SAN hanno diverse funzionalità, ma come indicazioni generali è consigliabile:
- Emulex : impostare la profondità della coda HBA su circa 64-254 in "OC Manager/HBA Anywhere" nella maggior parte delle configurazioni
- QLogic : impostare La limitazione dell'esecuzione su 64-96 in "SanSurfer"
- Brocade - Profondità coda è documentata nella Guida all'Amministrazione Brocade
- Le schede HBA devono essere posizionate in tutti i 3 hub IO in base alle caratteristiche dell'interfaccia PCIe. Si tenderà sempre a inserire una scheda x8 in uno slot x8 per trarre vantaggio dalle sue funzionalità complete e bilanciare il carico nel sistema.
Nota speciale sui dispositivi FusionIO (in genere applicabile ad altre schede SSD):
FusionIO (schede di acceleratore HP IO) e OCZ offrono un accesso ultra rapido (fino a 10.000 volte più veloce rispetto ai dischi meccanici). Finora sono stati eseguiti test estesi solo con schede FusionIO. I risultati sono stati eccezionali forniti i seguenti:
Almeno, usare FusionIO 2.2.3 o versione successiva del driver di dispositivo - K-Group Aware (disponibile dal sito Web FusionIO).
Posizionare la scheda FusionIO solo sulla scheda Main o SubIO: non sono schede a basso profilo. Gli slot I/O consigliati sono: 3, 5, 9 e 11.
Se si usano più di 4 acceleratori di I/O HP, le modifiche devono essere apportate all'interno del BIOS per consentire un maggiore raffreddamento e è necessario considerare cavi di alimentazione esterni o usare la funzionalità di override dell'alimentazione FusionIO con VSL 3.x e consentire l'origine di potenza aggiuntiva dallo slot PCIe.
Lo stack FusionIO corrente richiede ancora miglioramenti alla scalabilità e FusionIO sta ancora lavorando su di essi. Nel frattempo, si noti che con un numero maggiore di schede I/O fusion in questo sistema, abbiamo eseguito il push di oltre 1 milione di IP e superiori a 16 GB/s. Con l'implementazione corrente del driver FusionIO, è possibile trovare:
- Utilizzo molto elevato del processore in un subset dei processori logici. Ciò è correlato al fatto che gli HBA di FusionIO correnti non supportano MSI-X e ogni HBA invia interruzioni a un singolo processore logico. Inoltre, l'implementazione corrente supporta un thread di lavoro di completamento DPC e FusionIO solo per ogni HBA. Per il ridimensionamento estremamente impegnativo dei carichi di lavoro di I/O, l'utente è quasi previsto identificando questi processori logici controllando gli utilizzi della CPU al 100% o al 100% su questi processori logici specifici. FusionIO ha reso disponibili parametri di configurazione per attenuare parzialmente questa operazione consentendo la specifica dei processori logici da dedicare per queste attività. In questi tempi elevati di cpu I/O è possibile usare una maschera di affinità a livello di applicazione per evitare questi processori logici.
- Velocità effettiva I/O non bilanciata. Le migliori prestazioni di I/O vengono ottenute generando richieste di lettura/scrittura nello stesso socket del thread di completamento FusionIO. Il BIOS DL980 G7 fornisce NUMAness IO al sistema operativo Windows e ai relativi componenti I/O: storport e ndis/netio per i miniport da usare e ottimizzare.
- Modifiche alla velocità effettiva a causa dell'impatto della pulizia dell'SSD, problema visto con le generazioni precedenti e correnti di SSD.
BIOS
È consigliabile modificare i valori predefiniti seguenti nel BIOS DL980 G7 per IIS:
NOME IMPOSTAZIONE | IMPOSTAZIONE CONSIGLIATA | IMPOSTAZIONE PREDEFINITA |
---|---|---|
HP Power Profile | Personalizzato | (Alimentazione bilanciata predefinita & perf) |
HP Power Regulator | Modalità di controllo del sistema operativo | (modalità di risparmio energia dinamica HP predefinita) |
Processore HyperThreading | Fare riferimento al paragrafo seguente sul tipo di carichi di lavoro IIS 8.0 e sull'impatto di HyperThreading | Attivato |
Min Processor Idle Pwr State | Nessun C-States (nessun risparmio di potenza processore) o C1e (per ottenere ancora prestazioni di potenza processore e prestazioni adeguate) | (stato C6 predefinito) |
Limite di potenza della memoria | Disabled | (abilitata per impostazione predefinita) |
Controllo alimentazione collaborativa | Disabled | (abilitata per impostazione predefinita) |
Modalità tabella MPS | APIC tabella completa | (predefinito) |
Modalità indirizzo a 44 bit | Attivato | (disabilitato predefinito) |
Configurazione termica | maggiore raffreddamento o anche "max fan -(blowout), se si usa un sacco di acceleratori HP IO/Fusion IO HBAs. | (raffreddamento ottimale) |
Debug di Windows: Stato asR (disabilitato quando non è collegato alcun debugger) | Disabilitato se il debugger del sistema operativo è collegato. | (abilitata per impostazione predefinita) |
Debug di Windows: interfaccia della riga di comando iLO (dalla sessione iLO) | Disabilitato se il debugger del sistema operativo è collegato. | (abilitata per impostazione predefinita) |
Con le piattaforme DL980 G7, Windows Server 2012 cambierà automaticamente i processori e IOH in modalità x2APIC e con la modalità di recapito degli interruzioni fisiche. Per abilitare x2APIC con Windows Server 2008 R2 SP1 per migliorare il ridimensionamento di I/O, è necessario installare diversi QFEs windows nella piattaforma e un comando BCDEDIT Opt-In aggiuntivo da eseguire. L'abilitazione di x2APIC e la specifica delle QFEs vengono presentate nel database di Microsoft Knowledge
Firmware
È fondamentale che il firmware per i componenti seguenti venga aggiornato alla versione più recente disponibile, ad esempio, molti miglioramenti di IO NUMA sono stati aggiunti nella versione di ottobre 2012.
- SISTEMA DL980 G7
- Schede HBA
- Schede di rete
- Schede FusionIO (se usate)
È consigliabile verificare il firmware di questi componenti nel sito Web del supporto HP DL980.
Versioni di Windows & Configurazione
Nell'ambito dell'offerta Mission Critical per i clienti Windows, HP ha un CD QFE smart update per configurare e ottimizzare automaticamente Windows con i QFE di Microsoft critici più recenti: https://www.hpe.com/us/en/servers/smart-update.html. Questi aggiornamenti e ottimizzazione sono stati implementati con Microsoft e convalidati nel laboratorio HP DL980. HP consiglia ai clienti di eseguire questi aggiornamenti.
- Windows Server 2012 : le impostazioni iis per la modalità kernel, la gestione della cache, la gestione delle richieste e la connessione e la modalità utente non sono state modificate da Windows Server 2008 R2, fare riferimento alle ottimizzazioni specifiche di IIS descritte nel documento "Linee guida per l'ottimizzazione delle prestazioni per Windows Server 2008 R2". .
- Per Windows 2008 R2, è consigliabile SP1 o versione successiva. Service Pack 1 contiene molte correzioni critiche per le prestazioni per > il supporto di 64 processori logici.
- Windows 2008 non può supportare correttamente l'indirizzamento a 44 bit e non deve essere installato in DL980 G7. Se per qualche motivo Windows 2008 (versione non R2) viene distribuito in DL980 sia hyper threading che memoria a 44 bit deve essere disabilitato, il sistema è quindi limitato a 64 processori logici e 1 TB di RAM. Windows Server 2008 SP2 è l'unica versione supportata di Windows Server 2008 Server in HP DL980 G7. Se Windows Server 2008 è ancora necessario, fare riferimento al sito Web del supporto HP e all'organizzazione per l'elenco completo di QFE di Windows per Windows Server 2008 SP2 in HP DL980 G7.
Metodologia di test
Scenario di test
L'obiettivo di questo test è testare la scalabilità del server IIS aumentando al tempo stesso il numero di core/socket CPU su hardware compatibile con NUMA:
- Una semplice pagina di test dinamica ASP.net viene usata come contenuto del sito Web
- Lo strumento WCAT (Web Capacity Analysis Tool) viene usato per generare richieste HTTP
- Un'utilità HP Core Disable viene usata per ridurre le prestazioni del server disabilitando i socket & core CPU, rispettando al tempo stesso la configurazione di I/O
L'ambiente di test illustra come l'applicazione Web ASP.NET viene ridimensionata in un server con hardware NUMA che esegue IIS 8.0. L'obiettivo è sottolineare il server per determinare il numero di richieste al secondo elaborate dalla distribuzione in corrispondenza o quasi al 100% dell'utilizzo della CPU.
La configurazione seguente è stata usata per misurare le prestazioni di IIS
- Web Garden (1xN) - Pool di applicazioni singolo, un processo per socket. Questo rappresenta lo scenario Enterprise in cui una singola applicazione deve aumentare le prestazioni.
- Hosting (Nx1): un pool di applicazioni per socket, un processo per ogni pool di applicazioni. Rappresenta lo scenario di hosting, in cui più applicazioni sono ospitate in un singolo server.
- Impostazione predefinita (1x1): un pool di applicazioni e un processo indipendentemente dal numero di socket. Rappresenta la configurazione predefinita.
I test sono stati ripetuti per 20/40/80 core (socket del processore 2/4/8). Sono stati eseguiti anche test aggiuntivi per 180 core (Hyper Threading abilitato) per vedere in che modo IIS trae vantaggio da HT.
Impostazione del test
Server
Sono stati usati un totale di 6 computer per eseguire test
- 4 computer che funzionano come client WCAT (impostazioni WCAT: 100 client virtuali per client fisici)
- 1 computer che funziona come controller WCAT
- 1 HP9L980G7 come server IIS 8.0
Rete
L'ambiente di test è stato configurato con quattro computer client e un server. Ognuno dei computer client ha usato quattro schede di interfaccia di rete da 1 Gb. Il server ha usato sedici schede di interfaccia di rete da 1 GB. Sono state configurate sedici subnet, associando ogni scheda di interfaccia di rete client a una scheda di interfaccia di rete del server univoca.
Impostazioni RSS
Le prestazioni di rete nel server sono state ottimizzate usando le impostazioni RSS.
Per garantire che il traffico ricevuto in una determinata scheda di interfaccia di rete venga elaborato da un core nello stesso hub di I/O della scheda di interfaccia di rete, ogni scheda di interfaccia di rete è stata associata a un nodo NUMA nello stesso hub di I/O usando l'impostazione NumaNode.
Il numero totale di code RSS in tutte le schede di interfaccia di rete è stato reso uguale al numero totale di processori logici nel computer. Questa operazione è stata eseguita impostando NumberOfReceiveQueues per ogni scheda di interfaccia di rete.
Le code RSS in ogni scheda di interfaccia di rete sono state quindi mappate a un set specifico di core nel nodo NUMA assegnato usando le impostazioni BaseProcessorNumber e MaxProcessors.
Risultati
Il grafico seguente acquisisce il modo in cui le prestazioni di IIS (numero di richieste elaborate al secondo) cambiano con un aumento dei core CPU.
Aumento del numero di core CPU da 20 a 40 (da 2 socket a 4 socket):
I numeri di 20 core vengono considerati come baseline. Quando il numero di CPU è aumentato da 20 a 40, è stato osservato un aumento del 67% delle richieste elaborate nello scenario di hosting Web, l'aumento del 41% nello scenario web garden e la diminuzione del 2% nello scenario predefinito. Ciò indica che gli scenari di hosting e giardino Web sono in grado di trarre vantaggio dalla maggior parte dai core CPU aumentati. La configurazione predefinita non è in grado di sfruttare i vantaggi delle CPU aumentate perché il singolo processo non può essere ridimensionato per sfruttare i vantaggi dell'hardware NUMA.
Confronto tra 80 core e 40 core
Si è notato una tendenza simile dopo l'aumento del numero di core da 40 a 80. Lo scenario di hosting è stato in grado di elaborare il 64% di richieste in più e lo scenario web garden ha elaborato il 31% più richieste. Le prestazioni di configurazione predefinite sono ulteriormente ridotte del 3%.
Impatto dell'hyperthreading
Dopo aver abilitato Hyperthreading, la configurazione dell'hosting ha elaborato il 18% di richieste in più. La configurazione di Web Garden ha elaborato meno richieste del 4% mentre la configurazione predefinita ha elaborato il 3% di richieste in più. In genere HT può comportare prestazioni fino al 20% migliori. La configurazione dell'hosting è in grado di sfruttare al meglio HT.
Riepilogo
IIS 8.0 è compatibile con l'hardware NUMA ed è in grado di ridimensionare in modo positivo l'hardware NUMA a differenza delle versioni precedenti di IIS.
La velocità effettiva di IIS 8.0 è aumentata del 67% sull'aumento dei socket DELLA CPU da 2 a 4 e l'aumento del 64% dei socket CPU da 4 a 8. L'abilitazione di HyperThreading ha comportato un'ulteriore velocità effettiva del 18%.
HP Proliant DL980-G7 offre una piattaforma solida per la distribuzione di applicazioni IIS complesse, offrendo scalabilità delle applicazioni con una soluzione di consolidamento dei server in una piattaforma con maggiore affidabilità HW, disponibilità e gestibilità.
I clienti che desiderano ridimensionare le distribuzioni IIS devono prendere in considerazione la distribuzione di IIS in hardware compatibile con NUMA e trarre vantaggio da entrambe le opzioni di aumento delle prestazioni & scalabilità orizzontale.
Altre caratteristiche iis 8.0 con la distribuzione di HyperV Server 2012 in HP DL980-G7 vengono considerate e questi risultati verranno condivisi anche.
Appendice
PowerShell
Sfondo
Tradizionalmente, ogni processore in un sistema multi-socket accede alla memoria e all'I/O tramite lo stesso bus. È sempre più comune che i sistemi su larga scala usino NUMA (accesso non uniforme alla memoria) per evitare colli di bottiglia del bus. In questo modello, parti diverse di I/O e memoria sono connesse a socket diversi, il che significa che le prestazioni delle operazioni di I/O e memoria sono influenzate dalla chiusura del socket a alcune parti della memoria e dell'I/O.
Receive Side Scaling (RSS) consente l'elaborazione della rete ricevuta da più processori.
Configurazione dell'affinità RSS
A partire da Windows Server 2012, è possibile configurare l'affinità RSS in un determinato nodo NUMA usando PowerShell. Il team core networking ha svolto un ottimo lavoro per fornire un set di cmdlet che forniscono il controllo completo sullo stack RSS.
In particolare, l'affinità NUMA può essere configurata usando il cmdlet Set-NetAdapterRSS seguente. Questo cmdlet accetta alcuni parametri correlati alla topologia hardware del server. I parametri sono: BaseProcessorGroup, BaseProcessorNumber, MaxProcessors e NumaNode.
Esistono due modi per raccogliere i valori di tali proprietà: Manuale e tramite PowerShell.
Per configurare correttamente le impostazioni di affinità NUMA, è fondamentale identificare la connessione fisica di una scheda di rete a un determinato nodo NUMA.
Raccolta manuale delle informazioni sulla topologia
Attualmente, questo processo che comprende i passaggi seguenti:
- Individuare la scheda di rete di destinazione usando il Pannello di controllo\Rete e Internet\Connessioni di rete. Proprietà di interesse per il passaggio successivo "Nome dispositivo" come illustrato nello screenshot seguente.
- Individuare la scheda di interfaccia di rete tramite Gestione dispositivi. Per questo si usa la proprietà "Device Name" raccolta nel passaggio precedente.
- Richiamare la finestra di dialogo delle proprietà per la scheda di interfaccia di rete specificata. Nella scheda "Generale" verranno visualizzati i numeri di slot, dispositivo e funzione per una scheda di interfaccia di rete specificata.
- Con le informazioni sul bus, è possibile identificare in quale nodo NUMA la scheda di interfaccia di rete è connessa correlando queste informazioni al diagramma della topologia hardware, come indicato nella sezione "Hardware" precedente.
Raccolta della topologia hardware tramite PowerShell
Le informazioni sulla topologia hardware che è possibile usare per impostare i valori di affinità RSS corretti possono essere ottenute usando l'esempio di cmdlet di PowerShell Gestione dispositivi disponibile in TechNet Gallery (https://gallery.technet.microsoft.com/Device-Management-7fad2388). Questo esempio fornisce cmdlet per enumerare, controllare e gestire i dispositivi.
Il modulo espone attualmente i cmdlet seguenti:
- Get-Device
- Get-Driver
- Get-Numa
- Enable-Device
- Disable-Device
Elencare i dispositivi & informazioni sulla topologia NUMA
Get-Device | Sort-Object -Nome proprietà | ft Name, NumaNode, UINumber -AutoSize
Processore logico e informazioni NUMA
Get-Numa
Tabelle del firmware
$hardwareTopology = Get-Numa; $hardwareTopology
WCAT
Web Capacity Analysis Tool (WCAT) è uno strumento di generazione di carico HTTP leggero progettato principalmente per misurare le prestazioni di un server Web all'interno di un ambiente controllato. WCAT può simulare migliaia di utenti simultanei che effettuano richieste a un singolo sito Web o a più siti Web.
È possibile trovare all'indirizzo https://www.iis.net/downloads/community/2007/05/wcat-63-(x86)
Informazioni
Gruppo di prodotti IIS
Il team IIS di Microsoft è responsabile della spedizione del server IIS come parte di Windows Server. Questo team rilascia anche e gestisce vari prodotti correlati trovati @ https://www.iis.net/downloads.
Hewlett-Packard (HP)
Hewlett-Packard Company (HP) una società multinazionale americana con sede a Palo Alto, California, Stati Uniti. Fornisce prodotti, tecnologie, software, soluzioni e servizi ai consumatori, piccole e medie imprese e grandi imprese, inclusi i clienti nei settori di governo, salute e istruzione. HP è la società leader del mondo nei ricavi e nelle unità di Microsoft Windows in tutto il mondo (IDC Worldwide Server Tracker for 2Q12, Agosto 2012). All'interno della sua divisione HP business critical Server, il lab Mission Critical Windows Engineering ha oltre un decennio di ingegneria congiunta per offrire soluzioni Microsoft Windows e SQL Server affidabili. Con questo progetto di scalabilità IIS, il team ha lavorato strettamente con il team di Microsoft IIS per garantire una scalabilità e prestazioni ottimali.
CEE
Microsoft Enterprise Engineering Center (CEE) deve la sua esistenza a una semplice idea: per fornire ai clienti Microsoft il più grande laboratorio di convalida e collaborazione.
La CEE è dotata di hardware di classe mondiale e personale con un team incredibilmente talentuoso e appassionato. Poiché si trova nel campus Redmond (all'epicenter dei team di sviluppo dei prodotti Microsoft) siamo in grado di riunire i clienti, i partner e i tecnici del gruppo di prodotti Microsoft per convalidare le soluzioni aziendali di domani.