Skalierbarkeit und Performance von Terminal Servern mit Windows Server 2003 x64

Maxim Oustiougov, seines Zeichens Terminal Services Program Manager bei Microsoft in Redmond, hat in den Newsgroups auf ein neues Whitepaper zur Performance und Skalierbarkeit von Terminal Diensten unter den x64-basierenden Versionen von Windows Server 2003 hingewiesen:

Terminal Services Scaling and Performance on x64-Based Versions of Windows Server 2003

Das Whitepaper benutzt zum Test den Knowledge Worker workload, der schon aus dem Whitepaper Windows Server 2003 Terminal Server Capacity and Scaling bekannt ist. Die verwendete Hardwarekonfiguration stammt von Hewlett Packard. Zum Einsatz kamen ein Dual AMD Opteron mit 16 GB RAM (HP DL 385), ein Quad AMD Opteron mit 32 GB RAM (HP DL 585) und ein Quad AMD Opteron dual-core mit ebenfalls 32 GB RAM (HP DL 585). Alle drei Server wurden unter dem 32-bit Windows 2003 Server (x86) und dem 64-bit Windows 2003 Server (x64) getestet.

Die Ergebnisse sind erstaunlich:

Unter x64 bleibt auf dem Dual AMD Opteron mit 16 GB RAM die Anzahl der gleichzeitig möglichen Sessions mit 240 Anwendern gleich. Hier ist die Performance Limitierung die I/O-Leistungsfähigkeit des Disksubsystems. Allerdings erhöht sich die maximale Sessionanzahl durch die Investition in ein schnelleres und leistungsfähigeres Disksubsystem nur wenig, da die CPU-Resourcen die nächste Grenze darstellen. Unter 32-bit steigt sie lediglich auf 280 Anwender, unter 64-bit auf nur 260 Anwender.

Auf dem Quad AMD Opteron mit 32 GB RAM ist eine deutliche Leistungssteigerung nur durch den Einsatz eines 64-bit Betriebsystems zu erreichen. Hier steigt die Anzahl der gleichzeitig möglichen Sessions von 240 auf 380 Anwender. Die verdoppelten CPU-Resourcen können allerdings nicht unter 32-bit zum Vorteil eingesetzt werden, da hier die Limitierung des virtuellen Kernel-Adressraums von 2 GB unüberwindbar ist.

Der Quad AMD Opteron dual-core mit ebenfalls 32 GB RAM zeigt schließlich, welche Leistungssteigerungen in Terminal Server Umgebungen mit x64 möglich sind. Unter 32-bit führt die nochmalige Verdopplung der CPU-Resourcen wegen der notwendigen Kontextwechsel mit 230 zu 240 respektive 270 zu 280 Anwendern zu einem absoluten Performanceverlust! Die maximale Anzahl der gleichzeitigen Anwender steigt unter 64-bit jedoch von 230 auf 620 Anwender!