Whitepaper Skalierbarkeit von 64-Bit Terminalserver

Transcrição

Whitepaper Skalierbarkeit von 64-Bit Terminalserver
Technisches Whitepaper
Skalierbarkeit von
64-Bit Terminalserver-Plattformen
Dr. Bernhard Tritsch, Christa Anderson
www.visionapp.com
Inhalt
1
Einleitung ............................................................................................................ 2
2
Testaufbau ........................................................................................................... 3
2.1
Testumgebung .............................................................................................. 3
2.2
Testwerkzeuge und Testskripte ........................................................................ 5
2.3
Benutzerkonten anlegen ................................................................................. 5
2.4
3
4
5
2.3.1
Anwendungen installieren und Dokumente bereitstellen ........................... 6
2.3.2
Benutzersitzungen erstellen ................................................................. 7
2.3.3
Benutzerprofile und Testablauf ............................................................. 9
Testmethodik .............................................................................................. 10
Auswertung der Ergebnisse ............................................................................... 12
3.1
Testserver mit 4 GB RAM .............................................................................. 12
3.2
Testserver mit AMD CPUs und 16 GB RAM ....................................................... 14
3.3
Testserver mit Intel CPUs und 16 GB RAM ....................................................... 18
Fazit................................................................................................................... 19
4.1
Speicherbedarf steigt bei 64-Bit-Betriebssystemen ........................................... 20
4.2
PTEs sind nicht die einzige speicherrelevante Windows-Einschränkung................. 20
4.3
Bei aktuellen Hardwarepreisen sind 64-Bit-Betriebssysteme nicht unbedingt rentabel20
Anhang .............................................................................................................. 21
5.1
Ausgewertete Leistungsindikatoren................................................................. 21
5.2
Hintergrundinformationen ............................................................................. 22
5.3
Schrittweise Beschreibung eines Testlaufs ....................................................... 22
5.3.1
Steuerungsrechner einrichten............................................................. 22
5.3.2
Clients (Lastgeneratoren) einrichten.................................................... 23
5.3.3
Server einrichten.............................................................................. 23
5.3.4
Testen ............................................................................................ 24
5.3.5
Aufräumen ...................................................................................... 24
www.visionapp.com
1
1
Einleitung
Mit Microsoft Windows Terminal Services (WTS) lassen sich Windows-basierte Anwendungen
auf einer entfernten Windows Server 2003 Plattform ausführen. Die wichtigsten Vorteile von
Terminalservern sind die schnelle und zentralisierte Verteilung von Anwendungen sowie der
optimierte Zugang zu Daten bei geringer Netzwerkbandbreite. Die Produktivität der Benutzer
steigt, da der Zugang zu aktuellen Anwendungen über viele verschiedene Geräte ermöglicht
wird.
In einer serverbasierten Umgebung erfolgt die Ausführung der Anwendungen und die
Verarbeitung aller Daten auf dem Server. Aus diesem Grund ist es für Serverhersteller
sinnvoll und wünschenswert, die Skalierbarkeit und Kapazität ihrer Server zu testen, um
festzustellen, wie viele Clientsitzungen ein Server üblicherweise in verschiedenen Szenarien
bewältigen kann.
Normalerweise wird ein geplantes typisches Arbeitsszenario vor der produktiven Installation
in einer eigens eingerichteten Testumgebung simuliert. Schwerpunkt dieses Tests ist ein
realitätsnaher Vergleich zwischen 32- und 64-Bit-Serverplattformen. Die Windows Server
2003 x64 Edition mit Terminaldiensten im Applikationsservermodus ist in der Lage, die
Speicherbeschränkungen der 32-Bit-Edition zu überwinden. Dies bedeutet allerdings nicht,
dass sich die Anzahl der Terminalserver-Benutzer durch den Einsatz der 64-Bit-Technologie
auf jeden Fall und automatisch erweitern lässt. Dieses Whitepaper beschreibt zunächst die
Testumgebung und die angewendete Methodik. Danach folgen detaillierte Beschreibungen der
verschiedenen Testergebnisse. In der abschließenden Zusammenfassung werden die
Ergebnisse mit existierenden Terminalserverumgebungen verglichen.
Bitte beachten Sie, dass die hier vorgestellten Untersuchungen und Ergebnisse nicht isoliert
betrachtet werden sollten. Die im Test eingesetzten Anwendungen wurden in
Terminalserversitzungen ausgeführt und sollten lediglich einen reproduzierbaren Teil der
Serverressourcen belegen. Die Tests erfolgten unter vergleichsweise statischen Bedingungen:
Die Benutzer melden sich am System an, starten drei Anwendungen mit entsprechenden
Dokumenten und bleiben in der Folge für den Rest ihrer Sitzung inaktiv. Dadurch konnten
reproduzierbare Ergebnisse erzielt werden, die sich allerdings von Ihren eigenen Ergebnissen
unterscheiden können.
www.visionapp.com
2
2
Testaufbau
Der Testaufbau wurde von der visionapp GmbH, Systemintegrator für Terminalserversysteme
und unabhängiger Softwareanbieter, festgelegt. Die Tests wurden unter der Leitung von
erfahrenen Terminalserverspezialisten am Terminalserver-Testlabor der visionapp in Frankfurt
am Main und am Labor des Fujitsu Siemens Computers Support in Augsburg durchgeführt.
Die Testumgebung umfasste Hard- und Softwarekomponenten. Die Hardwarekomponenten
waren über ein eigens eingerichtetes lokales Netzwerk (LAN) miteinander verbunden. Mit
dieser Konfiguration wurden eventuelle Störeinflüsse durch einen nicht zur Testumgebung
gehörenden Netzwerkbetrieb vermieden.
2.1
Testumgebung
Am Terminalserver-Testlabor der visionapp wurde ein einfacher Testaufbau mit zwei
verschiedenen Servertypen eingesetzt:
> 2 Dell PowerEdge 850 Server; 1 x Intel XEON 3.0 GHz Dual-Core CPU, 2 MB Second Level
Cache, 4 GB Arbeitsspeicher.
> 10 Fujitsu Siemens Computers BX600 Blade Server, die als Clients eingesetzt wurden und
Last erzeugen sollten; 2 x Intel 2.8 GHz CPUs, 2 GB Arbeitsspeicher.
> 1 IBM T43 Notebook zur Steuerung und Überwachung des Testablaufs.
Am Labor des Fujitsu Siemens Computers Support gab es folgenden Testaufbau:
> 1 Fujitsu Siemens Computers Primergy BX630-A Server: 2 x AMD 1.8 GHz Dual-Core CPU,
16 GB Arbeitsspeicher.
> 1 Fujitsu Siemens Computers RX300S2-A Server: 2 x Intel 2.8 GHz Dual-Core CPU, 16 GB
Arbeitsspeicher.
> 10 Fujitsu Siemens Computers BX300 Blade Server, die als Clients eingesetzt wurden und
Last erzeugen sollten; 2 x Intel 933 MHz CPUs, 2 GB Arbeitsspeicher.
> 1 Fujitsu Siemens Computers E4010D Notebook zur Steuerung und Überwachung des
Testablaufs.
Hinzu kam an beiden Testlaboren eine Gigabit-Ethernet-Infrastruktur.
In nachfolgender Tabelle sind die Serversystemkomponenten zusammengefasst.
Systemkomponente
Menge
Beschreibung
Hardware-Typ
2
DELL PowerEdge 850 Server
Betriebssystem
Windows Server 2003, R2
Prozessor
1
Intel XEON 3.0 GHz Dual-Core, EM64T
Arbeitsspeicher
4
Gigabyte
Plattensubsystem
1
150 GB, Adaptec DELL Array SCSI
NIC
1
Broadcom NetXtreme Gigabit Ethernet
www.visionapp.com
3
Systemkomponente
Menge
Beschreibung
Hardware-Typ
1
FUJITSU SIEMENS RX300S2-A
Betriebssystem
Windows Server 2003, SP1
Prozessor
2
Intel 2.8 GHz Dual-Core, EM64T
Arbeitsspeicher
16
Gigabyte
Plattensubsystem
2
70 GB, LSI Logic RAID 1 SCSI
NIC
1
Broadcom NetXtreme Gigabit Ethernet
Systemkomponente
Menge
Beschreibung
Hardware-Typ
1
FUJITSU SIEMENS PRIMERGY BX630-A
Betriebssystem
Windows Server 2003, SP1
Prozessor
2
AMD 2.8 GHz Dual-Core, AMD64
Arbeitsspeicher
16
Gigabyte
Plattensubsystem
2
36 GB, LSI Logic RAID 1 SCSI
NIC
1
Broadcom NetXtreme Gigabit Fiber
Für alle während des Tests eingesetzten Serversysteme wurden mit Hilfe des
Systemprogramms msinfo32.exe die Systeminformationen dokumentiert.
www.visionapp.com
4
Abb. 1
Systeminformationen eines für die Tests eingesetzten Servers
2.2
Testwerkzeuge und Testskripte
Um die Tests zu unterstützen, hat visionapp eine Reihe von Werkzeugen und Skripten
entwickelt, die auf den verschiedenen Client- und Serverrechnern eingesetzt wurden.
2.3
Benutzerkonten anlegen
Vor dem Beginn der Tests mussten auf jeder Serverplattform 250 lokale Benutzer angelegt
werden. Diese Testbenutzerkonten wurden mittels eines Visual Basic Skripts der lokalen
Benutzergruppe und der Gruppe "Remote Desktop Users" hinzugefügt.
www.visionapp.com
5
nMaxUsers = 401
strPassword = "BigIron2006_!"
Set objComputer = CreateObject("Shell.LocalMachine")
strComputer = objComputer.MachineName
Wscript.Echo "Computer name: " & strComputer
Wscript.Echo "Multiple users enabled: " & objComputer.IsMultipleUsersEnabled
Wscript.Echo "Remote connections enabled: " &
objComputer.IsRemoteConnectionsEnabled
nCounter = 1
Do While nCounter < nMaxUsers
strUser = "v" & nCounter
Set colAccounts = GetObject("WinNT://" & strComputer & "")
Set objUser = colAccounts.Create("user", strUser)
objUser.SetPassword strPassword
objUser.SetInfo
wscript.Echo "User account " + strUser + " created"
Set objNewUser = GetObject("WinNT://" & strComputer & "/" & strUser &
",user")
Set objGroup = GetObject("WinNT://" & strComputer & "/Remote Desktop
Users,group")
objGroup.Add(objNewUser.ADsPath)
wscript.Echo "Added User account " + strUser + " to Remote Desktop Users
group"
Set objGroup = GetObject("WinNT://" & strComputer & "/Users,group")
objGroup.Add(objNewUser.ADsPath)
wscript.Echo "Added User account " + strUser + " to Users group"
nCounter = nCounter + 1
Loop
Abb. 2
2.3.1
Skript nuser.vbs zur Erstellung von 400 Benutzerkonten mit Windows Script Host. Das Skript
musste im Rahmen einer Benutzersession mit Administratorrechten ausgeführt werden.
Anwendungen installieren und Dokumente bereitstellen
Die für dieses Whitepaper durchgeführten Tests basieren auf dem Aufruf einer Reihe von
Anwendungen und der Öffnung von Dokumenten.
Folgende Anwendungen wurden auf den Terminalservern installiert:
www.visionapp.com
6
> Microsoft Office 2003
> Adobe Acrobat Reader 7
HINWEIS: Einzelheiten zur Feineinstellung der Anwendungen siehe „Server einrichten”.
Während der Tests wurden drei Anwendungen mit folgenden Dokumenten gestartet:
> Notepad.exe – ComputerWorld.txt: ANSI Textdatei, 8,4 KB
> Acrobat Reader – vCC_Admin_EN.pdf: Adobe Acrobat PDF-Datei, 3,8 MB
> Microsoft Word – vPMS_Inst_EN.doc: Microsoft Word-Dokument, 3,1 MB
Die Anwendungen hinterließen während der Tests einen vom jeweils geladenen Dokument
abhängigen spezifischen Speicherabdruck (Memory-Footprint). winword.exe belegte zwischen
13 und 18 MB, notepad.exe ca. 3 MB und Acrobat Reader fast 30 MB pro Session.
2.3.2
Benutzersitzungen erstellen
Während des Testablaufs wurden die Benutzersitzungen durch die Lastgeneratoren der
visionapp Remote Desktop Load Edition initiiert. Auf jedem Clientrechner waren in einer XMLDatei die IP-Adresse auf dem Zielserver und die Benutzerdaten (Name und Passwort)
definiert.
HINWEIS: Von jedem der Lastgeneratoren können problemlos bis zu 40 Benutzersitzungen
geöffnet werden.
Für diesen Testablauf wurden folgende Standardeinstellungen verwendet:
> Anzahl Lastgeneratoren pro Test: 10
> Anzahl Benutzer pro Lastgenerator: 20 bis 40
> Intervall zwischen Benutzeranmeldungen: 60 Sekunden (60.000 ms)
www.visionapp.com
7
Abb. 3
Eine Instanz der vRD Load Edition mit 20 konfigurierten und unmittelbar nach Testbeginn
angezeigten Benutzern. Es ist noch kein Testbenutzer angemeldet.
<?xml version="1.0" encoding="utf-16"?>
<vRDLoadConfigurationFile>
<Testcase ServerName="10.4.1.93">
<Domain>VAFE0SD3</Domain>
<User>v1</User>
<Password>BigIron2006_!</Password>
</Testcase>
<Testcase ServerName="10.4.1.93">
<Domain>VAFE0SD3</Domain>
<User>v2</User>
<Password>BigIron2006_!</Password>
</Testcase>
…
…
</vRDLoadConfigurationFile>
Abb. 4
XML-Beispiel für die Konfiguration der vRD Load Edition
www.visionapp.com
8
2.3.3
Benutzerprofile und Testablauf
Da es nicht möglich ist, ein und dasselbe physikalische Dokument aus mehreren
Benutzersitzungen heraus zu öffnen, mussten für alle Benutzer individuelle Dokumente
bereitgestellt werden. Zu diesem Zeck wurden individuelle Benutzerprofile verwendet, mit
deren Hilfe die benötigten Dokumente auf den jeweiligen Arbeitsplatz des Benutzers kopiert
und die dazugehörigen Anwendungen gestartet werden konnten.
Um die Benutzerprofile automatisch ohne Verwendung eines Domänencontrollers erstellen zu
lassen, wurde unter All Users dem Ordner Startup (Autostart) ein einfaches Skript
hinzugefügt. Damit sollten alle benötigten Dokumentdateien aus einer gemeinsamen Quelle
auf den Arbeitsplatz des jeweiligen Benutzers kopiert werden, sobald sich dieser anmeldet.
Nach einer Wartezeit von 10 Sekunden wurde die ASCII-Datei mit notepad.exe geöffnet.
Nach weiteren 20 Sekunden wurde die PDF-Datei mit Adobe Acrobat Reader und wiederum
nach 20 Sekunden schließlich das Word-Dokument mit Microsoft Word geöffnet.
HINWEIS: Die während des Tests erstellten Benutzerprofile waren im Schnitt 7,3 MB groß.
HINWEIS: Die Abstände zwischen den verschiedenen Aktionen im Skript wurden mit Hilfe des
Kommandozeilenwerkzeugs sleep.exe aus dem Microsoft Windows Server 2003 Resource Kit
gesteuert.
Es wurde überprüft, ob die Pfade für den Aufruf der 32-Bit-Anwendungen Adobe Acrobat
Reader und Microsoft Word korrekt gesetzt waren. Auf der 32-Bit-Plattform lautete der Pfad
C:\Program Files\, auf der 64-Bit-Plattform hingegen C:\Program Files (x86)\. Auf der
64-Bit-Plattform sah das Anmeldeskript wie folgt aus:
@echo off
if not exist "%userprofile%\Desktop\ComputerWorld.txt" copy
c:\Documents\ComputerWorld.txt "%userprofile%\Desktop"
if not exist "%userprofile%\Desktop\vCC_Admin_EN.pdf" copy
c:\Documents\vCC_Admin_EN.pdf "%userprofile%\Desktop"
if not exist "%userprofile%\Desktop\vPMS_Inst_EN.doc" copy
c:\Documents\vPMS_Inst_EN.doc "%userprofile%\Desktop"
echo Document files copied
sleep 20
start /B notepad.exe "%userprofile%\Desktop\ComputerWorld.txt"
echo Tried to launch Notepad with ComputerWorld.txt (8.4 KB)
sleep 20
start /B "C:\Program Files (x86)\Adobe\Acrobat 7.0\Reader\AcroRd32.exe"
"%userprofile%\Desktop\vCC_Admin_EN.pdf"
echo Tried to launch Acrobat Reader with vCC_Admin_EN.pdf (3.8 MB)
sleep 20
start /B "C:\Program Files (x86)\Microsoft Office\Office\WinWord.exe"
"%userprofile%\Desktop\vPMS_Inst_EN.doc"
echo Tried to launch Microsoft Word with vPMS_Inst_EN.doc (3.1 MB)
pause
Abb. 5
Skript BigIron.cmd im Ordner Startup (Autostart) unter All Users
www.visionapp.com
9
2.4
Testmethodik
Ziel des Tests war es, die maximale Anzahl Benutzer zu ermitteln, ab der sich die
Reaktionszeit eines Terminalservers mit beschränkten Arbeitsspeicherressourcen auf einen
nicht mehr akzeptablen Wert verschlechtert (ca. 15 Sekunden für das Öffnen eines Fensters).
Für jedes Testszenario setzte der Testingenieur die vRD Load Edition ein, um den Testlauf
vom Steuerungsrechner aus auf jedem Lastgenerator mit visionapp Remote Desktop zu
starten. Die vRD Load Edition war so konfiguriert, dass alle 60 Sekunden automatisch ein
Benutzer angemeldet wurde. Die festgelegte Reihenfolge der Anwendungsaufrufe wurde über
ein einfaches Skript im Ordner Startup (Autostart) unter All Users gesteuert.
> 10 Sekunden nach erfolgreicher Benutzeranmeldung: Notepad.exe –
ComputerWorld.txt: ANSI-Textdatei, 8,4 KB
> 30 Sekunden nach erfolgreicher Benutzeranmeldung: Acrobat Reader –
vCC_Admin_EN.pdf: Adobe Acrobat PDF-Datei, 3,8 MB
> 50 Sekunden nach erfolgreicher Benutzeranmeldung: Microsoft Word –
vPMS_Inst_EN.doc: Microsoft Word-Dokument, 3,1 MB
Durch den gleichzeitigen Einsatz von 10 Lastgeneratoren und den Start der Testreihen auf
den einzelnen Lastgeneratoren in einem Abstand von nur einigen Sekunden, melden sich 10
Benutzer innerhalb von rund 20 Sekunden an. Nach einer Minute melden sich weitere 10
Benutzer am System an, bis der Testlauf beendet ist – nach 20 oder 40 Testbenutzern pro
Lastgenerator.
www.visionapp.com
10
Abb. 6
Typische Situation, nachdem sich ein Testbenutzer angemeldet und drei Dateien mit Notepad,
Adobe Acrobat Reader bzw. Microsoft Word geöffnet hat.
Jede Benutzersitzung produzierte einen Speicherabdruck von ca. 60 MB, nachdem alle
Anwendungen gestartet worden waren.
Während des gesamten Ablaufs wurden folgende Leistungsindikatoren (Performance Counter)
überwacht und protokolliert:
>
>
>
>
>
>
>
>
>
>
>
Speicher: Available MBytes (Verfügbare MBytes)
Speicher: Free System Page Table Entries (Freie Seitentabelleneinträge)
Speicher: Page Faults/sec (Seitenfehler/s)
Speicher: Pages/sec (Seiten/s)
Speicher: Pool Nonpaged Bytes (Nicht-Auslagerungsseiten, Bytes)
Speicher: Pool Paged Bytes (Auslagerungsseiten, Bytes)
Festplatte: Avg. Disk Queue Length (Durchschnittliche Warteschlangenlänge)
Prozess: Working Set (Arbeitsmenge)
Prozessor: % Interrupt Time (Interruptzeit, %)
Prozessor: % Processor Time (Prozessorzeit, %)
Prozessor: Interrupts/sec (Interrupts/s)
www.visionapp.com
11
>
>
>
>
>
>
Server: Pool Nonpaged Bytes (Nicht-Auslagerungsseiten, Bytes)
Server: Pool Paged Bytes (Auslagerungsseiten, Bytes)
System: Context Switches/sec (Kontextwechsel/s)
System: Processes (Prozesse)
System: Processor Queue Length (Prozessor Warteschlangenlänge)
Terminaldienste: Active Sessions (Aktive Sitzungen)
HINWEIS: Für die Sammlung der Systeminformationen haben die Testingenieure auf dem
Server Windows Performance Monitor eingesetzt.
HINWEIS: Um einen einheitlichen Ausgangszustand sicherzustellen, wurden vor jeder
Wiederholung eines Tests alle Testbenutzerprofile gelöscht und alle Systeme neu gestartet.
3
Auswertung der Ergebnisse
3.1
Testserver mit 4 GB RAM
Beim ersten Test wurden auf einem DELL PowerEdge 850 Server mit einem Intel XEON 3.0
GHz Dual-Core Prozessor und 4 GB Arbeitsspeicher die 64- und 32-Bit-Versionen von
Windows Server 2003 R2 miteinander verglichen. Auf jedem Testsystem wurden pro Minute
10 weitere Benutzer angemeldet, bis die Systemressourcen erschöpft waren.
64-Bit – Windows Server 2003 x64
2 Intel CPU-Kerne, 4 GB RAM
32-Bit – Windows Server 2003
2 Intel CPU-Kerne, 4 GB RAM
Terminal Services\Active Sessions
Memory\Available MBytes
13:36:25
13:34:35
13:32:45
13:30:55
13:29:05
13:27:15
13:25:25
13:23:35
13:21:45
13:19:54
13:18:04
13:16:14
13:14:24
13:12:34
13:10:44
13:34:45
13:36:25
13:33:05
13:29:45
13:31:25
13:28:05
13:26:25
13:23:05
13:24:45
13:21:25
13:18:04
13:19:44
13:16:24
13:13:04
13:14:44
13:11:24
13:09:44
13:06:24
13:08:04
13:04:44
13:01:24
13:03:04
4:19:53
4:18:23
4:16:53
4:15:23
4:13:53
4:12:23
4:10:41
4:09:11
4:07:41
4:06:11
0
4:04:41
500
0
4:03:11
1,000
500
4:01:41
1,500
1,000
4:00:11
2,000
1,500
3:58:41
2,500
2,000
3:57:11
3,000
2,500
3:55:41
3,500
3,000
3:54:11
4,000
3,500
12:59:44
Memory\Available MBytes
4,000
www.visionapp.com
13:08:54
13:07:04
13:05:14
13:03:24
12:59:44
4:19:53
4:18:23
4:16:53
4:15:23
4:13:53
4:12:23
4:10:41
0
4:09:11
0
4:07:41
50
4:06:11
50
4:04:41
100
4:03:11
100
4:01:41
150
4:00:11
150
3:58:41
200
3:57:11
200
3:55:41
250
3:54:11
250
13:01:34
Terminal Services\Active Sessions
12
www.visionapp.com
0
13:36:25
0
13:34:45
5,000
13:33:05
10,000
5,000
13:31:25
15,000
10,000
13:29:45
15,000
13:28:05
20,000
13:26:25
25,000
20,000
13:24:45
30,000
25,000
13:23:05
30,000
13:21:25
Memory\Page Faults/sec
13:36:25
13:34:45
13:33:05
13:31:25
13:29:45
13:28:05
13:26:25
13:24:45
13:23:05
13:21:25
0
13:19:44
50
0
13:19:44
100
50
13:18:04
150
100
13:18:04
200
150
13:16:24
250
200
13:16:24
300
250
13:14:44
350
300
13:14:44
350
13:13:04
System\Processor Queue Length
13:13:04
13:36:25
13:34:35
13:32:45
13:30:55
13:29:05
13:27:15
13:25:25
13:23:35
13:21:45
13:19:54
13:18:04
13:16:14
13:14:24
13:12:34
13:10:44
0
13:11:24
20
0
13:08:54
40
20
13:11:24
Processor\% Processor Time
13:09:44
40
13:07:04
13:33:05
13:34:45
13:36:25
13:19:44
13:21:25
13:23:05
13:24:45
13:26:25
13:28:05
13:29:45
13:31:25
13:08:04
13:09:44
13:11:24
13:13:04
13:14:44
13:16:24
13:18:04
0
13:09:44
2,000,000,000
0
13:08:04
4,000,000,000
2,000,000,000
13:08:04
4,000,000,000
13:06:24
12:59:44
13:01:24
13:03:04
13:04:44
13:06:24
6,000,000,000
13:05:14
60
13:03:24
8,000,000,000
6,000,000,000
13:06:24
8,000,000,000
13:04:44
10,000,000,000
13:04:44
4:19:53
4:18:23
4:16:53
4:15:23
4:13:53
4:12:23
4:10:41
4:09:11
4:07:41
4:06:11
4:04:41
4:03:11
4:01:41
4:00:11
3:58:41
3:57:11
3:55:41
3:54:11
10,000,000,000
13:03:04
60
13:01:34
80
13:03:04
12:59:44
80
13:01:24
12:59:44
4:19:23
4:17:43
4:16:03
4:14:23
4:12:43
4:10:51
4:09:11
4:07:31
4:05:51
4:04:11
4:02:31
4:00:51
3:59:11
3:57:31
3:55:51
3:54:11
100
13:01:24
4:19:53
4:18:23
4:16:53
4:15:23
4:13:53
4:12:23
4:10:41
4:09:11
4:07:41
4:06:11
4:04:41
4:03:11
4:01:41
4:00:11
3:58:41
3:57:11
3:55:41
3:54:11
100
12:59:44
4:19:23
4:17:43
4:16:03
4:14:23
4:12:43
4:10:51
4:09:11
4:07:31
4:05:51
4:04:11
4:02:31
4:00:51
3:59:11
3:57:31
3:55:51
3:54:11
Process (_Total)\Working Set (in Bytes)
Process (_Total)\Working Set (in Bytes)
Processor\% Processor Time
System\Processor Queue Length
Memory\Page Faults/sec
13
Physical Disk\Avg. Disk Queue Length
159 aktive Sitzungen
1.100 Prozesse
102 x Command Shell
99 x Notepad
98 x Acrobat Reader
86 x Microsoft Word
13:36:25
13:34:45
13:33:05
13:31:25
13:29:45
13:28:05
13:26:25
13:24:45
13:23:05
13:21:25
13:19:44
13:18:04
13:16:24
13:14:44
13:13:04
13:11:24
13:09:44
13:08:04
13:06:24
13:04:44
13:03:04
12:59:44
4:19:53
4:18:23
4:16:53
4:15:23
4:13:53
4:12:23
4:10:41
4:09:11
4:07:41
4:06:11
0
4:04:41
10
0
4:03:11
20
10
4:01:41
30
20
4:00:11
40
30
3:58:41
50
40
3:57:11
60
50
3:55:41
70
60
3:54:11
70
13:01:24
Physical Disk\Avg. Disk Queue Length
200 aktive Sitzungen
1.400 Prozesse
125 x Command Shell
123 x Notepad
118 x Acrobat Reader
112 x Microsoft Word
Auf dem 32-Bit x86 Windows-System wurden rund 20% mehr aktive Sitzungen geöffnet und
Anwendungen erfolgreich gestartet. Die Erklärung für dieses Phänomen liegt auf der Hand:
Der Aufruf einer Anwendung unter x64-Windows erfordert mehr Arbeitsspeicher als unter
x86-Windows.
Ein Grund hierfür liegt im WOW64-Subsystem, das eine hochleistungsfähige 32-Bit-WindowsUmgebung erstellt, die x64-Windows erlaubt, 32-Bit-Anwendungen ohne Modifikationen
auszuführen. Aber auf einem x64-Windows-System benötigen die 32-Bit-Programme mehr
Arbeitsspeicher, weil ihre Daten in 64-Bit-Strukturen abgelegt werden. Die Ablage von 32-BitDaten in 64-Bit-Datenstrukturen ist deutlich speicherintensiver als die Ablage in 32-BitDatenstrukturen.
Das Gleiche gilt für 64-Bit-Anwendungen. Deren Daten sind intern in 64-Bit-Strukturen
organisiert, und die erfordern mehr Platz als die gleichen Daten in 32-Bit-Strukturen. So
benötigt beispielsweise die 32-Bit-Version von Notepad üblicherweise 2,5 MB Arbeitsspeicher
auf x86-Windows, während die 64-Bit-Version auf x64-Windows 4,8 MB Arbeitsspeicher
belegt.
Der höhere Speicherbedarf ist der Grund, warum die Ressourcen des 64-Bit-Systems früher
erschöpft sind als die des 32-Bit-Systems. Auf beiden Systemen wird der verfügbare Speicher
so weit wie möglich durch den Memory Manager optimiert, aber ab einem gewissen Zeitpunkt
ist physikalisch kein Speicher mehr verfügbar, wodurch das Paging in hohem Maße auf der
Festplatte erfolgt.
Bei den wichtigsten Leistungsindikatoren zeigen sich im Vergleich der beiden Systeme keine
wesentlichen Unterschiede.
3.2
Testserver mit AMD CPUs und 16 GB RAM
Bei diesem Test wurden die 64- und 32-Bit-Versionen von Windows Server 2003 auf einem
Fujitsu Siemens Primergy BX630-A mit 2 AMD 2.8 GHz Dual-Core Prozessoren und 16 GB
Arbeitsspeicher miteinander verglichen. Wie bei dem vorherigen Test wurden auf jedem
System solange 10 weitere Benutzer angemeldet bis die Systemressourcen erschöpft waren.
www.visionapp.com
14
www.visionapp.com
% Processor Time
100
90
80
70
60
50
40
30
20
10
0
11:40:21
11:37:21
11:34:21
11:31:21
11:40:21
11:37:21
11:34:21
11:31:21
11:28:21
11:28:21
% Processor Time
11:25:02
0
11:21:31
5,000,000,000
0
11:18:31
10,000,000,000
5,000,000,000
11:25:02
15,000,000,000
10,000,000,000
11:15:31
20,000,000,000
15,000,000,000
11:21:31
25,000,000,000
20,000,000,000
11:12:31
30,000,000,000
25,000,000,000
11:18:31
30,000,000,000
11:09:31
Working Set
11:15:31
11:40:21
11:37:21
11:34:21
11:31:21
11:28:21
11:25:02
11:21:31
11:18:31
11:15:31
11:12:31
0
11:09:31
0
11:06:31
4,000
2,000
11:12:31
4,000
2,000
11:06:31
8,000
6,000
11:03:31
8,000
6,000
11:09:31
12,000
10,000
11:03:31
Available MBytes
11:00:31
12,000
10,000
10:57:31
16,000
14,000
11:40:21
11:37:21
11:34:21
11:31:21
11:28:21
11:25:02
11:21:31
11:18:31
11:15:31
11:12:31
11:09:31
11:06:31
11:03:31
11:00:31
Active Sessions
11:06:31
18,000
16,000
14,000
11:00:31
18,000
10:54:31
0
10:57:31
50
0
10:57:31
100
50
11:03:31
10:51:31
150
100
11:00:31
200
150
10:54:31
250
200
10:54:31
10:51:31
19:06:17
19:03:17
19:00:17
18:56:27
18:53:08
18:50:04
18:47:04
18:44:04
18:41:04
18:38:04
18:35:04
18:32:04
18:29:04
300
250
10:57:31
100
90
80
70
60
50
40
30
20
10
0
10:51:31
19:06:17
19:03:17
19:00:17
18:56:27
18:53:08
18:50:04
18:47:04
18:44:04
18:41:04
18:38:04
18:35:04
18:32:04
18:29:04
18:26:04
18:23:04
350
300
10:54:31
19:06:17
19:03:17
19:00:17
18:56:27
18:53:08
18:50:04
18:47:04
18:44:04
18:41:04
18:38:04
18:35:04
18:32:04
18:29:04
18:26:04
18:23:04
18:26:04
18:23:04
350
10:51:31
19:06:17
19:03:17
19:00:17
18:56:27
18:53:08
18:50:04
18:47:04
18:44:04
18:41:04
18:38:04
18:35:04
18:32:04
18:29:04
18:26:04
18:23:04
64-Bit – Windows Server 2003 x64
4 AMD CPU-Kerne, 16 GB RAM
32-Bit – Windows Server 2003
4 AMD CPU-Kerne, 16 GB RAM
Active Sessions
Available MBytes
Working Set
15
www.visionapp.com
Page Reads/sec
350
350
300
300
250
250
200
200
150
150
100
100
50
50
0
0
11:37:21
11:40:21
11:40:21
11:40:21
11:34:21
11:37:21
11:37:21
11:37:21
11:40:21
11:31:21
11:34:21
11:34:21
11:34:21
11:28:21
11:28:21
11:25:02
11:21:31
11:18:31
11:15:31
11:12:31
11:09:31
11:06:31
11:31:21
11:25:02
11:21:31
11:18:31
11:15:31
11:12:31
11:09:31
11:06:31
11:03:31
11:00:31
10:57:31
11:31:21
Page Reads/sec
11:31:21
Avg. Disk Queue Length
11:28:21
0
11:03:31
Page Faults/sec
11:28:21
1
0
11:25:02
2
1
11:25:02
3
2
11:21:31
4
3
11:21:31
5
4
11:18:31
6
5
11:18:31
6
11:15:31
Avg. Disk Queue Length
11:15:31
0
11:12:31
5,000
0
11:12:31
10,000
5,000
11:09:31
15,000
10,000
11:09:31
20,000
15,000
11:06:31
25,000
20,000
11:00:31
Page Faults/sec
11:06:31
30,000
25,000
11:03:31
35,000
30,000
11:03:31
40,000
35,000
10:57:31
0
11:00:31
50
0
11:00:31
100
50
10:54:31
150
100
10:54:31
200
150
10:57:31
10:51:31
250
200
10:57:31
40,000
10:51:31
19:06:17
19:03:17
19:00:17
18:56:27
18:53:08
18:50:04
18:47:04
18:44:04
18:41:04
18:38:04
18:35:04
18:32:04
18:29:04
18:26:04
18:23:04
300
250
10:54:31
19:06:17
19:03:17
19:00:17
18:56:27
18:53:08
18:50:04
18:47:04
18:44:04
18:41:04
18:38:04
18:35:04
18:32:04
18:29:04
18:26:04
18:23:04
350
300
10:54:31
10:51:31
19:06:17
19:03:17
19:00:17
18:56:27
18:53:08
18:50:04
18:47:04
18:44:04
18:41:04
18:38:04
18:35:04
18:32:04
18:29:04
18:26:04
18:23:04
350
10:51:31
19:06:17
19:03:17
19:00:17
18:56:27
18:53:08
18:50:04
18:47:04
18:44:04
18:41:04
18:38:04
18:35:04
18:32:04
18:29:04
18:26:04
18:23:04
Processor Queue Length
Processor Queue Length
16
www.visionapp.com
20,000,000
0
0
% Interrupt Time
5
5
4
4
3
3
2
2
1
1
0
0
11:39:01
40,000,000
20,000,000
11:36:41
60,000,000
40,000,000
11:34:21
80,000,000
60,000,000
11:32:01
80,000,000
11:29:41
120,000,000
100,000,000
11:27:21
140,000,000
120,000,000
100,000,000
11:24:38
160,000,000
140,000,000
11:21:51
180,000,000
160,000,000
11:19:31
200,000,000
180,000,000
11:17:11
11:34:51
11:37:41
11:40:31
11:35:01
11:37:41
11:40:21
11:29:11
11:26:21
11:22:42
11:19:51
11:17:01
11:14:11
11:11:21
11:08:31
11:05:41
11:02:51
11:00:01
11:32:01
Pool Nonpaged Bytes
11:32:21
11:29:41
11:27:01
11:23:53
11:20:51
11:18:11
11:15:31
11:12:51
Pool Nonpaged Bytes
11:10:11
0
11:14:51
200,000,000
0
11:07:31
400,000,000
200,000,000
11:12:31
600,000,000
400,000,000
11:10:11
800,000,000
600,000,000
11:04:51
1,000,000,000
800,000,000
11:02:11
1,200,000,000
1,000,000,000
10:57:11
Pool Paged Bytes
11:07:51
1,400,000,000
1,200,000,000
11:05:31
1,600,000,000
1,400,000,000
10:59:31
1,800,000,000
1,600,000,000
10:56:51
1,800,000,000
11:03:11
200,000,000
11:40:21
11:37:21
11:34:21
11:31:21
11:28:21
11:25:02
11:21:31
11:18:31
11:15:31
11:12:31
11:09:31
11:06:31
11:03:31
11:00:31
10:57:31
10:54:31
16,400,000
10:54:21
16,450,000
10:54:11
16,500,000
11:00:51
10:51:31
16,550,000
10:51:31
16,600,000
10:51:31
16,650,000
10:58:31
19:06:17
19:03:17
19:00:17
18:56:27
18:53:08
18:50:04
18:47:04
18:44:04
18:41:04
18:38:04
18:35:04
18:32:04
18:29:04
18:26:04
18:23:04
16,700,000
10:56:11
19:06:17
19:03:57
19:01:37
18:58:27
18:56:02
18:53:28
18:51:05
18:48:44
18:46:24
18:44:04
18:41:44
18:39:24
18:37:04
18:34:44
18:32:24
18:30:04
18:27:44
18:25:24
18:23:04
16,750,000
10:53:51
19:06:17
19:03:57
19:01:37
18:58:27
18:56:02
18:53:28
18:51:05
18:48:44
18:46:24
18:44:04
18:41:44
18:39:24
18:37:04
18:34:44
18:32:24
18:30:04
18:27:44
18:25:24
18:23:04
16,800,000
10:51:31
19:06:17
19:04:17
19:02:17
19:00:17
18:57:27
18:55:22
18:53:08
18:51:05
18:49:04
18:47:04
18:45:04
18:43:04
18:41:04
18:39:04
18:37:04
18:35:04
18:33:04
18:31:04
18:29:04
18:27:04
18:25:04
18:23:04
Free System PTEs
Free System PTEs
200,000
180,000
160,000
140,000
120,000
100,000
80,000
60,000
40,000
20,000
0
Pool Paged Bytes
% Interrupt Time
17
Interrupts/sec
Interrupts/sec
20,000
20,000
15,000
322 aktive Sitzungen
2.900 Prozesse
264 x Command Shell
261 x Notepad
256 x Acrobat Reader
252 x Microsoft Word
11:39:51
11:37:21
11:34:51
11:32:21
11:29:51
11:27:21
11:24:28
11:21:31
11:19:01
11:16:31
11:14:01
11:11:31
11:09:01
11:06:31
11:04:01
11:01:31
10:59:01
10:56:31
10:51:31
19:05:27
19:03:17
19:01:07
18:58:07
18:55:52
18:53:28
18:51:15
18:49:04
18:46:54
18:44:44
18:42:34
18:40:24
18:38:14
18:36:04
18:33:54
0
18:31:44
0
18:29:34
5,000
18:27:24
5,000
18:25:14
10,000
18:23:04
10,000
10:54:01
15,000
319 aktive Sitzungen
2.800 Prozesse
243 x Command Shell
243 x Notepad
243 x Acrobat Reader
237 x Microsoft Word
Hier wurde auf beiden Systemen eine annähernd gleiche Anzahl von aktiven Sitzungen
gestartet, jedoch auf dem x86-Windows-System rund 10% weniger Anwendungen.
Bei den Leistungsindikatoren zeigen sich deutliche Unterschiede hinsichtlich des verfügbaren
Speichers. Auf dem x64-Windows-System war der Speicher fast vollständig aufgebraucht,
während x86-Windows nur etwas mehr als die Hälfte des verfügbaren Speichers nutzen
konnte. In dem Augenblick (11:15:31), als es für x86-Windows schwieriger wurde, den
verfügbaren Speicher zu nutzen, wiesen auch die durchschnittliche Länge der
Festplattenwarteschlange (Avg. Disk Queue Length) und die Zahl der Seitenlesevorgänge
(Page Reads/sec) einen deutlichen Anstieg auf. Gleichzeitig konnte auf x86-Windows eine
deutliche Leistungsverschlechterung für den Benutzer beobachtet werden, die dazu führte,
dass Anwendungsfenster nur sehr langsam geöffnet werden.
Sobald auf dem 32-Bit-System keine freien Seitentabelleneinträge (System PTEs) mehr zur
Verfügung stehen, können sich keine Benutzer mehr anmelden. Diesen Begrenzungsfaktor
gibt es bei 64-Bit-Systemen nicht mehr. Aber mit "nur" 16 GB RAM erzeugt dies keinen
wirklich entscheidenden Unterschied hinsichtlich der Anzahl der Benutzer, die sich anmelden
können – auch wenn die letzten 20-30% der auf dem 32-Bit-Rechner angemeldeten Benutzer
nicht viel mit ihrer Sitzung anfangen können. Für diese Benutzer wird in der Regel noch nicht
einmal die Shell geladen.
3.3
Testserver mit Intel CPUs und 16 GB RAM
Bei diesem Test wurden die 64- und 32-Bit-Versionen von Windows Server 2003 auf einem
Fujitsu Siemens Primergy RX300S2-A mit 2 Intel 2.8 GHz Dual-Core Prozessoren und 16 GB
Arbeitsspeicher miteinander verglichen. Während des eines Testlaufs war das HyperThreading der CPU deaktiviert, während des anderen Testlaufs aktiviert. Wie bei dem
vorherigen Test wurden auf jedem System solange 10 weitere Benutzer angemeldet bis die
Systemressourcen erschöpft waren.
64-Bit – Windows Server 2003 x64
4 Intel CPU-Kerne, 16 GB RAM
www.visionapp.com
64-Bit – Windows Server 2003
4 Intel CPU-Kerne, HT, 16 GB RAM
18
4
www.visionapp.com
270 aktive Sitzungen
2.500 Prozesse
228 x Command Shell
223 x Notepad
222 x Acrobat Reader
214 x Microsoft Word
60
40
20
0
15:12:14
15:12:14
15:04:38
15:04:38
15:10:24
15:02:20
15:02:20
15:10:24
14:58:29
14:58:29
15:06:30
14:56:13
14:56:13
15:06:30
14:54:18
14:50:38
14:48:48
14:46:58
14:45:08
14:43:18
14:41:28
14:39:38
14:37:48
14:35:58
14:34:08
14:32:18
14:30:28
14:54:18
140
120
100
80
60
40
20
0
14:52:28
Page Reads/sec
14:52:28
14:50:38
80
14:48:48
100
14:46:58
120
14:45:08
Page Reads/sec
14:43:18
140
14:41:28
0
14:28:38
Avg. Disk Queue Length
14:39:38
2
0
14:37:48
4
2
14:35:58
6
4
14:34:08
8
6
14:32:18
10
8
14:30:28
12
10
14:26:48
12
14:28:38
16:38:57
16:36:57
16:34:57
16:32:57
16:30:57
16:28:57
16:26:57
16:24:36
16:22:35
16:20:35
16:18:35
16:16:35
16:14:35
16:12:35
16:10:35
16:08:35
16:06:35
16:04:35
16:02:35
16:00:35
15:58:35
15:56:35
341 aktive Sitzungen
2.900 Prozesse
252 x Command Shell
241 x Notepad
238 x Acrobat Reader
231 x Microsoft Word
Die Ergebnisse weisen gewisse Unterschiede zwischen aktiviertem und deaktiviertem HyperThreading auf. Die allgemeine Tendenz hinsichtlich der Skalierbarkeit von x64-Windows ist
aber die gleiche.
Fazit
Der ursprüngliche Zweck der Tests bestand darin, das Verhalten einer 64-Bit-Serverhardware
bei starker Beanspruchung durch Terminalserver-Benutzersitzungen zu überprüfen – unter
der 32-Bit-Version und unter der 64-Bit-Version von Windows Server 2003. Aus den Tests
haben wir die nachfolgenden Schlüsse gezogen.
19
15:12:04
15:10:14
15:06:20
15:04:28
15:02:10
14:58:19
14:56:03
14:54:08
14:52:18
14:50:28
14:48:38
14:46:48
14:44:58
14:43:08
14:41:18
14:39:28
14:37:38
14:35:48
14:33:58
14:32:08
14:30:18
14:28:28
14:26:38
16:38:47
16:36:47
16:34:47
16:32:47
16:30:47
16:28:47
16:26:47
16:24:26
16:22:25
16:20:25
16:18:25
16:16:25
16:14:25
16:12:25
16:10:25
16:08:25
16:06:25
16:04:25
16:02:25
16:00:25
15:58:25
15:56:25
18,000
16,000
14,000
12,000
10,000
8,000
6,000
4,000
2,000
0
14:26:48
16:38:47
16:36:47
16:34:47
16:32:47
16:30:47
16:28:47
16:26:47
16:24:26
16:22:25
16:20:25
16:18:25
16:16:25
16:14:25
16:12:25
16:10:25
16:08:25
16:06:25
16:04:25
16:02:25
16:00:25
15:58:25
15:56:25
Available MBytes
Available MBytes
18,000
16,000
14,000
12,000
10,000
8,000
6,000
4,000
2,000
0
Avg. Disk Queue Length
4.1
Speicherbedarf steigt bei 64-Bit-Betriebssystemen
Bei einem Einsatz der 64-Bit-Version von Terminal Server kann der Speicherbedarf insgesamt
bis zu doppelt so hoch ausfallen wie bei gleicher Arbeitslast unter einer 32-Bit-Version von
Microsoft Windows Server 2003. Die Datenstrukturen sind umfangreicher, weil insbesondere
die Pointer doppelt so groß sind und der Dateicache des Systems mehr Speicher belegt. Auf
einem 4-GB-System hat x64-Windows schlechter abgeschnitten als x86-Windows.
4.2
PTEs sind nicht die einzige speicherrelevante WindowsEinschränkung
Eine der Sitzungsengpässe in Terminal Services ist die Verfügbarkeit von
Seitentabelleneinträgen (Page Table Entries - PTEs). PTEs bilden den Paged Pool
(Arbeitsspeicherbereich für Objekte, die seitenweise auf die Festplatte ausgelagert werden
können) im Adressraum ab. Wenn dem Betriebssystem die PTEs ausgehen, kann es keine
Prozesse mehr erstellen und wird instabil. Da das 32-Bit-Windows nur 900 MB Speicher für
PTEs reserviert und ein Terminalserver naturgemäß prozessintensiv ist, sind PTEs ein knapp
bemessenes Gut. Das 64-Bit-Windows löst diesen Engpass, indem es für PTEs 128 GB
Speicher zuweist.
Davon abgesehen konnten wir auch mit 16 GB Arbeitspeicher keine entscheidenden
Unterschiede in der Anzahl der Sitzungen beobachten, die ein Terminalserver erstellen kann.
Möglicherweise war der 64-Bit-Server in der Lage, mehr verwendbare Sitzungen zu erstellen,
da für die letzten 20-30% der auf der 32-Bit-Plattform erstellten Sitzungen mangels
Ressourcen ggf. noch nicht einmal die Shell geladen wurde. Leider ist dies aber reine
Spekulation, da Windows keine Performance Counter für das Testen der Benutzerantwortzeit
bietet. Aber auch ohne diese Daten zeigt die Studie, dass die PTEs nur ein Faktor von
mehreren sind, die eine Beschränkung der Anzahl der Sitzungen bewirken.
4.3
Bei aktuellen Hardwarepreisen sind 64-Bit-Betriebssysteme
nicht unbedingt rentabel
Wie bereits festgestellt, konnten wir bezüglich der Anzahl der verwendbaren Sitzungen keine
nennenswerten Unterschiede zwischen einem 32-Bit-Server und einem 64-Bit-Server
beobachten, auch nicht mit 16 GB Arbeitsspeicher. (Zwar konnte der 64-Bit-Server mit 16 GB
Arbeitsspeicher mehr Sitzungen – 341 gegenüber 270 – öffnen als der 32-Bit-Server, aber bei
den rund letzten 100 Sitzungen war er nicht mehr in der Lage, Microsoft Word, Adobe Acrobat
und Notepad aufzurufen.) Es muss klar gesagt werden, dass eine reine Aufrüstung des
Arbeitsspeichers eines Servers allein nicht ausreicht, um ein 64-Bit-Bietriebssystem
leistungsfähiger zu machen.
Die Leistungsvorteile eines 64-Bit-Windows-Systems lassen sich voraussichtlich nur mit neuer
Hardware erzielen. Laut Untersuchungen, die von Microsoft durchgeführt wurden und in ihrem
Whitepaper über 64-Bit-Skalierbarkeit beschrieben werden, zeigen sich die Leistungsvorteile
eines 64-Bit-Betriebssystems auf einem 64-Bit-System mit 24 GB oder mehr Arbeitsspeicher,
und da wird es auch langsam kostspielig. Die Hardwarepreise werden aber - wie sonst auch
nach der Einführung einer neuen Technologie - voraussichtlich fallen. Dann werden 64-BitBetriebssysteme auch in finanzieller Hinsicht sinnvoller sein. Während die Server sehr teuer
sind, wird die Anwenderbasis durch die Zusammenfassung vieler Benutzer auf einem einzigen
Server zudem einem höheren Risiko (da die Gesamtzahl der Server mit Lastverteilung
geringer ist) und höheren Kosten für die Bereithaltung von Reservekapazitäten ausgesetzt.
www.visionapp.com
20
Obgleich sich mit einem 64-Bit-Betriebssystem mehr Benutzer gleichzeitig an einem einzelnen
Anwendungsserver anmelden können (eine IBM-Studie geht davon aus, dass sich
möglicherweise über 600 Benutzer an einen einzelnen Server mit 64 GB Arbeitsspeicher
anmelden können), ist es wichtig zu erkennen, dass die Risiken der Serverkonsolidierung in
einer Serverfarm nicht verschwunden sind. Eine geringere Anzahl von Servern bedeutet auch,
dass bei einem Ausfall eines Servers ein größerer Anteil der Rechnerkapazität verloren geht.
Folglich könnte es sinnvoller sein, 64-Bit-Server dazu einzusetzen, die Anzahl der möglichen
Benutzer in Ihrer Farm zu erhöhen – und nicht, um die Farm entsprechend der aktuellen
Benutzerzahl zu verkleinern.
5
5.1
Anhang
Ausgewertete Leistungsindikatoren
Terminal Services\Active Sessions: (Terminaldienste\Aktive Sitzungen). Anzahl der
aktiven Terminaldienstsitzungen.
Memory\Committed Bytes: (Speicher\Zugesicherte Bytes). Zugesicherter virtueller
Speicher in Bytes. Zugesicherter Speicher ist physikalischer Speicher, für den in
Auslagerungsdateien Speicherplatz reserviert wurde. Es können eine oder mehrere
Auslagerungsdateien auf jedem physikalischem Laufwerk vorhanden sein. Dieser Indikator
zeigt nur den letzten Wert an, keinen Durchschnittswert.
Memory\Available MBytes: (Speicher\Verfügbare MBytes). Für Prozesse oder für die
Systemverwendung verfügbarer physikalischer Speicher in MB. Dies ist gleich der
Speichersumme, die Standby- (zwischengespeichert), freien und Nullseitenlisten (Standby
Page List, Free Page List, Zero Page List) zugeordnet ist.
Process\Working Set: (Prozessor\Arbeitsmenge) Gibt die aktuelle Größe (in Bytes) des
Working Set dieses Prozesses an. Der Working Set enthält alle nicht ausgelagerten
Speicherseiten, auf die der Prozess in letzter Zeit zugegriffen hat. Wenn der freie Speicher im
Rechner über einem Schwellwert liegt, bleiben die Seiten im Working Set eines Prozesses,
auch wenn sie nicht verwendet werden. Wenn der freie Speicher unter den Schwellwert fällt,
werden aus den Working Sets Seiten entfernt. Bei Bedarf werden sie über ein Soft Page Fault
wieder dem Working Set zugeordnet, bevor sie den Hauptspeicher verlassen.
Processor\% Processor Time: (Prozessor\% Prozessorzeit). Prozentuale Angabe der
vergangenen Prozessorzeit, die zum Ausführen eines Threads benötigt wird, der sich nicht im
Leerlauf befindet. Dieser Leistungsindikator ist die primäre Anzeige der Prozessoraktivität. Die
Zeitspanne, die der Prozessor benötigt, um den Thread des Leerlaufprozesses in jedem
Abtastintervall auszuführen, wird von 100% subtrahiert. (Jeder Prozessor besitzt einen
Leerlaufthread, der Zyklen belegt, wenn keine anderen Threads ausgeführt werden können.)
Der Leistungsindikator zeigt die durchschnittliche prozentuale Belegung während des
Abtastintervalls an, indem die Zeitspanne, die der Dienst nicht aktiv war, von 100%
subtrahiert wird.
System\Processor Queue Length: (System\Prozessor Warteschlangenlänge). Die
Anzahl der Threads in der Prozessorwarteschlange. Im Gegensatz zu den
Datenträgerindikatoren werden mit diesem Leistungsindikator nur abgeschlossene und keine
noch ausgeführten Threads gezählt. Auch wenn mehrere Prozessoren vorhanden sind, wird
eine einzelne Warteschlange für die Prozessorzeit verwendet. Wenn ein Computer über
mehrere Prozessoren verfügt, müssen Sie folglich diesen Wert durch die Anzahl der mit der
www.visionapp.com
21
Arbeitslast beschäftigten Prozessoren teilen. Eine anhaltende Prozessorwarteschlange von
weniger als 10 Threads pro Prozessor ist je nach Arbeitslast akzeptabel.
System\Context Switches/sec: (System\Kontextwechsel/s). Die Rate, mit der alle
Prozessoren von einem Thread zum anderen umgeschaltet werden. Kontextwechsel treten
auf, wenn ein ausgeführter Thread den Prozessor freiwillig aufgibt, bzw. von einem Prozess
höherer Priorität verdrängt wurde oder vom Benutzer- in der Kernelmodus wechselt, um eine
Exekutive oder einen Teilsystemdienst zu verwenden. Dies ist die Summe von
Thread\\Context Switches/sec (Thread\Kontextwechsel/s) für alle Threads, die auf
allen Prozessoren des Computers ausgeführt werden und wird in der Anzahl der Wechsel
gemessen. Es gibt Kontextwechselindikatoren für die Objekte 'System' und 'Thread'. Dieser
Leistungsindikator zeigt die Differenz zwischen den Werten in den letzten beiden
Abtastintervallen dividiert durch die Intervalldauer an.
5.2
Hintergrundinformationen
Der Prozessleistungsindikator Working Set, der auf die Instanz _Total angewendet wird, um
alle Prozesse des Systems auf einmal zu überwachen, zählt die Bytes, auf die von Threads im
Prozess zugegriffen wird. Wenn aber genügend freier Speicher im Rechner vorhanden ist,
bleiben die Seiten im Working Set eines Prozesses, auch wenn sie nicht verwendet werden.
Wenn der freie Speicher unter einen Schwellwert fällt, werden nicht verwendete Seiten aus
Working Sets entfernt.
Die präziseste Methode für die Berechnung des Speicherbedarfs pro Benutzer ist eine
Auswertung mehrerer Leistungsindikatoren (Speicher\Pages Input/sec, Speicher\Pages
Output/sec, Speicher\Available Bytes und Prozess\Working Set(Total_)) in einem Szenario mit
beschränktem Speicher. Wenn ein System über reichlich physikalischen Arbeitsspeicher
verfügt, wird die Arbeitsmenge (Working Set) anfangs schnell wachsen und im Working Set
eines Prozesses bleiben auch nicht verwendete Seiten stehen. Sobald die Größe des gesamten
Working Set an die Grenzen des physikalischen Arbeitsspeichers stößt, ist das Betriebssystem
gezwungen, die nicht verwendeten Teile des Working Sets auszulagern, bis wieder genügend
freie Seiten verfügbar sind. Diese Auslagerung der nicht verwendeten Teile des Working Sets
erfolgt, wenn die laufenden Anwendungen zusammen mehr physikalischen Arbeitsspeicher
benötigen als verfügbar ist; in dieser Situation muss das System ständig Seiten ein- und
auslagern, um die Working Sets aller Prozesse aufrecht zu erhalten. In der Terminologie der
Betriebssystemtheorie wird dies Thrashing (Seitenflattern) genannt.
5.3
5.3.1
Schrittweise Beschreibung eines Testlaufs
Steuerungsrechner einrichten
1. Installieren Sie visionapp Remote Desktop (vRD).
2. Geben Sie die notwendigen Anmeldedaten für jeden Lasterzeuger-Client und Testserver
im vRD ein: Name, Benutzername, Passwort und Domäne (= IP-Adresse des Testservers).
3. Fügen Sie die Lasterzeuger-Clients dem Ordner Connections im vRD hinzu: Name,
Servername (IP-Adresse) und clientspezifische Anmeldedaten. Lassen Sie alle anderen
Einstellungen unverändert.
4. Fügen Sie die Testserver dem Ordner Connections im vRD hinzu: Name, Servername
(IP-Adresse) und clientspezifische Anmeldedaten. Lassen Sie alle anderen Einstellungen
unverändert.
www.visionapp.com
22
5.3.2
Clients (Lastgeneratoren) einrichten
1. Installieren Sie vRD Load Edition (vRDLoad) durch Ausführung von vRDLoadSetup.msi.
2. Passen Sie die Einstellungen von .vrd XML-Dateien so an, dass sie Ihrer Testumgebung
entsprechen: Domäne (IP-Adresse des Testservers), Benutzername und Passwort.
3. Kopieren Sie die benötigten .vrd-Dateien auf die Clients.
4. Führen Sie vRD auf dem Steuerungsrechner aus und melden Sie sich auf allen Clients an.
5. Führen Sie vRD Load Edition auf den Clients aus und importieren Sie die entsprechende
.vrd-Datei.
6. Ändern Sie die Einstellungen in der vRD Load Edition, darunter das Intervall zwischen
automatischen Benutzeranmeldungen.
5.3.3
Server einrichten
1. Installieren Sie Windows Server 2003 Standard oder Enterprise Edition (English).
2. Installieren Sie Windows Server 2003 SP1 oder R2.
3. Stellen Sie die Terminaldienste auf Applikationsservermodus um und erlauben Sie
Remote-Verbindungen.
4. Führen Sie aus der Kommandozeile cscript nuser.vbs aus. Die Erstellung von 400
Benutzerkonten inklusive Eintragung in die lokale Benutzergruppe und die Gruppe
"Remote Desktop Users" kann bis zu einer Stunde dauern.
5. Installieren Sie Adobe Acrobat Reader 7.0.5.
6. Führen Sie Adobe_wisptis__Service_Uninstall.reg aus, um den Prozess Wisptis.exe
zu deaktivieren.
7. Führen Sie AcrobatDisableEulaSplashScreen.reg aus, um den Splash-Screen zu
deaktivieren.
8. Löschen Sie die Verknüpfung für den Adobe Acrobat Reader Schnellstart aus dem
Autostart-Ordner unter All Users.
9. Installieren Sie Microsoft Office Professional Edition 2003 einschließlich Service Pack 2.
10. Entfernen Sie den Word-Dialog zur Abfrage der Benutzerinitialen: als Administrator
anmelden und in den Installationsmodus wechseln. Microsoft Word starten und Fragen in
der Dialogbox beantworten. Word beenden und in den Ausführungsmodus
zurückwechseln.
11. Ctfmon.exe entfernen – Schritt 1:Rufen Sie Systemsteuerung|Software auf und
wählen Sie in der Liste der installierten Softwareprodukte Microsoft Office Professional
Edition 2003 aus. Klicken Sie auf Ändern. Im Dialogfeld Wartungsmodus|Optionen
wählen Sie Features hinzufügen oder entfernen und klicken auf Weiter. Wählen Sie
Erweiterte Anpassung von Anwendungen und klicken Sie auf Weiter. Hierdurch wird
das Dialogfeld Wählen Sie die Installationsoptionen für alle Office-Anwendungen
und -Tools aufgerufen. Klicken Sie auf das Pluszeichen (+) neben Gemeinsam
genutzte Office-Features, um diesen Eintrag zu erweitern. Klicken Sie auf das Symbol
neben Alternative Benutzereingabe, und wählen Sie dann die Option Nicht verfügbar
aus. Klicken Sie auf Aktualisieren.
12. Ctfmon.exe entfernen – Schritt 2: Öffnen Sie in der Systemsteuerung die Regions- und
Sprachoptionen. In der Registerkarte Sprachen klicken Sie auf Details… Dies ruft den
Dialog Textdienste und Eingabesprachen auf. Wählen Sie die Registerkarte Erweitert
und dort die Option Alle erweiterten Textdienste deaktivieren.
www.visionapp.com
23
13. Ctfmon.exe entfernen – Schritt 3: Führen Sie “Regsvr32 /u msimtf.dll” und “Regsvr32
/u Msctf.dll” aus der Kommandozeile aus.
14. Ctfmon.exe entfernen – Schritt 4: Starten Sie Regedit und laden Sie NTUSER.dat aus
dem Standardbenutzerprofil in die Struktur HKEY_USERS. Entfernen Sie den Eintrag
HKCU\Software\Microsoft\Windows \CurrentVersion\Run\ctfmon.exe.
15. Kopieren Sie den Ordner Dokumente auf das lokale Laufwerk C.
16. Kopieren Sie bigiron.cmd vom lokalen Ordner Dokumente nach C:\Dokumente und
Einstellungen\All Users\Startmenü\Programme\Autostart.
HINWEIS: Für 32- und 64-Bit-Plattformen existieren unterschiedliche Versionen von
bigiron.cmd.
17. Kopieren Sie die sleep.exe vom lokalen Dokumente-Ordner in den Windows-Ordner.
5.3.4
Testen
1. Führen Sie MSinfo32.exe aus und sichern Sie die Daten in einer Datei.
WICHTIG: Dies ist ein notwendiges Testergebnis!
2. Führen Sie pslist –m > C:\before.txt auf dem Server aus.
WICHTIG: Dies ist ein notwendiges Testergebnis!
3. Richten Sie das Leistungsprotokoll ein. Passen Sie zunächst den Servernamen in der Datei
LogSettings.htm im Ordner Dokumente an. Dann wählen Sie Leistung im Menü
Verwaltung. Im Leistungsmonitor rufen Sie das Kontextmenü und wählen
Leistungsprotokolle und Warnungen|Leistungsindikatorenprotokolle und dann
Neue Protokolleinstellungen von. Im Dialogfeld Öffnen wählen Sie LogSettings.htm.
Starten Sie nun das Protokoll.
4. Starten Sie die Testreihe in der vRD Load Edition auf einem Client nach dem anderen (von
vRD auf dem Steuerungsrechner).
5. Nun läuft die Testreihe. Auf dem Server sollten Sie nichts außer der Beobachtung des
Task Managers unternehmen. Sie können den Testablauf jederzeit manuell unterbrechen,
indem Sie in der vRD Load Edition auf die Schaltfläche Stopp klicken. Wenn der Test
beendet ist, werden alle Start-Schaltflächen in der vRD Load Edition wieder aktiv.
6. Stoppen Sie das Leistungsprotokoll und kopieren Sie die Protokolldatei an einen sicheren
Ort. WICHTIG: Dies ist ein notwendiges Testergebnis!
7. Führen Sie pslist –m > C:\after.txt auf dem Server aus.
WICHTIG: Dies ist ein notwendiges Testergebnis!
8. Speichern Sie die Leistungsprotokolle aller Instanzen der vRD Load Edition aus dem
Ordner Programme\visionapp\.
5.3.5
Aufräumen
1. Verwenden Sie die Terminaldienstverwaltung, um alle Benutzersitzungen vom Testserver
zu entfernen.
2. Falls die Terminaldienstverwaltung wegen Speicherbeschränkungen nicht gestartet werden
kann, zwingen Sie mit Hilfe des Task Managers einen Benutzer nach dem anderen zur
Abmeldung.
3. Wenn Sie den Server für einen weiteren Test verwenden wollen, müssen Sie alle
Benutzerprofile entfernen. Dazu rufen Sie System aus der Systemsteuerung auf. In der
Registerkarte Erweitert wählen Sie Einstellungen unter Benutzerprofile. Löschen Sie
www.visionapp.com
24
alle Benutzerprofile, die mit "v" gefolgt von einer Ziffer beginnen.
HINWEIS: Verwenden Sie Tastaturkürzel (Alt+D und Alt+Y) statt der Maus.
Impressum
Weitergabe und Gewährleistung
Die in diesem Dokument enthaltenen Informationen, Konzepte und Ideen sind Eigentum der
visionapp GmbH. Eine Weitergabe, auch in Auszügen, ohne die Zustimmung der visionapp
GmbH ist nicht gestattet und führt in jedem Falle zu rechtlichen Konsequenzen.
Alle in diesem Dokument erwähnten Marken- und Produktnamen sind Warenzeichen der
jeweiligen Rechteinhaber und werden hiermit anerkannt.
Alle Produktbeschreibungen haben lediglich allgemeinen und beschreibenden Charakter und
sind nicht als Zusicherung bestimmter Eigenschaften oder als Gewährleistungs- oder
Garantieerklärung zu verstehen. visionapp übernimmt keine ausdrückliche oder
stillschweigende Gewähr für Dokumentation.
Alle Rechte vorbehalten ©visionapp Oktober 06
Über visionapp
Die visionapp GmbH ist spezialisiert auf die Planung, Implementierung und den Betrieb von
serverbasierten Infrastruktur- und Portal-Lösungen auf Basis von Microsoft- und CitrixTechnologien. Das Unternehmen verfügt über im Markt derzeit einzigartige Produkte und
Dienstleistungen, die es ermöglichen, Windows Terminal Server-Infrastruktur zu optimieren
und kostengünstiger zu administrieren. Im Mittelpunkt stehen automatisierte Deployment
Tools (visionapp Platform Management Suite), das Zugangsportal visionapp Access Portal
sowie Consulting- und ASP-Dienstleistungen.
Das Lösungsangebot ist auf die Bedürfnisse großer und mittelständischer Unternehmen aus
den Bereichen Finanzdienstleistung, Industrie, Handel und öffentliche Verwaltungen
zugeschnitten.
Weitere Informationen
visionapp GmbH
Head Office Frankfurt
Theodor-Heuss-Allee 110
D-60486 Frankfurt am Main
web: www.visionapp.com
www.visionapp.com
25

Documentos relacionados