Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
von Microsoft
Dieses Whitepaper kompiliert die Ergebnisse aus einem gemeinsamen Aufwand zwischen HP und dem IIS-Produktteam, um die Leistungsfähigkeiten von IIS zu bewerten, die auf den 8-Wege-Systemen von HP ausgeführt wird. Dieses Whitepaper dient auch als Bereitstellungsführungslinie, das von Kunden zum Konfigurieren von IIS auf solchen Systemen verwendet werden kann.
Zusammenfassung: In dieser Fallstudie wird beschrieben, wie Microsoft IIS 8.0 Server auf 8-Wege-Systemen von HP bereitgestellt und optimiert wird.
Autoren: Hewlett-Packard (HP), IIS Produktgruppe (IIS), Microsoft Enterprise Engineering Center (EEC)
Einführung
Die Webserverarbeitsauslastung ist in der Regel mit handelsüblichen Servern in einem horizontalen Skalierungsmodell verbunden. Wenn zusätzliche Verarbeitungsleistung erforderlich ist, werden dem Pool zusätzliche Computer hinzugefügt. Dies ist ein sehr gängiges Modell, und Microsoft Internetinformationsdienste (IIS) verfügen über mehrere Funktionen, um einen solchen Ansatz einfach zu konfigurieren und bereitzustellen.
In der Regel ist das Skalierungsmodell anderen Workloads zugeordnet, z. B. SQL Server. Die Realität ist jedoch, dass während der Windows Server 2012-Version mehrere Investitionen in die IIS-Infrastruktur getätigt wurden, um das Skalierungsmodell besser zu ermöglichen. Dank dieser Investitionen kann IIS 8.0 auf eine Art und Weise eingesetzt werden, die alle Eigenschaften eines solchen Großservers ausnutzt. So können die Kunden die gesamte Leistung und Zuverlässigkeit dieser Computer nutzen.
Im Rahmen des Windows Server 2012-Entwicklungszyklus wurden eine Reihe von Leistungstests durchgeführt, um die IIS-Workloads hinsichtlich der Leistung zu charakterisieren. Diese Tests wurden auf einem HP DL980 G7 in den Einrichtungen des Enterprise Engineering Center (EEC) von Microsoft durchgeführt, der Kundenvalidierungseinrichtung von Microsoft für Windows Server.
Dieses Whitepaper kompiliert die Ergebnisse aus einem gemeinsamen Aufwand zwischen HP und dem IIS-Produktteam, um die Leistungsfähigkeiten von IIS zu bewerten, die auf den 8-Wege-Systemen von HP ausgeführt wird. Dieses Whitepaper dient auch als Bereitstellungsführungslinie, das von Kunden zum Konfigurieren von IIS auf solchen Systemen verwendet werden kann.
Das Kundenproblem
Im Allgemeinen sollte die Erhöhung der Anzahl der Kerne zu einer erhöhten Leistung führen. Als IIS-Kunden ihre Anwendungen auf NUMA (nicht einheitlicher Speicherzugriff, Non-Uniform-Memory-Access)-fähiger Hardware mit Windows Server 2008 R2 implementierten, stellten sie fest, dass ab einem bestimmten Punkt eine steigende Anzahl von Kernen zu Leistungseinbußen führte. Dies geschah, weil die Kosten der Softwarespeichersynchronisierung die Vorteile zusätzlicher Kerne auf NUMA-Hardware überwiegen. IIS 8.0 in Windows Server 2012 geht dieses Problem an, indem es die Threadaffinität für Prozesse auf NUMA-Hardware intelligent verteilt. Dieser Machbarkeitsnachweis hat es ermöglicht, das Betriebssystem und das Netzwerk-E/A-Tuning zu identifizieren, um die optimale Skalierbarkeit von IIS 8.0 zu gewährleisten.
IIS 8.0
Internetinformationsdienste (INTERNET Information Services, IIS) unter Windows Server 2012 sind NUMA-fähig und bieten den IT-Administratoren die optimale Konfiguration. Im folgenden Abschnitt wird beschrieben, wie IIS 8.0 die NUMA-Hardware nutzt, um eine optimale Leistung zu erzielen.
IIS unterstützt die folgenden zwei Arten der Partitionierung der Workload:
- Führen Sie mehrere Arbeitsprozesse in einem Anwendungspool aus (z. B. Web Garden).
Wenn Sie diesen Modus verwenden, ist der Anwendungspool standardmäßig so konfiguriert, dass er in einem einzigen Arbeitsprozess ausgeführt wird. Für maximale Leistung sollten Sie die gleiche Anzahl von Arbeitsprozessen wie NUMA-Knoten ausführen, sodass zwischen den Arbeitsprozessen und NUMA-Knoten eine Affinität von 1:1 besteht. Dazu können Sie die AppPool-Einstellung „Maximale Arbeitsprozesse“ auf 0 festlegen. Wenn diese Einstellung konfiguriert ist, bestimmt IIS, wie viele NUMA-Knoten auf der Hardware verfügbar sind und startet dieselbe Anzahl von Arbeitsprozessen. - Führen Sie mehrere Anwendungspools in einer einzigen Workload/Site aus.
In dieser Konfiguration wird die Workload/Site in mehrere Anwendungspools unterteilt. Beispielsweise kann die Site mehrere Anwendungen enthalten, die für die Ausführung in separaten Anwendungspools konfiguriert sind. Effektiv führt diese Konfiguration dazu, dass mehrere IIS-Arbeitsprozesse für die Workload/Site ausgeführt werden und IIS die Prozessaffinität für maximale Leistung intelligent verteilt.
Je nach Workload partitioniert der Administrator die Arbeitsauslastung in mehrere Arbeitsprozesse. Sobald eine Workload ordnungsgemäß partitioniert ist, identifiziert IIS 8.0 den optimalen NUMA-Knoten, wenn der IIS-Arbeitsprozess gestartet werden soll. Standardmäßig wählt IIS den NUMA-Knoten mit dem verfügbarsten Arbeitsspeicher aus. IIS verfügt über das Wissen über die Arbeitsspeichernutzung durch jeden NUMA-Knoten und verwendet diese Informationen zum „Vornehmen eines Lastenausgleichs“ der IIS-Arbeitsprozesse. Diese Option unterscheidet sich von der Windows-Standardeinstellung von Rundlaufverfahren (Roundrobin) und speziell für IIS-Workload entwickelt.
Schließlich gibt es zwei verschiedene Möglichkeiten, die Affinität für Threads von einem IIS-Arbeitsprozess auf einen NUMA-Knoten zu konfigurieren.
- Sanfte Affinität (Standard)
Wenn andere NUMA-Knoten Zyklen verfügbar sind, werden die Threads aus einem IIS-Arbeitsprozess möglicherweise auf einen NUMA-Knoten geplant, der nicht für die Affinität konfiguriert wurde. Dieser Ansatz trägt dazu bei, alle verfügbaren Ressourcen des Systems als Ganzes zu maximieren. - Feste Zugehörigkeit
Bei fester Zugehörigkeit werden alle Threads eines IIS-Arbeitsprozesses unabhängig von der Auslastung der anderen NUMA-Knoten im System dem NUMA-Knoten zugewiesen, der nach dem obigen Muster für die Affinität ausgewählt wurde.
Obwohl die feste Zugehörigkeit eine bessere Gesamtleistung bieten kann, erfordert die Einrichtung von fester Zugehörigkeit mehr Konfiguration und ein tieferes Verständnis der Hardware. Wenn die Konfiguration nicht ordnungsgemäß konfiguriert ist, führt dies auch zu einer schlechteren Leistung. Die Standardkonfiguration ist also Soft Affinity (weiche Affinität).
HP-Plattform
Hintergrund auf HP DL980 G7
DL980 G7 ist der erste HP Proliant Scale-up-Server mit 8 Prozessorsockets, wobei die HP PREMA-Architektur mit Knotencontrollern mit intelligenter CPU-Zwischenspeicherung und redundanter Systemstruktur verwendet wird. Die erste Iteration der DL980 G7-Server verwendete Intel® Setting-Prozessor® 7500/6500-Prozessoren (a.k.a Nehalem-EX)-Prozessoren (4-, 6- und 8-Core-SKUs), 128 DIMM-Sockets und 16 PCIe-Steckplätze. Die zweite Version unterstützt den Intel® Omer-Prozessor® E7-8800/4800/2800 (a.k.a Westmere-EX)-Prozessoren (bis zur SKU mit 10 Kernen). Mit der aktuellen Intel Nehalem-EX-Konfiguration mit 8 Prozessoren, jeweils mit 8 Kernen und mit aktiviertem Hyperthreading, ermöglicht Windows Server 2008 R2 insgesamt 128 logische Prozessoren, die maximale Betriebssystemunterstützung von 2 TB RAM und die 16 PCIe-Steckplätze. Mit Intel Westmere-EX 10-Core-SKU-Prozessoren und aktiviertem Hyperthreading ermöglicht Windows Server 2008 R2 insgesamt 160 logische Prozessoren für die DL980 G7. Und heute ermöglicht Windows Server 2012 den 4 TB RAM dieser Plattform.
Die Leistungsfähigkeit und Skalierbarkeit dieser 8-Wege-Intel-basierten Server mit HP-Skalierbarkeitsknotencontrollern übersteigen alles, was zuvor auf Intel/AMD vorhanden war, und erfüllt oder überschreitet die Leistung vieler UNIX-Plattformen, und das zu einem deutlich niedrigeren Preis als UNIX-Plattformen. Darüber hinaus sind diese neuen Nehalem-EX & Westmere-EX laut Gartner und anderen Branchenanalysten in Bezug auf die R.A.S.-Funktionen nahezu gleichauf mit UNIX-Plattformen.
Die Installation und Konfiguration eines HP DL980 unterscheidet sich in mehrfacher Hinsicht von früheren, einfacheren SMP-Servern:
- Die Platzierung von PCIe-Karten wie HBA und Netzwerkkarten ist von entscheidender Bedeutung
- Gerätetreiber müssen Windows KGROUP-fähig und NUMA-fähig sein
Während die Unterstützung von Skalierungsservern von Windows Server 2012 erheblich verbessert wird, müssen für die früheren Windows-Betriebssystemversionen und Anwendungen die richtigen Versionen und Patches verwendet werden, um die DL980 G7-Plattform vollständig zu unterstützen und zu skalieren.
Da Windows x64 Server und seine Benutzerworkloads Konfigurationen mit 8 oder mehr Sockets verwenden, kann eine falsche Konfiguration oder Verwendung dieser Plattformen wie der HP DL980 G7 zu erheblichen Leistungseinbußen führen. Bei dieser Konfiguration mit 8 Prozessorn liefern falsche Gerätetreiber oder nicht NUMA-fähige Anwendungen möglicherweise nicht die Skalierbarkeitsgewinne, die der Benutzer erwartet hat. Typische Probleme, die auftreten könnten, umfassen das Überfluten der nicht skalierbaren Transaktionen, die QPI-, E/A-Hub- und PREMA-Chipsätze verbinden
Die Microsoft SQL Server-, SAP- und IIS-Teams haben ihre Produkte auf dem DL980 G7 ausgiebig getestet, implementiert und Benchmarks durchgeführt und dabei hervorragende Ergebnisse erzielt. Die HP DL980 G7 und andere 8-Prozessor-Systeme haben hervorragende Ergebnisse als Datenbankserver, aber auch als Internetinformationsserver gezeigt
Die folgende Abbildung veranschaulicht das DL980 G7-Blockdiagramm und soll dem Leser helfen, da er den verschiedenen Konfigurationsoptionen und Optimierungen folgt, die in den folgenden Absätzen dargestellt sind:
Konfigurationsoptionen:
Die DL980 G7 wird in einer Vielzahl von Konfigurationen ausgeliefert: 4 und 8 Prozessor-Socketmodelle sind verfügbar. Darüber hinaus gibt es verschiedene Konfigurationen für PCI-Erweiterungsmodule. Diese sind in der Technischen Referenzführungslinie für HP für die DL980 dokumentiert
In diesem Dokument beziehen wir uns auf Prozessoren in Bezug darauf, wie Windows sie erkennt und beschreibt, Prozessoren 0 - 7 und NUMA-Knoten 0 - 7.
DL980 G7 hat zwei „Trays“. Die obere Taskleiste enthält Prozessor 0-3 und steuert direkt die Haupt- und Unter-E/A-Boards. Die untere Taskleiste enthält Prozessor 4-7 und steuert das E/A-Board „Option“ oder Low Profile (LP).
Die DL980 G7 verfügt über drei E/A-Boards:
- Haupt-PCI-Board – Direkt an Prozessoren 0-1 angeschlossen, bietet dieses Board 5x PCIe Gen 2 E/A-Steckplätze [ 2 (x8) und 3 (x4) elektrische Konnektoren] geeignet für hohe Bandbreite PCI-Geräte wie volle Höhe-HBA, NIC und FusionIO/SSD Karten Es verbindet auch die eingebetteten Geräte wie die LAN On-Hauptplatine (LOM -NC375i), Video, interne Datenträgercontroller (Smart Array P410i), SATA DVD, USB-Anschlüsse, ...
- Sub-E/A-PCI-Board (optional) – Direkt an Prozessoren 2-3 angeschlossen, bietet dieses Board 5 PCIe Gen2 Steckplätze [4 (x8) und 1 (x4) elektrische Anschlüsse] und 1 PCIe Gen 1 (x4) - Steckplatz ID 1 – (optional ein PCI-X-Steckplatz - nicht empfohlen), geeignet für Geräte mit voller Höhe mit hoher Bandbreite.
- Low Profile (LP) E/A-Board – Direkt mit Prozessoren 4-5 verbunden, bietet dieses Board 4 x PCIe x8 und 1 x PCIe x4 Steckplätze. Die meisten neueren Netzwerk- und HBA-Karten werden mit einer Low-Profile-Halterung ausgeliefert, welche die Standardhalterung ersetzen kann, um in die Steckplätze mit halber Höhe zu passen.
Empfohlene Konfiguration und Einstellungen
RAM
Die DL980 G7 verfügt über extrem leistungsstarke Prozessoren, die jeweils 2 Speichercontroller enthalten und bei der korrekten Konfiguration einen massiven E/A-Durchsatz erzielen können. Die Plattform ist so konfiguriert, dass Speicherzugriffe gleichmäßig auf beide Speichercontroller jedes Prozessors verteilt werden. Um ein ausgewogenes Systemdesign sicherzustellen, empfehlen wir mindestens 512 GB RAM mit typischeren Bereitstellungen mit 1 TB RAM ab Mai 2011. Eine DL980 G7 mit weniger als 512 GB-1 TB RAM ist wahrscheinlich nie in der Lage, die sehr leistungsfähigen Prozessoren wegen unzureichendem RAM zu nutzen. Die meisten Kunden werden eine dramatische Abnahme von IOPS und eine enorme Verbesserung sowohl bei E/A als auch bei Skalierungsleistungen mit Windows Server 2012 beobachten, dank erhöhter E/A-NUMA-Sensibilisierung und NUMA-Skalierungsverbesserungen in dieser Windows-Betriebssystemversion.
Beachten Sie die folgenden Fakten zur Speicherkonfiguration:
NUR DDR3 DIMMs.
Jeder Prozessor verbindet sich mit 2 Memory Risers, wobei jeder Riser 1 Arbeitsspeichercontroller und 8 DIMM-Anschlüsse unterstützt.
Unterstützt nur registrierte DIMMs (RDIMM). Nicht gebufferte DIMMs (UDIMM) werden nicht unterstützt.
- LR oder DDR3L werden nur mit Westmere-EX-Prozessoren unterstützt.
Unterstützt einzelrangige DIMM-Module (SR), Dual-Rank (DR) und Quad-Rank (QR)
1 GB und 2 GB DRAM-Technologien werden mit Nehalem-EX-Prozessoren unterstützt und 4 GB werden auch mit Westmere-EX-Prozessoren unterstützt.
DIMMs werden in Quads über 2 Speichercontroller hinweg hinzugefügt.
Unterstützt Advanced ECC, Online Rank Sparing und Datenbankspiegelung.
Die ECC-Speicherunterstützung umfasst die Korrektur von x4- und x8-Chipfehlern.
Network
- Gigabit-Netzwerkadapter werden als Standard empfohlen. 1 Gigabit-Netzwerkadapter sind höchstwahrscheinlich ein Engpass auf diesen leistungsstarken Systemen.
- Verringern Sie die Gesamtanzahl der Netzwerkadapter, die erforderlich sind, um die erforderliche Netzwerkleistung zu erzielen.
- 10 Gigabit-Netzwerkadapter haben die Konfigurationsoptionen für Gerätetreiber und Gerätetreiber erheblich verbessert.
- Die HP 10Gb NC550SFP (Intel)-Netzwerkkarte wurde getestet und erwiesen sich als sehr leistungsfähig. Sie erfordert einen PCIe x8 Steckplatz auf den Haupt- oder Sub-E/A-Boards, um die volle Leistung zu erreichen.
- HP DL980s unterstützen bis zu 4 10GbE NICs wie NC550SFP und NC523SFP (siehe HP DL980-Schnellspezifikationsdokumente für aktuelle Informationen) mit einer Gesamtanzahl von 8 10GbE-Ports.
- Für Lastenausgleichszwecke können 10 Gigabit-Karten zwischen den Haupt- und Sub-E/A-Boards ausgeglichen werden. (Beispiel: 2 x Dual Port 10G NIC auf Haupt-Board und 2 x Dual Port 10G auf Sub-E/A-Board).
- Wie der Leser in dem Papier zur IIS-Skalierung feststellen wird, wird empfohlen, Receive Side Scaling (RSS) auf den moderneren Netzwerkadaptern und modernen Gerätetreibern zu aktivieren. 1 Gigabit-Netzwerkadapter unterstützen in der Regel nur bis zu 8 RSS-„Ringe“ oder „Warteschlangen“. 10 Gigabit Adapter unterstützen mindestens 16 Ringe/Warteschlangen. Receive Side Scaling ist ein Mechanismus zum Ausgleich der DPC-Auslagerung über mehrere logische Prozessoren hinweg. Dadurch wird das Problem vermieden, das manchmal bei extrem hoher Netzwerkaktivität auftritt, bei der hohe Kernelzeit nur auf einem Prozessor zu sehen ist (oft logischer Prozessor 0 oder 1, aber nicht immer). Hinweis: Die RSS-Implementierung für Windows Server 2008 R2 deckt nur logische Prozessoren in der ersten Windows KGROUP von Prozessoren (KGROUP#0) ab, aber diese Einschränkung wurde mit Windows Server 2012 eliminiert, und mehrere Posteingangstreiber unterstützen sie bei der ersten Installation.
HBA & E/A
- Installieren Sie bei I/A-Anwendungen mit hohem Speicher mindestens 2 x Dualport HBA, häufigere Konfigurationen sind 4 x Dualport HBA.
- Es ist wichtig, dass alle HBA-Ports verbunden und aktiv sind. Wenn mul MPIO-Software installiert und ordnungsgemäß konfiguriert werden muss. Der automatische Lastenausgleich (ALB) wird für die HP EVA-Serie SAN empfohlen.
- Verschiedene HBAs haben unterschiedliche Einstellungen und verschiedene SAN-Modelle haben unterschiedliche Fähigkeiten, aber als allgemeiner Leitfaden wird dies empfohlen:
- Emulex – Legen Sie die HBA-Warteschlangentiefe in den meisten Konfigurationen auf rund 64-254 in „OC Manager/HBA Anywhere“ fest
- QLogic – Legen Sie die Ausführungsdrossel in „SanSurfer“ auf 64-96 fest
- Brocade – Warteschlangentiefe ist in der Brocade Admin-Führungslinie dokumentiert
- Die HBA-Karten sollten entsprechend ihrer PCIe-Schnittstelleneigenschaften auf alle 3 E/A-Hubs verteilt werden. Wir werden immer dazu neigen, eine x8-fähige Karte in einem x8-Steckplatz zu platzieren, um von seinen vollständigen Funktionen zu profitieren und die Last über das gesamte System hinweg auszugleichen.
Besondere Anmerkung zu FusionIO-Geräten (allgemein anwendbar auf andere SSD-Karten):
FusionIO (HP E/A-Beschleunigerkarten) und OCZ bieten ultraschnellen Zugriff (bis zu 10.000 Mal schneller als mechanische Datenträger). Bisher wurden umfangreiche Tests nur mit FusionIO-Karten durchgeführt. Die Ergebnisse waren außergewöhnlich, wie folgt:
Verwenden Sie mindestens FusionIO 2.2.3 oder höher Gerätetreiber – K-Group Aware (verfügbar auf der FusionIO-Website).
Platzieren Sie die FusionIO-Karte nur auf dem Haupt- oder SubIO-Board: Sie sind keine Low-Profile-Karten. Empfohlene E/A-Steckplätze sind: 3, 5, 9 und 11.
Wenn Sie mehr als 4 HP E/A-Beschleuniger verwenden, müssen Änderungen innerhalb des BIOS vorgenommen werden, um mehr Kühlung zu ermöglichen, und Sie müssen externe Stromkabel in Betracht ziehen oder die FusionIO-Leistungsüberschreibungsfunktion mit VSL 3.x verwenden und zulassen, dass die zusätzliche Leistung über den PCIe-Steckplatz bereitgestellt wird.
Der aktuelle FusionIO-Stapel benötigt noch Skalierbarkeitsverbesserungen und FusionIO arbeitet noch daran. Beachten Sie in der Zwischenzeit, dass wir mit einer größeren Anzahl von Fusion E/A-Karten in diesem System über 1 Millionen IOPs und über 16 GB/s verschoben haben. Bei der aktuellen Implementierung des FusionIO-Treibers könnten Sie feststellen:
- Sehr hohe Prozessorauslastung für eine Teilmenge der logischen Prozessoren. Dies hängt mit der Tatsache zusammen, dass aktuelle FusionIO HBAs MSI-X nicht unterstützen und jede HBA Unterbrechungen an einen einzelnen logischen Prozessor sendet. Darüber hinaus unterstützt die aktuelle Implementierung einen DPC- und FusionIO-Abschlussarbeitsthread nur für jede HBA. Bei hoch anspruchsvollen skalierenden E/A-Workloads wird vom Benutzer fast erwartet, diese logischen Prozessoren zu identifizieren, indem die CPU-Auslastung bei 100 % oder fast 100 % auf diesen spezifischen logischen Prozessoren überprüft wird. FusionIO hat Konfigurationsparameter zur Verfügung gestellt, die dies teilweise abmildern, indem sie die Angabe der logischen Prozessoren ermöglichen, die für diese Aufgaben eingesetzt werden sollen. Bei diesen hohen E/A-Zahlen können Sie eine Affinitätsmaske auf der Anwendungsebene festlegen, um diese logischen Prozessoren zu vermeiden.
- Ungleichgewichte beim E/A-Durchsatz. Die beste E/A-Leistung wird durch Generieren von Lese-/Schreibanforderungen für den gleichen Socket wie beim Ausführen des FusionIO-Abschlussthreads abgerufen. Das DL980 G7 BIOS stellt dem Windows-Betriebssystem und seinen E/A-Komponenten E/A-NUMAness zur Verfügung: storport und ndis/netio für ihre Miniports zur Nutzung und Abstimmung.
- Durchsatzänderungen aufgrund der Auswirkungen der Pflege der SSD, Problem bei früheren und aktuellen Generationen von SSDs.
BIOS
Es wird empfohlen, die folgenden Standardwerte im DL980 G7 BIOS für IIS zu ändern:
NAME DER EINSTELLUNG | EMPFOHLENE EINSTELLUNG | STANDARDEINSTELLUNG |
---|---|---|
HP Power-Profil | Benutzerdefiniert | (Standardeinstellung Ausgewogene Energie und Leistung) |
HP-Leistungsregler | Betriebssystemsteuerungsmodus | (Standard HP Dynamischer Energiesparmodus) |
Prozessor-HyperThreading | Weitere Informationen zum Typ von IIS 8.0-Workloads und den Auswirkungen von HyperThreading finden Sie im folgenden Absatz | Aktiviert |
Min. Prozessor im Leerlaufzustand | Keine C-Zustände (keine Prozessorleistungsgewinne) oder C1e (um weiterhin Prozessorleistungsgewinne und angemessene Leistung zu erzielen) | (Standard C6-Status) |
Begrenzung der Speicherkapazität | Disabled | (Standard Aktiviert) |
Kollaborative Energiekontrolle | Disabled | (Standard Aktiviert) |
MPS-Tabellenmodus | Vollständige Tabellen-APIC | (Standard) |
Adressmodus 44-Bit | Aktiviert | (Standard Deaktiviert) |
Thermische Konfiguration | verstärkte Kühlung oder sogar „maximale Lüfter -(Blowout), wenn Sie viele HP IO Accelerator/Fusion E/A-HBAs verwenden. | (optimale Kühlung) |
Windows-Debugging: ASR-Status (deaktiviert, wenn kein Debugger angefügt ist) | Deaktiviert, wenn der Betriebssystemdebugger angefügt ist. | (Standard Aktiviert) |
Windows Debugging: iLO Cli (aus iLO-Sitzung) | Deaktiviert, wenn der Betriebssystemdebugger angefügt ist. | (Standard Aktiviert) |
Mit DL980 G7-Plattformen wechselt Windows Server 2012 automatisch die Prozessoren und IOHs im x2APIC-Modus und mit physischem Interrupt-Übermittlungsmodus. Um x2APIC mit Windows Server 2008 R2 SP1 zur Verbesserung der E/A-Skalierung zu aktivieren, müssen mehrere Windows-QFEs auf der Plattform und einen zusätzlichen Befehl zum Ausführen von Opt-In BCDEDIT installiert werden. Die Aktivierung von x2APIC und die Spezifikation der QFEs werden in der Microsoft Knowledge-Datenbank vorgestellt
Firmware
Es ist wichtig, dass die Firmware für die unten aufgeführten Komponenten auf den neuesten Stand gebracht wird, da zum Beispiel viele E/A-NUMA-Verbesserungen in der Version vom Oktober 2012 hinzugefügt wurden.
- DL980 G7-System
- HBA-Karten
- Netzwerkkarten
- FusionIO-Karten (sofern verwendet)
Es wird dringend empfohlen, die Firmware dieser Komponenten auf der HP DL980 Support-Website zu überprüfen.
Windows-Versionen und -Konfiguration
Als Teil des unternehmenskritischen Angebots für Windows-Kunden verfügt HP über eine Smart Update QFE CD, um Windows automatisch mit den neuesten kritischen Microsoft QFEs einzurichten und zu optimieren: https://www.hpe.com/us/en/servers/smart-update.html. Diese Updates und Optimierungen wurden mit Microsoft implementiert und im HP DL980-Labor validiert. HP empfiehlt seinen Kunden, diese Updates auszuführen.
- Windows Server 2012 – Die IIS-Einstellungen für den Kernelmodus, die Cacheverwaltung, die Anforderungs- und Verbindungsverwaltung und der Benutzermodus wurden von Windows Server 2008 R2 nicht geändert. Weitere Informationen finden Sie in den IIS-spezifischen Optimierungen, die im Dokument Leistungsoptimierungsrichtlinien für Windows Server 2008 R2 beschrieben sind. .
- Für Windows 2008 R2 wird SP1 oder höher empfohlen. Service Pack 1 enthält viele kritische Leistungsverbesserungen für die Unterstützung von > 64 logischen Prozessoren.
- Windows 2008 kann die 44-Bit-Adressierung nicht ordnungsgemäß unterstützen und sollte nicht auf DL980 G7 installiert werden. Wenn Aus irgendeinem Grund Windows 2008 (nicht R2-Version) auf DL980 sowohl Hyperthreading als auch 44-Bit-Arbeitsspeicher bereitgestellt werden muss, ist das System auf 64 logische Prozessoren und 1 TB RAM beschränkt. Windows Server 2008 SP2 ist die einzige unterstützte Windows Server 2008 Server-Version auf der HP DL980 G7. Wenn Windows Server 2008 noch erforderlich ist, finden Sie auf der HP Support-Website und -Organisation die vollständige Liste der Windows QFEs für Windows Server 2008 SP2 auf der HP DL980 G7.
Testmethodik
Testszenario
Ziel dieses Tests ist es, die Skalierbarkeit von IIS Server zu testen und gleichzeitig die Anzahl der CPU-Kerne/Sockets auf NUMA-fähiger Hardware zu erhöhen:
- Eine einfache dynamische ASP.net-Testseite wird als Website-Inhalt verwendet
- Das Web Capacity Analysis Tool (WCAT) wird verwendet, um HTTP-Anforderungen zu generieren
- Ein HP Core Disable-Dienstprogramm wird verwendet, um den Server zu skalieren, indem CPU-Kerne und Sockets deaktiviert werden, während die E/A-Konfiguration beachtet wird
Die Testumgebung veranschaulicht, wie die ASP.NET Webanwendung auf einem Server mit NUMA-Hardware mit IIS 8.0 skaliert wird. Ziel ist es, den Server zu belasten, um die Anzahl der Anforderungen pro Sekunde zu ermitteln, welche die Bereitstellung bei genau oder bei fast 100 % CPU-Auslastung verarbeitet.
Die folgende Konfiguration wurde verwendet, um die IIS-Leistung zu messen
- Web Garden (1xN) – Einzelner Anwendungspool, ein Prozess pro Socket. Dies stellt das Enterprise-Szenario dar, in dem eine einzelne Anwendung skaliert werden muss.
- Hosting (Nx1) – Ein Anwendungspool pro Socket, ein Prozess pro Anwendungspool. Dies stellt ein Hostingszenario dar, in dem mehrere Anwendungen auf einem einzelnen Server gehostet werden.
- Standard (1x1) – Ein Anwendungspool und ein Prozess unabhängig von der Anzahl der Sockets. Dies stellt die einsatzbereite Konfiguration dar.
Tests wurden für 20/40/80 Kerne wiederholt (2/4/8 Prozessorsockets). Außerdem haben wir zusätzliche Tests für 180 Core (Hyper Threading aktiviert) durchgeführt, um zu sehen, wie IIS von HT profitiert.
Testsetup
Server
Insgesamt wurden insgesamt 6 Computer zur Durchführung von Tests verwendet
- 4 Computer, die als WCAT-Clients arbeiten (WCAT-Einstellungen: 100 virtuelle Clients pro physischem Client)
- 1 Computer, der als WCAT-Controller arbeitet
- 1 HP9L980G7 als IIS 8.0-Server
Netzwerk
Die Testumgebung wurde mit vier Clientcomputern und einem Server eingerichtet. Jeder der Clientcomputer verwendet vier 1 Gb NICs. Der Server verwendete sechszehn 1 Gb NICs. Sechszehn Subnetze wurden konfiguriert, wobei jede Client-NIC mit einer eindeutigen Server-NIC gekoppelt wird.
RSS-Einstellungen
Die Netzwerkleistung auf dem Server wurde mithilfe von RSS-Einstellungen optimiert.
Um sicherzustellen, dass der auf einer bestimmten NIC empfangene Datenverkehr von einem Kern auf demselben IO Hub wie der NIC verarbeitet wird, wurde jede NIC einem NUMA-Knoten auf demselben IO Hub mit der NumaNode-Einstellung zugeordnet.
Die Gesamtzahl der RSS-Warteschlangen in allen NICs wurde gleich der Gesamtzahl der logischen Prozessoren auf dem Computer gemacht. Dazu wurde NumberOfReceiveQueues für jede NIC festgelegt.
RSS-Warteschlangen auf jeder NIC wurden dann mit den Einstellungen BaseProcessorNumber und MaxProcessors einem bestimmten Satz von Kernen auf dem zugewiesenen NUMA-Knoten zugeordnet.
Ergebnisse
Im folgenden Diagramm wird erfasst, wie sich die IIS-Leistung (Anzahl der pro Sekunde verarbeiteten Anforderungen) mit einer Zunahme der CPU-Kerne ändert.
Steigende Anzahl von CPU-Kernen von 20 auf 40 (2 Sockets auf 4 Sockets):
20 Kerne werden als Basisplan verwendet. Wenn die Anzahl der CPUs von 20 auf 40 gestiegen ist, beobachteten wir 67 % Steigerung der Anforderung im Webhostingszenario, 41 % Steigerung des Webgartenszenarios und 2 % Abnahme des Standardszenarios. Dies deutet darauf hin, dass sowohl Hosting- als auch Web-Garden-Szenarien am meisten von mehr CPU-Kernen profitieren können. Die Standardkonfiguration kann nicht von erhöhten CPUs profitieren, da einzelne Prozesse nicht skaliert werden können, um NUMA-Hardware zu nutzen.
Vergleich zwischen 80 Kernen und 40 Kernen
Ein ähnlicher Trend wurde nach steigender Anzahl von Kernen von 40 auf 80 festgestellt. Das Hostingszenario konnte 64 % mehr Anforderungen verarbeiten, und das Web-Garden-Szenario verarbeitete 31 % mehr Anforderungen. Die Leistung der Standardkonfiguration verschlechtert sich weiter um 3 %.
Auswirkungen von Hyperthreading
Nach dem Aktivieren von Hyperthreading verarbeitete die Hostingkonfiguration 18 % mehr Anforderungen. Die Web-Garden-Konfiguration verarbeitete 4 % weniger Anforderungen, während die Standardkonfiguration 3 % mehr Anforderungen verarbeitete. In der Regel kann HT zu einer besseren Leistung von bis zu 20 % führen. Die Hostingkonfiguration kann HT vollständig nutzen.
Zusammenfassung
IIS 8.0 ist NUMA-Hardware bekannt und kann im Gegensatz zu früheren IIS-Versionen positiv auf NUMA-Hardware skaliert werden.
Der IIS 8.0-Durchsatz erhöhte sich um 67 % bei steigenden CPU-Sockets von 2 auf 4 und erhöhte sich weiter um 64 % bei steigenden CPU-Sockets von 4 auf 8. Die Aktivierung von HyperThreading führte zu einem zusätzlichen Durchsatz von 18 %.
HP Proliant DL980-G7 bietet eine solide Plattform für die Bereitstellung anspruchsvoller IIS-Anwendungen und bietet Anwendungsskalierbarkeit mit einer Serverkonsolidierungslösung auf einer Plattform mit höherer HW-Zuverlässigkeit, Verfügbarkeit und Bedienbarkeit.
Kunden, die ihre IIS-Bereitstellungen skalieren möchten, sollten die Bereitstellung von IIS auf NUMA-fähiger Hardware in Betracht ziehen und sowohl von Skalierungsoptionen als auch von Skalierungsoptionen profitieren.
Weitere IIS 8.0-Charakterisierungen mit HyperV Server 2012-Bereitstellung auf der HP DL980-G7 werden berücksichtigt und diese Ergebnisse werden ebenfalls freigegeben.
Anhang
PowerShell
Hintergrund
Traditionell greift jeder Prozessor auf einem Multi-Socket-System über denselben Bus auf Speicher und E/A zu. Es wird immer häufiger, dass große Systeme NUMA (nicht einheitlicher Speicherzugriff) verwenden, um Bus-Engpässe zu vermeiden. Bei diesem Modell sind unterschiedliche Teile von E/A und Arbeitsspeicher mit unterschiedlichen Sockets verbunden, was bedeutet, dass die Leistung von E/A- und Speichervorgängen davon beeinflusst wird, wie nah der Socket mit einigen Teilen des Arbeitsspeichers und der E/A verbunden ist.
Receive Side Scaling (RSS) ermöglicht die Verarbeitung des Netzwerkempfangs durch mehrere Prozessoren.
Konfigurieren der RSS-Affinität
Ab Windows Server 2012 ist es möglich, die RSS-Affinität mit einem bestimmten NUMA-Knoten mithilfe von PowerShell zu konfigurieren. Das Core Networking-Team hat eine großartige Arbeit geleistet, um eine Reihe von Cmdlets bereitzustellen, welche die vollständige Kontrolle über den RSS-Stapel bieten.
Genauer gesagt kann die NUMA-Affinität mit dem folgenden Cmdlet konfiguriert werden: Set-NetAdapterRSS. Dieses Cmdlet verwendet einige Parameter im Zusammenhang mit der Hardwaretopologie des Servers. Die Parameter sind: BaseProcessorGroup, BaseProcessorNumber, MaxProcessors und NumaNode.
Es gibt zwei Möglichkeiten zum Sammeln der Werte solcher Eigenschaften: Manuell und über PowerShell.
Um die NUMA-Affinitätseinstellungen ordnungsgemäß zu konfigurieren, müssen Sie die physische Verbindung eines Netzwerkadapters mit einem bestimmten NUMA-Knoten identifizieren.
Manuelles Sammeln der Topologieinformationen
Derzeit umfasst dieser Prozess die folgenden Schritte:
- Suchen Sie den Zielnetzwerkadapter mithilfe der Systemsteuerung\Netzwerk und Internet\Netzwerkverbindungen. Die Eigenschaft des Interesses für den nächsten Schritt „Gerätename“ wie im folgenden Screenshot dargestellt.
- Suchen Sie die NIC über den Geräte-Manager. Dazu verwenden wir die im vorherigen Schritt gesammelte Eigenschaft „Gerätename“.
- Rufen Sie das Eigenschaftendialogfeld für die angegebene NIC auf. Auf der Registerkarte „Allgemein“ werden die Steckplatz-, Geräte- und Funktionsnummern für eine bestimmte NIC angezeigt.
- Mit den vorliegenden Bus-Informationen können Sie feststellen, an welchem NUMA-Knoten die NIC angeschlossen ist, indem Sie diese Informationen mit dem Hardwaretopologiediagramm, siehe Abschnitt Hardware, weiter oben, in Beziehung setzen.
Sammeln der Hardwaretopologie über PowerShell
Die Hardwaretopologieinformationen, die zum Festlegen der richtigen RSS-Affinitätswerte verwendet werden können, können mithilfe des PowerShell-Cmdlets-Beispiels für die Geräteverwaltung abgerufen werden, das in der TechNet-Galerie (https://gallery.technet.microsoft.com/Device-Management-7fad2388) verfügbar ist. Dieses Beispiel bietet Cmdlets zum Aufzählen, Steuern und Verwalten von Geräten.
Das Modul macht derzeit die folgenden Cmdlets verfügbar:
- Get-Gerät
- Get-Treiber
- Get-Numa
- Gerät aktivieren
- Gerät deaktivieren
Auflisten von Geräte- und NUMA-Topologieinformationen
Get-Device | Sort-Object -Property Name | ft Name, NumaNode, UINumber -AutoSize
Logische Prozessor- und NUMA-Informationen
Get-Numa
Firmwaretabellen
$hardwareTopology = Get-Numa; $hardwareTopology
WCAT
Das Web Capacity Analysis Tool (WCAT) ist ein einfaches TOOL zur HTTP-Lastgenerierung, das in erster Linie zur Messung der Leistung eines Webservers in einer kontrollierten Umgebung entwickelt wurde. WCAT kann Tausende von Benutzern simulieren, die gleichzeitig Anforderungen an eine einzelne oder mehrere Websites stellen.
Sie finden diese unter https://www.iis.net/downloads/community/2007/05/wcat-63-(x86)
Info
IIS-Produktgruppe
Das IIS-Team bei Microsoft ist für das Versenden des IIS-Servers als Teil von Windows Server verantwortlich. Dieses Team veröffentlicht und enthält auch verschiedene verwandte Produkte gefunden unter @ https://www.iis.net/downloads.
Hewlett-Packard (HP)
Hewlett-Packard Company (HP) ist ein nordamerikanisches multinationales Informationstechnologieunternehmen mit Hauptsitz in Palo Alto, Kalifornien, Vereinigte Staaten. Das Unternehmen bietet Produkte, Technologien, Software, Lösungen und Dienstleistungen für Privatkunden, kleine und mittlere Unternehmen sowie Großunternehmen an, darunter auch Kunden aus den Bereichen Regierung, Gesundheit und Bildung. HP ist das weltweit führende Unternehmen bei den Umsätzen und Einheiten von Microsoft Windows (IDC Worldwide Quarterly Server Tracker für 2Q12, August 2012). Innerhalb der HP Business Critical Server Division verfügt das Mission Critical Windows Engineering Lab über mehr als ein Jahrzehnt gemeinsamer Entwicklungsarbeit, um stabile Microsoft Windows- und SQL Server-Lösungen bereitzustellen. Mit diesem IIS-Skalierungsprojekt hat das Team eng mit dem Microsoft IIS-Team zusammengearbeitet, um eine optimale Skalierbarkeit und Leistung zu gewährleisten.
EEC
Das Enterprise Engineering Center (EEC) von Microsoft verdankt seine Existenz einer einfachen Idee: Den Kunden von Microsoft das beste Labor für Validierung und Zusammenarbeit zu bieten.
Das EEC ist mit erstklassiger Hardware ausgestattet und verfügt über ein unglaublich talentiertes und leidenschaftliches Team. Da wir uns auf dem Campus in Redmond befinden (im Epizentrum der Produktentwicklungsteams von Microsoft), können wir die Kunden, Partner und Produktgruppentechniker von Microsoft zusammenbringen, um die Unternehmenslösungen der Zukunft zu überprüfen.