64-Bit-Technologie im Praxis-Benchmark Inhalt Ein wenig Theorie „Synthetische“ Benchmarks Pragmatische Benchmarks Weitere Faktoren Fazit Ziel dieses Vortrags Antworten auf folgende Fragen Welche heutigen Anwendungen können auf einer 64-Bit-Plattform ausgeführt werden? Welchen Einfluss hat die 64-Bit-Plattform auf den Betrieb von Terminalservern? Wie skalieren Terminalserver auf einer 64-BitPlattform? Wann sollte ich mit dem Einsatz von 64-BitPlattformen beginnen? Optionen auf x64-Hardware Anwendungen 32-Bit 32-Bit/64-Bit 64-Bit Windows Server 32-Bit 64-Bit 64-Bit Gerätetreiber 32-Bit 64-Bit 64-Bit x64 x64 x64 Server-Hardware User Mode 32-Bit-Anwendung 64-Bit-Anwendung WOW64 Kernel Mode Windows Server 2003 x64 Edition 64-Bit Gerätetreiber WOW64 Was macht WOW64 eigentlich genau? Isolation der 32-Bit-Anwendungen von den 64-BitAnwendungen unter Beibehaltung der Funktionen zum Datenaustausch und der Interoperabilität Konvertierung von Systemaufrufen (Thunking) Abbildung der I/O-Datenströme von 32-BitAnwendungen auf 64-Bit-Treiber Zuordnung des Speichers im 64-Bit-Adressbereich Koordination der COM- und RPC-Kommuniaktion Anwendungskommunikation über Copy&Paste Umlenken von Datei- und Registryzugriffen Umlenken der Zugriffe Dateisystem 32-Bit Systemdateien %windir%\syswow64 64-Bit Systemdateien %windir%\system32 32-Bit Apps %SystemDrive%\Program Files (x86) 64-Bit Apps %SystemDrive%\Program Files Registry x64 hat eine physikalische Registry, aber jeweils eine logische Sicht auf 32 Bit und 64 Bit Redirection: Die Zugriffe auf die Registry werden in einen speziellen Bereich der Registry umgelenkt (WoW6432Node in HKLM\Software) Reflection: Spiegeln bestimmter Registry-Bereiche zwischen der 32- und der 64-Bit-Ansicht „Synthetische“ Benchmarks Historie Skalierbarkeit von Terminalservern auf 32-BitPlattformen 2 GB virtueller Adressraum für Anwendungen Ziel war es den objektiven Vergleich durch absolute Wiederholbarkeit zu gewährleisten Problem: Viel physikalischer Speicher belegt KernelSpeicher zur Verwaltung der Strukturen Szenarien Task Worker (Excel wird als „Shell-Ersatz“ gestartet) Knowledge Worker „Synthetische“ Benchmarks Aktualisierter Test 2005 Skalierbarkeit von Terminalservern auf 64-BitPlattformen Nicht mehr der Speicher sondern die CPUs erweisen sich als limitierender Faktor…wenn genügend Speicher auf dem System vorhanden ist Die relative Aussage ist nun: 64-Bit-Systeme sind um x% besser als 32-Bit-Systeme – die absoluten Zahlen dieser Benchmarks sind weniger relevant! Diese Zahlen haben Sie schon in den vorhergehenden Vorträgen gesehen… 8-Wege-Server, 40 GB RAM Quelle: Microsoft, 2005 Pragmatische Benchmarks Der „Big Iron Test“ von 2003 Anwendungen Server-Hardware mit 8 XEON 1,6 GHz CPUs, 1 MB 2nd Level Cache und 8 GB RAM 20 Testclients Notepad.exe mit ANSI Textdatei, 3 KB Adobe Acrobat Reader 6 mit Document, 8,3 MB Microsoft Word 2000 mit Dokument, 2,4 MB Ergebnis Einsatz von mehr als 2 bis 4 CPUs und mehr als 4 GB RAM ist für 32-Bit-Terminalserver selten sinnvoll Ergebnisse „Big Iron“ Big Iron Test „Reloaded“ 2 Testserver Dell 850 mit Dual Core CPU und jeweils 4 GB RAM – Windows Server 2003 R2, Standard Edition, 32-Bit und 64-Bit Version 10 Doppel-CPU Blades als Lasterzeuger 200 Testbenutzer, die beim Anmelden ein Profil erzeugen und ein Skript starten (Autostart) Anwendungen 10 sec.: Notepad.exe, ANSI Textdatei 8,4 KB 30 sec.: Adobe Acrobat Reader 7, Dokument 3,8 MB 50 sec.: Microsoft Word 2003, Dokument 3,1 MB visionapp Remote Desktop + vRD Load Edition Speicherbedarf der Prozesse Prozess (Working Set) 32 Bit 64 Bit Explorer.exe (ggf. pro Sitzung) IExplore.exe Notepad.exe Csrss.exe (pro Sitzung) Winlogon.exe (pro Sitzung) Rdpclip.exe (pro Sitzung) Wfshell.exe (pro Sitzung) Imasrv.exe Mfcom.exe Cdmsvc.exe Xte.exe (pro Sitzung) Cdfsvc.exe Ctxxmlss.exe 11,0 MB 8,7 MB 2,5 MB 1,0 – 1,5 MB 2,5 – 11,0 MB 4,0 MB 3,3 MB 36 MB 5,8 MB 2,4 MB 8,5 – 9,5 MB 3,1 MB 2,4 MB 18,2 MB 11,7 MB 4,8 MB 3,5 – 4,5 MB 3,5 – 16,0 MB 5,8 MB 5,0 MB (*32) 37 MB (*32) 7,1 (*32) 3,6 MB (*32) 10 – 14 MB 3,6 MB 3,5 MB Testkonfiguration Clients Dell Server-Hardware eine Dual-Core Intel CPU und 4 GB RAM Microsoft Windows Server 2003 Standard, 32 Bit und 64 Bit Editions 10 Dual CPU Testclients mit 4 GB RAM als Control Lasterzeuger 1 Überwachungs- und Steuerungs-PC Testserver Testserver 32 Bit 64 Bit Steuerung des Tests Steuerung des Tests Steuerung des Tests So sieht ein Server aus… …und so eine Systeminfo Ergebnisse – Sättigung 32-Bit System 200 aktive Sitzungen ca. 1.400 Prozesse ca. 43.000 Context Switches pro Sekunde 125 x Kommandozeilen 123 x Notepad 118 x Acrobat Reader 112 x WinWord 6,8 GB Working Set 64-Bit System 159 aktive Sitzungen ca. 1.100 Prozesse ca. 35.000 Context Switches pro Sekunde 102 x Kommandozeilen 99 x Notepad 98 x Acrobat Reader 86 x WinWord 5,6 GB Working Set Aber: In einer Produktionsumgebung nur 20-25 Benutzer 04:18:23 04:19:53 04:01:41 04:03:11 04:19:53 04:18:23 04:16:53 04:15:23 04:13:53 04:12:23 04:10:41 04:09:11 04:07:41 04:06:11 04:04:41 04:16:53 04:00:11 04:15:23 04:13:53 04:12:23 1.000.000.000 03:58:41 03:57:11 03:55:41 04:10:41 180 160 140 120 100 80 60 40 20 0 03:54:11 04:09:11 04:07:41 04:06:11 04:04:41 04:03:11 04:01:41 04:00:11 03:58:41 03:57:11 03:55:41 03:54:11 Protokolle – 64-Bit System Process (_Total)\Working Set (in Bytes) 8.000.000.000 7.000.000.000 6.000.000.000 5.000.000.000 4.000.000.000 3.000.000.000 2.000.000.000 0 Terminal Services\Active Sessions Abbildung auf die Realität Zusätzlicher Test in einer realen Kundenumgebung Ausgangslage mit 32-Bit-Systemen Dual Xeon 3,2 GHz Anwendungsprofil: Microsoft Office, Lotus Notes, zwei bis drei bankfachliche Anwendungen (u.a. Java Anwendungen J2SE) Ergebnis mit 64-Bit-Systemen +25% Benutzer auf Dual Xeon 3,2 GHz mit 8 GB +50% auf Dual Core Xeon DP 2,8 GHz (= ca. 4 CPUs) mit 8 GB Leistung Skalierbarkeit (abgeschätzt) 4 32-Bit System 64-Bit System 8 16 12 Hauptspeicher (in GB) Kritische Faktoren Kosten für den Speicher Stromverbrauch Dell PowerEdge 2850, 2 CPUs, 3,8 GHz, 2 MB Cache mit 4 GB Hauptspeicher: ca. 6.500 € mit 16 GB Hauptspeicher: 30.000 – 40.000 € Low Voltage CPUs kosten nur wenige 100 € mehr Stromverbrauch ist wesentlicher Kostenfaktor im RZ Verteilung und Verwaltung der Server Reproduzierbare Installationen Migration von 32-Bit auf 64-Bit – Automatisierung Eine Lösung: visionapp Platform Management Suite Migration – wie und wann? Die Migration von Terminalservern von 32-Bit auf 64-Bit ist nicht trivial! Herausforderungen – 64-Bit-Inkompatibilität Treiber und Systemwerkzeuge (z.B. Resource Kit) Skripte – Dateisystem und Registry Installation von Paketen auf TS Plattformpakete Sicherheits-Updates Anwendungspakete Branchensoftware Kundenspez. Software Typischer Bedarf 25 50 15 10 10 visionapp Paketschablonen 70 140 150 0 0 Fazit Technisch gesehen sind 64-Bit-Systeme hervorragend für Terminalserver geeignet Der Zeitpunkt der Einführung hängt von wirtschaftlichen Faktoren ab Angebot der visionapp: White Papers Migrations-Workshops Werkzeuge zur Automatisierung + Paketschablonen Schreiben Sie mir, falls Sie Bedarf haben: bernhard.tritsch(at)visionapp.de Vielen Dank!