Terminal Server Sizing Guide

Transcription

Terminal Server Sizing Guide
Ausgabe 4.0
Oktober 2009
Terminal Server Sizing Guide
Seiten 46
Abstract
Terminal Server als eine Form des Server-based Computing hat sich in
weiten Bereichen der IT Infrastruktur etabliert. Das vorliegende Papier
beschäftigt sich mit der Frage, wie viele Benutzer eine als Terminal Server
eingesetzte PRIMERGY mit adäquater Performance bedienen kann. Es
soll helfen, für eine geforderte Leistungsklasse das passende PRIMERGY Modell zu
finden. Nach einer allgemeinen Abhandlung über das Vermessen von Terminal Server
wird das zum Dimensionieren der PRIMERGY Systeme benutzte Simulationswerkzeug
(T4US) vorgestellt. Dann wird ausführlich darauf eingegangen, welche Komponenten
welchen Einfluss auf die Leistungsfähigkeit eines Terminal Server Systems haben.
Anschließend wird eine Einordnung älterer und aktueller PRIMERGY Systeme in
Bezug auf ihre Leistungsfähigkeit als Terminal Server durchgeführt. Da eine Dimensionierung auch immer
einen kundenspezifischen Aspekt beinhaltet, wird zusätzlich ein Überblick über nützliche Analysewerkzeuge
und Engpassanalysen gegeben. Zum Abschluss werden Messmethoden anderer Hersteller skizziert.
Inhalt
Einführung ................................................................... 2
PRIMERGY............................................................... 2
Server-based Computing .......................................... 2
Windows Terminal Server ...................................... 2
Lösungen ............................................................... 3
Trends .................................................................... 3
Dimensionierung.......................................................... 4
Methoden .................................................................. 4
Kenngröße »Benutzer« ............................................. 5
Benutzersimulation ................................................... 5
Interpretation............................................................. 6
Benchmark-Beschreibung ........................................... 7
Simulationswerkzeug: T4US ..................................... 7
Lastprofil ................................................................... 7
Lastprofil V1 ........................................................... 8
Lastprofil V2 ........................................................... 8
Messmethode ........................................................... 9
Messumgebung ......................................................... 10
Ressourcenbedarf ..................................................... 12
Betriebssystem ....................................................... 12
IA64 ..................................................................... 12
x64 ....................................................................... 12
Limitierungen ....................................................... 13
Auswirkungen ...................................................... 14
Rechenleistung ....................................................... 15
Prozessortyp ........................................................ 15
Taktfrequenz ........................................................ 16
Memory-Anbindung.............................................. 17
Caches ................................................................. 18
Hyper-Threading ..................................................19
Anzahl Kerne........................................................20
Arbeitsspeicher .......................................................21
Disk-Subsystem ......................................................24
Netzwerk .................................................................25
Infrastruktur .............................................................26
Überlastverhalten ....................................................28
Anzahl Prozesse ..................................................28
PRIMERGY Skalierung ..............................................29
Analysewerkzeuge .....................................................31
Task-Manager ......................................................31
Sysinternals Process Explorer .............................31
Performance Monitor ............................................31
Windows Performance Toolkit ..............................32
Citrix Resource Manager......................................34
Microsoft Operations Manager (MOM) 2005 ........35
Engpassanalyse ........................................................36
Rechenleistung/System ..........................................37
Arbeitsspeicher .......................................................38
Betriebssystemressourcen ......................................39
Disk-Subsystem ......................................................40
Netzwerk .................................................................41
Terminal Server ......................................................42
Applikationen ..........................................................43
Performance Monitor-Konfigurationsskript ..............44
Messwerkzeuge .........................................................45
Literatur......................................................................46
Kontakt.......................................................................46
White Paper
Sizing Guide | Terminal Server Sizing Guide
Version: 4.0, Oktober 2009
Einführung
PRIMERGY
»PRIMERGY« ist seit 1995 der Markenname für die sehr erfolgreiche Industrie-Standard-Server-Familie aus
dem Hause Fujitsu Technology Solutions. Es handelt sich dabei um eine bei Fujitsu Technology Solutions
entwickelte und produzierte Produktlinie mit Systemen für kleine Arbeitsgruppen bis hin zu Lösungen für
Großunternehmen. Zu den PRIMERGY Modellen gehören neben wirtschaftlichen 1-Socket Systemen der
Einstiegsklasse auch leistungsstarke Dual-Socket Systeme als Rack und Tower Modelle bis hin zu den
Mehr-Sockel Systemen und Blade Servern. Als Herzstück werden Intel Prozessoren der obersten
Leistungsklasse verwendet. Weitere detaillierte Informationen über die aktuellen Systeme findet man bei
Fujitsu Technology Solutions im Internet.
Server-based Computing
Windows Terminal Server
Terminal Server ist eine Form des Server-based Computing auf Basis von Microsoft Windows Server
Betriebssystemen.
Das klassische Server-based Computing ist
eine Systemarchitektur, bei der Microsoft
Windows Client-Anwendungen zu 100
Prozent auf dem Server installiert und
ausgeführt werden. Von dort erfolgt nicht nur
deren Einsatz, sondern auch deren Wartung,
Verwaltung und Support finden direkt auf
dem
Server
statt.
Lediglich
die
Benutzeroberfläche, d.h. die Bildschirm-,
Maus- und Tastatur-Informationen werden
zwischen Client und Server übertragen. Der
Benutzer kann so von fast beliebigen Clients
aus, auch nicht Windows basierten, über
einen solchen Terminal Server sofort auf
Windows Anwendungen zugreifen, ohne
dass die jeweiligen Applikationen erst zum
Client übertragen, dort gestartet, oder gar auf lokalen Massenspeichern vorgehalten werden müssten. Wird
ein Client ausschließlich in diesem Server-based Szenario eingesetzt, so hat er hinsichtlich Speicher- und
Plattenausstattung wesentlich geringere Anforderungen als ein traditioneller Client, man spricht daher auch
von so genannten Thin-Clients.
Vorteile des Server-based Computing sind die Kostenreduktion durch bessere Server-Auslastung sowie
bessere Administration durch Zentralisierung von Anwendungen.
Terminal
Server
Data
Store
Ein Terminal Server kann prinzipiell für alle
Arten von Applikationen eingesetzt werden. Wo
bislang kleine Rechner oder Terminals für
einfache
Dateneingabe
bzw.
-abfrage
Verwendung fanden, können mit dem Terminal
Server
moderne
Anwendungen
in
ein
bestehendes Umfeld integriert werden.
Eine
Terminal
Server
Farm
ist
ein
Zusammenschluß von Terminal Servern, die
eine gemeinsame Verwaltungseinheit, Data
Store genannt, besitzen. Diese werden
gemeinsam administriert. Die Zuordnung von
Benutzern zu Servern und Applikationen kann
statisch erfolgen oder dynamisch nach
Auslastung der Terminal Server (Load Balanced
Server Farm).
© Fujitsu Technology Solutions 2009
Seite 2 (46)
White Paper
Sizing Guide | Terminal Server Sizing Guide
Version: 4.0, Oktober 2009
Lösungen
Das Konzept des Server-based Computing hat seit 2000 unter dem Namen »Terminal Services« einen
festen Platz in Server-Produkten der Microsoft Windows 2000 Server und Windows Server 2003
Produktlinie. Selbst in dem Client-Betriebssystem ab Windows XP Professional steht in begrenztem Umfang
der Terminal Service unter dem Namen »Remote Desktop« zur Verfügung. Von einem beliebigen Windows
Client kann somit auf das entfernte System zugegriffen werden, wobei die Anwendungen komplett auf dem
Remote-System ablaufen. Das unterliegende Protokoll wird als »Remote Desktop Protocol« (RDP)
bezeichnet. Auch wenn seit dem aktuellen Betriebssystem Windows Server 2008 die Terminal-Dienste nicht
mehr »Terminal Services« heißen, sondern in »Remote Desktop Services« (RDS) umbenannt wurden, wird
in diesem Papier der Einfachheit halber weiterhin der Name »Terminal Services« verwandt. Die Remote
Desktop Services unter Windows Server 2008 sind um Funktionen erweitert, die die Verwaltung von
Terminal Server Anwendungen (RemoteApp), den Webzugriff (Remote Desktop Web Access) auf diese
sowie den sicheren Zugang zu den Terminal-Diensten über das Internet (Remote Desktop Gateway)
betreffen.
Der größte Player im Terminal Server Umfeld ist das US-amerikanische Softwarehaus Citrix. Sein
weiterentwickeltes Produkt »Citrix XenApp« (früher »Citrix Presentation Server«, davor »Citrix Metaframe«)
dient der virtuellen Bereitstellung und dem Managen von Anwendungen insbesondere in großen ServerUmgebungen. Citrix XenApp basiert auf Microsoft Windows Terminal Services. Es bietet Erweiterungen und
zusätzliche Funktionalitäten in den Bereichen der zentralen Verwaltung und Überwachung großer ServerFarmen, sowie Unterstützung in stark heterogenen IT-Umgebungen. Im Gegensatz zu Microsoft Terminal
Server benutzt Citrix das eigenentwickelte, effiziente ICA-(Independent Computing Architecture) Protokoll
zur Datenübertragung zwischen Client und Server.
Trends
Neben dem Konzept des Server-based Computing hat sich in den letzten Jahren das Konzept der
Virtualisierung in den unterschiedlichsten Formen durchgesetzt.
Server-Virtualisierung hat ähnlich wie Terminal Server Lösungen die Aufgabe, die Auslastung
physikalischer Server zu erhöhen und Betriebskosten sowie Wartungs- und Administrationsaufwände zu
verringern.
Unter Applikations-Virtualisierung versteht man den Ansatz, Anwendungen von ihrer Umgebung zu
isolieren, so dass Konflikte mit anderen Programmen oder dem Betriebssystem vermieden werden. Die
Terminal Server Lösung von Citrix, »Citrix XenApp« realisiert Applikations-Virtualisierung durch die zwei
Funktionalitäten: Application Streaming und Application Isolation. Das Application Streaming ermöglicht es,
Anwendungen zum Client Device zu bringen und dort in einer geschützten und isolierten Umgebung
ablaufen zu lassen. Die Applikations-Virtualisierungslösung von Microsoft findet sich in einem von Windows
Terminal Server separaten Produkt »Microsoft Application Virtualization« (bekannt auch als App-V, früher
SoftGrid).
Eine der größten Barrieren bei der Einführung einer Terminal Server Lösung ist die Tatsache, dass allen
Benutzern die gleiche Arbeitsplatzoberfläche bzw. die gleichen Anwendungen zur Verfügung gestellt
wurden. Eine komplette Individualisierung, wie sie der Benutzer von seinem traditionellen Arbeitsplatz aus
gewohnt ist, ist nicht möglich. Dieses wird bei der Desktop-Virtualisierung umgangen. Sie ist eine
Zusammenführung der beiden Konzepte Virtualisierung und traditionelles Server-based Computing und
findet sich im Konzept des von VMware zuerst eingeführten Begriffs des »Virtual Desktop Infrastructure«
(VDI) wieder.
In einer virtuellen Desktop-Umgebung sind die Desktops einzelner Benutzer in jeweils einer virtuellen
Maschine eines Servers »gehostet«. Damit hat jeder Benutzer sein eigenes Desktop-System. Zugriff auf
diesen virtuellen Arbeitsplatz kann z.B. über Protokolle wie RDP oder ICA erfolgen. Auch eine traditionelle
Terminal Server Umgebung bietet die Möglichkeit, einem Benutzer in einer Session einen Desktop zur
Verfügung zu stellen, allerdings entfällt die Möglichkeit der Personalisierung, wie sie bei einem traditionellen
PC-Arbeitsplatz möglich wäre. Eine Diskussion welches Konzept – VDI oder Terminal Server – in welchem
Umfeld mehr Vorteile bezüglich Kosten und Funktionalität bietet und sich damit durchsetzen wird, würde den
Rahmen dieses Papiers sprengen, bleibt aber weiterhin spannend.
© Fujitsu Technology Solutions 2009
Seite 3 (46)
White Paper
Sizing Guide | Terminal Server Sizing Guide
Version: 4.0, Oktober 2009
Dimensionierung
Methoden
Bei der Skalierung – das ist der Prozess, das System an die benötigte Leistung anzupassen – werden zwei
Methoden unterschieden:
Scale-Up
bezeichnet den Einsatz
zunehmend größerer
Server Systeme.
Scale-Out
bezeichnet den Einsatz von
vielen kleineren Systemen,
die sich die Arbeit teilen.
Beim Scale-Up wird die Leistung eines Terminal Servers durch den Einsatz leistungsfähigerer Hardware,
also insbesondere Rechenleistung und Arbeitsspeicher, erhöht. Es ist eine adäquate Skalierungsmethode,
wenn eine überschaubare Anzahl an Benutzern zu bedienen ist. Diesem Skalierungsprozess sind Grenzen
durch die maximale Leistungsfähigkeit des Server-Systems oder auch durch die Softwarearchitektur gesetzt.
Insbesondere bei einem 32-bit Windows Betriebssystem ergeben sich Limitierungen im Speicherbereich, die
dazu führen können, dass die Rechenleistung moderner Prozessoren nicht mehr voll ausgeschöpft werden
kann. Genauer wird darauf im Kapitel Betriebssystem eingegangen.
Beim Scale-Out werden viele Server zu einer Gruppe zusammengefasst. Man kann drei Varianten
unterscheiden:
1. Just a Bunch of Servers
»Just a Bunch of Servers« ist eine lose Ansammlung von Servern, hier Terminal Servern, denen dedizierte
Benutzergruppen oder Applikationen zugeordnet sind. Es findet jedoch unter den Terminal Servern kein
Informationsaustausch und kein Lastenausgleich statt. Der Vorteil dieser Architektur ist die sehr einfache
Erweiterbarkeit. Nachteilig ist, dass durch fehlenden Lastenausgleich Server-Leistung ungenutzt bleiben
kann. Der administrative Aufwand ist recht hoch, da jedes System separat verwaltet werden muss. Dennoch
wird diese Variante des Scale-Outs in der Praxis in kleineren Konfigurationen eingesetzt.
2. Server-Farm
Eine Terminal Server Farm ist ein Zusammenschluß von Terminal Servern, die eine gemeinsame
Verwaltungseinheit besitzen. Die Zuordnung von Benutzern zu Servern und Applikationen erfolgt meist
statisch. Vorteil gegenüber der »Just a Bunch of Servers« Variante ist die vereinfachte Administration der
Server. Auch diese Variante des Scale-Outs wird in der Praxis sehr häufig eingesetzt.
3. Load-balanced Server-Farm
Bei einer »load-balanced Server-Farm« werden die
einzelnen Terminal Server zu einer logischen Einheit
zusammengefasst. Wird von einem Client eine Session
initiiert, so wird diese von einem Load Balancer nach
bestimmten Mechanismen an den Server mit der
momentan geringsten Auslastung delegiert. Neben der
besseren Auslastung der Terminal Server bietet das
Load Balancing auch eine gewisse Redundanz.
Aktuelle Terminal Server Softwarelösungen, sowohl
von Microsoft als auch Citrix, bieten umfangreiche
Möglichkeiten des Load Balancing.
Terminal
Server
Session
List
Load Balancer
Im Folgenden beschäftigen wir uns mit einem Scale-Up Scenario, d.h. der Dimensionierung eines einzelnen
Terminal Servers.
© Fujitsu Technology Solutions 2009
Seite 4 (46)
White Paper
Sizing Guide | Terminal Server Sizing Guide
Version: 4.0, Oktober 2009
Kenngröße »Benutzer«
Vor jeder Implementierung eines Applikations-Servers steht immer die gleiche Frage: Welches ist die
passende Hardware für die geforderte Aufgabe? Natürlich möchte man dabei ein möglichst optimales
System, welches weder für die Anforderungen zu klein noch (aus Kostengründen) total überdimensioniert ist.
Die Frage ist also: Wie findet man ein wohl dimensioniertes System?
Die einzige meist vorliegende Kenngröße ist die Anzahl Benutzer, die mit dem System arbeiten sollen. Die
typische Frage, die also zumeist auftritt, ist: »Welches PRIMERGY Modell benötigt man für einen Terminal
Server zur Unterstützung einer bestimmten Anzahl von Benutzern?«. Optimalerweise würde man als Antwort
eine handliche Tabelle erwarten, aus der anhand der Benutzerzahl in der einen Spalte unmittelbar aus der
zweiten Spalte das ideale PRIMERGY System abgelesen werden kann. Leider gibt es eine solche Tabelle
nicht – auch wenn mancher Mitbewerber dies dem Kunden mit bunten Web-Seiten suggeriert. Die Antwort
auf die scheinbar so einfache Frage ist doch wesentlich komplexer, denn sie enthält eine große Unbekannte,
und die ist der Benutzer.
Ein Benutzer ist, auch wenn dies viele vielleicht wünschen, keine standardisierte und berechenbare Größe,
sondern ein Individuum mit unterschiedlichem Arbeitstempo und Arbeitsverhalten. Das Arbeitstempo z.B.
bestimmt mit welcher Häufigkeit Eingaben gemacht werden und hat damit direkten Einfluss auf die
Belastung des Terminal Server Systems. Hinzu kommen unterschiedliche Arbeitsaufgaben, die in
unterschiedlichen Anforderungen an ein Computersystem resultieren. Ein Benutzer, dessen Aufgabe aus
Abfragen an ein Lagerhaltungssystem besteht, wird eine andere Last auf einem Computersystem erzeugen,
als ein Benutzer, dessen Aufgabe es ist, eine grafische Werbebroschüre zu entwerfen. Nicht zu
vernachlässigen ist der mit der Zeit steigende Ressourcenverbrauch der Applikationen durch deren
Weiterentwicklung, z.B. im Bereich 3D-Grafik oder Multimedia/Videoanwendungen.
Die folgende Tabelle zeigt eine Einteilung der Benutzer in Gruppen nach ihrem Benutzerverhalten und
Belastungsprofil.
Heavy
Knowledge Worker
Medium
Process Worker
Light
Data Entry Worker
nutzt gleichzeitig mehrere verschiedene Anwendungen
gibt Daten mäßig schnell ein
führt komplexere Operationen aus
arbeitet zu einer Zeit intensiv mit einer Anwendung
gibt schnell viele Daten ein
arbeitet kontinuierlich
arbeitet zu einer Zeit nur mit einer Anwendung
gibt wenig Daten ein
längere Pausen zwischen den Eingaben
Wie im Kapitel Lastprofil noch erläutert wird, wurde bei den Messungen für das vorliegende Dokument das
Verhalten eines Medium Benutzers angenommen.
Benutzersimulation
Bei Leistungsmessungen werden generell keine realen Benutzer verwendet, sondern die Benutzer werden
mit Hilfe von Computern, so genannten Lastgeneratoren, und einer speziellen Software simuliert. Dabei wird
von einem physikalischen Lastgenerator zumeist eine Vielzahl von logischen Benutzern simuliert, so dass je
nach Lastgenerator einige zig oder hundert Benutzer simuliert werden können. Die folgende Abbildung zeigt
eine typische Simulationsumgebung.
SimulationsNetzwerk
…
SUTNetzwerk
Controller
Lastgeneratoren
© Fujitsu Technology Solutions 2009
System
under Test
(SUT)
InfrastrukturServer
Seite 5 (46)
White Paper
Sizing Guide | Terminal Server Sizing Guide
Version: 4.0, Oktober 2009
Der Controller ist die zentrale Steuerkonsole, die die Simulation steuert und überwacht. Über ein
Simulations-Netzwerk ist dieser mit den Lastgeneratoren verbunden. Jeder Lastgenerator kann eine Vielzahl
von Benutzern simulieren. Die Lastgeneratoren erreichen das Testsystem (System under Test (SUT)) über
ein zweites Netzwerk, in dem sich auch noch ein Infrastruktur-Server befindet. Dieser liefert dem SUT die
notwendigen Dienste, aber er wird selbst nicht vermessen.
Unterschiedliche Benutzergruppen, wie oben diskutiert, werden von Lastsimulatoren zumeist durch
verschiedene Lastprofile, im Terminal Server Umfeld auch Skript genannt, berücksichtigt.
Bei der Benutzersimulation unterscheidet man die Begriffe »Lastgenerator«, »Client« und »Benutzer«. Im
weiteren Verlauf wird als »Lastgenerator« die Hardware bezeichnet. Ein »Client« ist der Terminal Server
Client, von dem einer oder mehrere auf dem Lastgenerator ausgeführt werden. Ein simulierter »Benutzer«
arbeitet innerhalb einer Terminal Server Sitzung.
Interpretation
Anders als bei anderen Benchmarks, wo es vom Hersteller der Applikation oder einem unabhängigen
Gremium einen Benchmark und ein entsprechendes Reglement zur Durchführung gibt, wie z.B. bei Microsoft
Exchange Server, SAP R/3, SPECweb oder TPC, gibt es für Terminal Server bis heute keinen
standardisierten und akzeptierten Benchmark. Es existieren zwar verschiedene Produkte verschiedener
Hersteller zur Benutzersimulation, aber es gibt kein standardisiertes Werkzeug, mit dem sowohl Microsoft als
auch Citrix Terminal Server vermessen und verglichen werden können.
Ergebnisse solcher Performance-Messungen verschiedener Hersteller oder Benchmark-Labore sind unter
diesen Bedingungen natürlich nicht untereinander vergleichbar. Nur Messungen, die in gleicher Umgebung
und mit vergleichbarem Lastprofil durchgeführt wurden, können auch sinnvoll verglichen werden.
Weiterhin ist zu beachten, dass es sich bei den Terminal Server Sizing Messungen um Auswertungen in
einer vereinfachten, idealisierten und standardisierten Umgebung handelt, um vergleichbare Bedingungen
für alle Systeme zu schaffen. Zusätzliche Komponenten und Programme sind nicht installiert, und der
Terminal Server wird bis an seine Leistungsgrenze belastet. In der Realität wird man Zusatzsoftware wie
zum Beispiel einen Virenscanner installiert haben, oder man betreibt weitere Add-Ons der Terminal Server
Software. Auch werden Terminal Server im Produktivbetrieb nicht bis an ihre Leistungsgrenze belastet.
Vor diesem Hintergrund kann man also sagen:
Obgleich die Einheit vieler Performance-Messungen »Anzahl Benutzer pro Server« ist, sollte man nur
Ergebnisse von Performance-Messungen im gleichen Umfeld miteinander vergleichen. Sie sollten in erster
Linie auch nur relativ betrachtet werden, also beispielsweise »ein System A ist doppelt so
leistungsfähig wie ein System B« oder »die Verdopplung des Arbeitsspeichers resultiert in x%
Leistungssteigerung«. Denn wie bereits im Kapitel Kenngröße »Benutzer« erläutert, ist ein Benutzer
schwer zu quantifizieren, und ein synthetischer Benutzer muss nicht in allen Fällen mit einem realen
Benutzer korrelieren.
© Fujitsu Technology Solutions 2009
Seite 6 (46)
White Paper
Sizing Guide | Terminal Server Sizing Guide
Version: 4.0, Oktober 2009
Benchmark-Beschreibung
Simulationswerkzeug: T4US
Fujitsu Technology Solutions hat einen eigenen Lastsimulator, T4US, entwickelt, der unabhängig von dem
verwendeten Terminal Server und ohne Einflüsse auf das zu testende System beliebige Benutzerprofile
simulieren kann.
Benutzeraktivitäten wie Tastatur- und Mauseingaben
sowie Bildschirmausgaben können mit Hilfe des Aufzeichnungswerkzeugs T4US-Record in Echtzeit aufgezeichnet und in einem T4US-Skript gespeichert
werden. T4US-Skripte werden während der Messung
als Lastprofil verwendet.
Benutzer bei
der Arbeit
T4US
Record
T4US
Skript
Der Lastsimulator von T4US besteht aus drei Komponenten.
T4US-Control steuert und
überwacht den gesamten
System under Test (SUT)
Simulationslauf zentral und
Controller
Lastgenerator
SUT
ermittelt Messwerte bereits
T4US
während der Messung. Auf
Play
jedem der Lastgeneratoren
TS Client
laufen mehrere Instanzen
des T4US-Playback. JeT4US
des T4US-Playback »fütPlay
tert« einen Terminal Server
TS Client
…
Client in Echtzeit mit Tastatur- und Mauseingaben
T4US
T4US
anhand der mit T4USPlay
T4US
Terminal
Agent
Record
aufgezeichneten
Control
Server
TS Client
Skripte und überwacht die
Bildschirminhalte
des
Terminal Server Clients.
Durch hoch auflösende Timer wird so die Antwortzeit des Terminal Servers ermittelt. Auf jedem der Lastgeneratoren läuft ein T4US-Agent, der für die Kommunikation mit dem Controller zuständig ist, die Instanzen
von T4US-Playback steuert und überwacht und die ermittelten Antwortzeiten zum Controller überträgt.
Bei der Messung wird die Anzahl der Benutzer, die mit dem Terminal Server arbeiten, kontinuierlich erhöht.
Die Antwortzeiten des Terminal Servers werden vom T4US-Controller überwacht und mit gespeicherten
Referenzwerten, die in einer vorhergehenden Referenzmessung mit nur wenigen Benutzern ermittelt worden
sind, verglichen. Wenn sich die Antwortzeit der Anwendung so weit verschlechtert, dass sie den vorgegebenen Regeln nicht mehr genügt, wird die Messung beendet und man erhält die Benutzeranzahl als Resultat
der Messung
…
Lastprofil
Wie im Kapitel Kenngröße »Benutzer« schon erläutert wurde, hängt die Belastung eines Terminal Servers
stark vom Benutzer ab. Das Benutzerverhalten spiegelt sich bei einer Simulation im Lastprofil wider. Die hier
beschriebenen Lastprofile simulieren das Verhalten eines »Medium User«, der zu einer Zeit intensiv mit
einer Anwendung arbeitet und kontinuierlich, schnell viele Daten eingibt.
Der größte Teil der Messungen für den »Sizing Guide« wurde mit dem Lastprofil V1 durchgeführt. Allerdings
stellte sich heraus, dass durch verbesserte Leistung der zu vermessende Systeme (neue
Prozessorgenerationen) der Benchmark mit diesem Lastprofil in eine Größenordnung kam, bei der die
gemessene Benutzeranzahl durch die Anzahl Ab- und Anmeldevorgänge, also daraus resultierende
Restriktionen im Betriebssystem, erreicht wurde und nicht mehr durch die Prozessorleistung des Systems.
Das bedeutete, der Benchmark erreichte seine Grenzwerte schon ohne den Prozessor auszulasten.
Verbesserte Prozessorleistung und damit auch Systemleistung konnten so nicht mehr gemessen werden.
© Fujitsu Technology Solutions 2009
Seite 7 (46)
White Paper
Sizing Guide | Terminal Server Sizing Guide
Version: 4.0, Oktober 2009
Deshalb wurde ein neues Lastprofil V2 definiert. Die mit dem Lastprofil V2 erreichten maximalen
Benutzerzahlen pro System sind natürlich nicht direkt vergleichbar mit den Benutzerzahlen des Lastprofils
V1. Im Kapitel PRIMERGY Skalierung werden daher die Messergebnisse in Relation zueinander und nicht
mehr absolut angegeben.
Lastprofil V1
Im Lastprofil V1 dient Microsoft Word als Anwendung und der Benutzer schreibt einen bebilderten Text mit
einer durchschnittlichen Eingaberate von 230 Anschlägen pro Minute.
Des Weiteren beinhaltet das Lastprofil:
Jeder Benutzer arbeitet unter einem eigenen Benutzerkonto.
Die erste Anmeldung (Login) des Benutzers und der erste Start der Anwendung liegen außerhalb der
Messstrecke. Jedoch meldet sich der Benutzer nach einmal getaner Arbeit am Terminal Server ab und
für einen neuen Durchlauf wieder an. Da die Benutzer versetzt gestartet werden, ergibt sich so während
der gesamten Messdauer ein kontinuierliches An- und Abmelden.
Jeder Terminal Server Client (Benutzer) startet die Applikation aus seinem Desktop heraus, die
Applikation wird bei jedem Skriptdurchlauf gestartet und beendet.
Jeder Benutzer hat sein eigenes Verzeichnis, in dem die im Text verwendeten Bilder hinterlegt sind. So
wird verhindert, dass alle Benutzer die gleichen Bilder-Dateien laden und sich diese nach kurzer Zeit alle
im Server File Cache befinden. Jeder Benutzer schreibt bei jedem Skriptdurchlauf ein neues Dokument
mit eindeutigem Namen. Nach erfolgreicher Erstellung wird das Dokument auf die Festplatte des
Terminal Servers in ein benutzereigenes Verzeichnis gespeichert.
Die durchschnittliche Eingabegeschwindigkeit liegt bei etwa 4 Zeichen bzw. Cursor-Bewegungen pro
Sekunde. Allerdings finden nicht während des gesamten Durchlaufes Eingaben statt, denn es sind
diverse, unterschiedlich lange Denkzeiten im Skript eingestreut, wie es einem natürlichen Arbeiten nahe
kommt.
Die Bildschirmauflösung ist 1024x768, die Farbtiefe ist 16-bit.
Ein Durchlauf des Skripts inklusive Wartezeiten dauert ca. 16 Minuten.
Lastprofil V2
Das neue Lastprofil V2 zeichnet sich dadurch aus, dass ein zu simulierender Benutzer mit verschiedenen
Microsoft Office Anwendungen nacheinander arbeitet. Neben der Erstellung eines Microsoft Word
Dokumentes wird auch eine PowerPoint-Präsentation kreiert. Ebenso werden Berechnungen auf einem neu
angelegten Excel-Arbeitsblatt durchgeführt. Die Anzahl der An- und Abmeldevorgänge ist im Vergleich zum
Lastprofil V1 reduziert. Im Schnitt meldet sich nur jeder sechste Benutzer zyklisch am Terminal Server ab
und wieder an. Ebenso druckt durchschnittlich jeder sechste Benutzer ein Word-Dokument aus. Zusätzliche
CPU-Last wird durch Verpacken und Entpacken von Dateien im Speicher erreicht. Die Tippgeschwindigkeit
des simulierten Benutzers beträgt zwischen 330 und 440 Anschlägen pro Minute.
Die weiteren Rahmenbedingungen gelten wie beim Lastprofil V1:
Jeder Benutzer arbeitet unter einem eigenen Benutzerkonto.
Jeder Terminal Server Client (Benutzer) startet die Applikation aus seinem Desktop heraus, die
Applikation wird bei jedem Skriptdurchlauf gestartet und beendet.
Jeder Benutzer hat sein eigenes Verzeichnis, in dem die im Text verwendeten Bilder hinterlegt sind. So
wird verhindert, dass alle Benutzer die gleichen Bilder-Dateien laden und sich diese nach kurzer Zeit alle
im Server File Cache befinden. Jeder Benutzer schreibt bei jedem Skriptdurchlauf ein neues Dokument
mit eindeutigem Namen. Nach erfolgreicher Erstellung wird das Dokument auf die Festplatte des
Terminal Servers in ein benutzereigenes Verzeichnis gespeichert.
Die Bildschirmauflösung ist 1024x768, die Farbtiefe ist 16-bit.
© Fujitsu Technology Solutions 2009
Seite 8 (46)
White Paper
Sizing Guide | Terminal Server Sizing Guide
Version: 4.0, Oktober 2009
Messmethode
Zu einer Leistungsmessung gehört neben einem Simulationswerkzeug und einem möglichst realistischen
Lastprofil ein Regelwerk, nach dem die einzelnen Messungen durchgeführt und bewertet werden. Im
Folgenden wird das Regelwerk beschrieben, nach der die Messungen für diesen Sizing Guide durchgeführt
wurden.
Bei der Messung mit variabler
Benutzeranzahl wird die Anzahl der
Benutzer, die mit dem Terminal
Server
arbeiten,
nach
einer
voreingestellten Regel kontinuierlich
erhöht, bis der Terminal Server
überlastet ist. Dabei wird eine
Überlastung des Servers durch die
gemessenen
Antwortzeiten
im
Vergleich zu vorher festgelegten
Referenzzeiten definiert. Insgesamt
müssen
90%
der
Messwerte
innerhalb
eines
festgesetzten
Rahmens liegen, 10% Ausreißer
werden toleriert. Die so erreichte
Benutzeranzahl ist das Ergebnis der Messung und wird als »Score« bezeichnet.
Die Referenzzeiten werden vorher aus den durchschnittlichen Antwortzeiten bei geringer Belastung (nur
wenige simulierte Benutzer) ermittelt. Sie sind hauptsächlich von den Wartezeiten innerhalb der Skripte
begrenzt und unterscheiden sich nur minimal von System zu System.
Die Grafik veranschaulicht die
Arbeitsweise des T4US Controllers
bei der Auswertung der Messwerte.
Die waagerechte Linie bei 1000 ms
Antwortzeit ist die eingestellte
Grenze, die 90% der Messwerte
nicht überschreiten dürfen. Einige
Ausreißer sind erlaubt, diese werden
durch nachfolgende Werte innerhalb
des erlaubten Bereichs kompensiert.
Werden jedoch zu viele Ausreißer
erkannt, gilt der Terminal Server als
überlastet. Die Messung wird an
dieser Stelle beendet. In diesem
Beispiel ist der Score »76 Benutzer«.
Das Bild zeigt außerdem, wie sich
die Messwerte weiter verschlechtern würden, wenn noch weitere Benutzer hinzugefügt würden. Rechts von
der senkrechten Markierung verlängern sich die Antwortzeiten für alle Benutzer erheblich.
Auch wenn es von Microsoft und Citrix zahlreiche Artikel zur Optimierung von Betriebssystem- und Terminal
Server gibt, so haben wir bei unseren Messungen doch gänzlich auf eine Optimierung verzichtet. Der Grund
ist, dass viele dieser Einstellungen nur in bestimmten Umgebungen Sinn machen; in einem anderen Umfeld
eingesetzt bewirken sie oft das Gegenteil. Da wir verschiedene PRIMERGY Systeme mit unterschiedlichen
Systemkomponenten untersucht haben, wären die Ergebnisse nicht miteinander vergleichbar gewesen.
Die einzigen Einstellungen, die verändert werden um alle PRIMERGYs den gleichen Testbedingungen zu
unterwerfen, sind:
Das Pagefile des Betriebssystems wurde auf eine feste Größe entsprechend des verwendeten
Hauptspeichers eingestellt, um eine Fragmentierung zu vermeiden und damit für alle getesteten
Server die gleichen Bedingungen vorliegen.
Für Citrix musste die Grenze von 100 Benutzern pro Server, die durch das eingebaute Load Balancing
vorgegeben wird (auch wenn die Terminal Server Farm aus nur einem Terminal Server besteht)
aufgehoben werden.
© Fujitsu Technology Solutions 2009
Seite 9 (46)
White Paper
Sizing Guide | Terminal Server Sizing Guide
Version: 4.0, Oktober 2009
Messumgebung
Untersucht wurden alle aktuellen PRIMERGY Modelle, die für den Einsatz als typischer Terminal Server
geeignet sind, in der folgenden Messumgebung:
Controller
für die
Simulation
Simulationsnetzwerk
switched
100 Mbit
PRIMERGY C200
T4US-Control
System
under test
(SUT)
Lastgeneratoren
ca. 40 PRIMERGY Dual Server
Windows Server 2003
TS-Client
T4US-Agent, T4US-Playback
Jeder simuliert bis zu 12 Benutzer
InfrastrukturServer
SUTNetzwerk
switched
100 Mbit
PRIMERGY
Windows Server 2003
Windows Server 2008
Enterprise Edition
PRIMERGY C200
Windows Server 2003
Active Directory
Terminal Server
Licensing Service
Controller (T4US-Control):
Auf dem Controller kam Windows Server 2003 Standard Edition zum Einsatz.
Lastgeneratoren:
20 - 40 Lastgeneratoren (PRIMERGY Dual Server)
Die Lastsimulatoren liefen unter dem Betriebssystem Windows Server 2003 Standard Edition SP1. Die
Messungen mit Lastprofil V2 wurden mit SP2 durchgeführt.
Clients:
Für den Zugriff auf den Terminal Server über das ICA-Protokoll wurde der Citrix Terminal Server Client
(Programm Neighborhood mit 32-bit ICA-Client) verwendet (entweder Version 7.00.17534 aus »Citrix
MetaFrame XP Presentation Server« Feature Release 3 oder Version 9.00.32649 aus »Citrix
Presentation Server 4.0«).
Der RDP-Client (»Remote Desktop«) von Microsoft ermöglicht den Zugriff auf einen Terminal Server
über das RDP-Protokoll. In Windows Server 2003 Standard Edition ist die Version 5.2.3790.1830 des
RDP-Clients enthalten, der das RDP-Protokoll V5.2 unterstützt. Die Messungen mit dem Lastprofil V2
wurden mit dem RDP-Protokoll V6.0.6000.16459 durchgeführt.
Netzwerk:
Die Anbindung der Lastsimulatoren an das SUT-Netzwerk erfolgte über ein 100 MBit-Ethernet-Netzwerk,
wobei der Terminal Server über den Gigabit-Uplink angeschlossen war. Das Netzwerkprotokoll war
TCP/IP.
Terminal Server (System under Test):
Die vermessenen PRIMERGY Server (System under Test) waren jeweils mit Windows Server 2003
Enterprise Edition ausgestattet. Die Terminal Services waren im Application Server Modus aktiviert. Die
Messungen mit dem Lastprofil V2 wurden unter Windows Server 2008 durchgeführt.
Bei den Messungen, bei denen ein Citrix Terminal Server vermessen wurde, war entweder Citrix
MetaFrame Enterprise Edition mit Service Pack 3 und Feature Release 3 oder Citrix Presentation Server
installiert. Die Terminal Server Farm bestand nur aus einem Terminal Server. Der Data Store befand
sich lokal auf der Systemplatte des zu vermessenden Systems und war als Microsoft Access Datenbank
realisiert.
Auch die Dateien der Benutzer, die während der Messung gelesen und geschrieben wurden, lagen lokal
auf dem Terminal Server.
Die Benutzerprofile wurden standardmäßig auf dem Terminal Server gespeichert.
© Fujitsu Technology Solutions 2009
Seite 10 (46)
White Paper
Sizing Guide | Terminal Server Sizing Guide
Version: 4.0, Oktober 2009
Infrastruktur-Server:
Der Infrastruktur-Server stellt dem System under Test notwendige Dienste zur Verfügung, er selbst
wurde nicht vermessen. Der Server wurde so dimensioniert, dass er keinen Engpass darstellt.
Die Benutzerkonten der simulierten Benutzer wurden auf dem Active Directory Domain Controller
angelegt. Ein Login fand immer gegen das Active Directory statt.
Das Active Directory System dient gleichzeitig als DNS Server und beherbergt den Terminal Server
Licensing Service.
Der Infrastruktur-Server lief unter dem Betriebssystem Windows Server 2003 Standard Edition SP1.
© Fujitsu Technology Solutions 2009
Seite 11 (46)
White Paper
Sizing Guide | Terminal Server Sizing Guide
Version: 4.0, Oktober 2009
Ressourcenbedarf
Im Folgenden wollen wir diskutieren und anhand von Messergebnissen untermauern, welche Komponenten
welchen Einfluss auf die Leistungsfähigkeit eines Terminal Server Systems haben. Dabei wird neben
Aspekten des Betriebssystems auf die Performance-relevanten Faktoren eines Server-Systems wie
Rechenleistung, Arbeitsspeicher, Disk-Subsystem und Netzwerk eingegangen. Im Anschluss daran wird das
Umfeld, in dem ein Terminal Servers betrieben wird, betrachtet und auf Komponenten der Infrastruktur
hingewiesen, die das Performance-Verhalten beeinflussen. Zum Abschluss wird das Verhalten eines
Terminal Servers in beobachteten Überlastsituationen erläutert.
Betriebssystem
Microsoft Windows Server Betriebssysteme existieren bis Windows Server 2008 in zwei Varianten, der 32bit- und der 64-bit-Variante. Auch wenn es zukünftige Betriebssysteme – ab Windows Server 2008 R2 – nur
in der 64-bit-Variante geben wird, soll hier noch auf die Unterschiede und die damit möglichen PerformanceEinbußen bei Terminal Server eingegangen werden.
Voraussetzung für ein 64-bit-Betriebssystem ist eine 64-bit-Hardware-Plattform. Hier unterscheiden wir
aktuell Intel Itanium (IA64) und x64.
IA64
Prozessoren der IA64 Plattform sind nicht Code-kompatibel zu 32-bit-Anwendungen (x86); das hat zur
Konsequenz, dass x86-Anwendungen auf Itanium Systemen lediglich emuliert werden, was jedoch einen
entsprechenden Performance-Verlust durch die Emulationsschichten bedeutet. Einen Terminal Server auf
einer IA64 Architektur zu betreiben ist also nicht sinnvoll, da alle 32-bit-Anwendungen (z.B. Microsoft Office
2007) durch die Emulation sehr langsam laufen würden. Daher gibt es aktuell für Itanium-basierte Systeme
weder Citrix Terminal Server Lösungen noch kann unter Windows Server 2008 das Feature Terminal Server
konfiguriert werden.
x64
Mit x64 werden die Architekturen bezeichnet, die 100% kompatibel zur x86-Architektur sind und nur
Erweiterungen für 64-bit bieten. Hierzu zählen der AMD Opteron mit der AMD64-Achitektur und die Intel
Pentium und Xeon Prozessoren der neuesten Generation mit EM64T (jetzt Intel 64)-Architektur.
Der Vorteil der x64 Plattform ist, dass 32-bit-Anwendungen, wie z.B. Microsoft Office direkt unter dem x64Betriebssystem ausgeführt werden können. Das 64-bit Windows stellt das WoW64 (»Windows on
Windows64«) Subsystem bereit, um einen reibungslosen Betrieb der 32-bit-Applikationen zu ermöglichen.
Im WoW64 werden Zugriffe auf den Speicher, auf die Registry und auf das Dateisystem isoliert. Allerdings
gilt für viele systemnahe Anwendungen und alle Anwendungen, die Treiberkomponenten enthalten, sie
müssen speziell für x64-Systeme angepasst werden, da sie im 32-bit-Modus nicht ablauffähig sind. Beispiele
für Anwendungen, die speziell für 64-bit angepasst wurden sind Microsoft SQL Server oder Microsoft
Exchange Server und die Terminal Server Produkte von Citrix. 16-bit-Anwendungen für DOS oder Windows
sind generell nicht mehr ablauffähig, dies ist insbesondere ein Problem für Anwendungen mit einem 16-bitInstaller.
Nachfolgende Tabelle gibt einen Überblick über relevante Systemplattformen und Windows Produkte und
deren Anforderungen an Gerätetreiber und Anwendungen.
Server-Plattform
Windows Produkt
Betriebssystem
Gerätetreiber
Anwendungen
x86
Windows Server 2003 R2 /
Windows Server 2008
Standard Edition
Enterprise Edition
Datacenter Edition
32-bit
32-bit
32-bit
© Fujitsu Technology Solutions 2009
x64
Windows Server 2003 R2 /
Windows Server 2008
Standard Edition
Enterprise Edition
Datacenter Edition
32-bit
32-bit
32-bit
x64
Windows Server 2003 R2 /
Windows Server 2008
Standard x64 Edition
Enterprise x64 Edition
Datacenter x64 Edition
64-bit
64-bit
32-bit und 64-bit
Seite 12 (46)
White Paper
Sizing Guide | Terminal Server Sizing Guide
Version: 4.0, Oktober 2009
Limitierungen
Der wesentliche Unterschied zwischen 32-bit- und 64-bit-Architektur liegt in der Größe des adressierbaren
32
Speichers. Mit einer 32-bit-Architektur sind durch die Wortbreite des Prozessors maximal 2 Byte =4 GByte
64
adressierbar, mit einer 64-bit-Architektur sind es bis zu 2 Bytes = 16 Exabyte (EB). Die nachfolgende
Tabelle gibt einen Überblick über die Limitierungen der verschiedenen 32-bit und 64-bit Windows Produkte,
die für Terminal Server sinnvoll eingesetzt werden können.
Windows Produkt
(WS = Windows Server)
WS 2003 R2 / WS 2008
WS 2003 R2 x64 / WS 2008 x64
Standard
Edition
Enterprise
Edition
Standard
Edition
Enterprise
Edition
Anzahl Prozessoren
1–4
1–8
1–4
1–8
Max. RAM
4 GB
64 GB
(mit PAE)
32 GB
2 TB
gesamter virtueller
Adressraum
Virtueller Adressraum
eines 32-bit-Prozesses
4 GB
16 TB
2 GB
2 GB
3 GB wenn mit
/3GB Switch gebootet
4 GB wenn mit
/LARGEADDRESSAWARE
übersetzt wurde
-
8 TB
Virtueller Adressraum
eines 64-bit-Prozesses
Paged Pool
470 MB
/ WS 2008 dynamisch
128 GB
Non-Paged Pool
256 MB
/ WS 2008 dynamisch
128 GB
ca. 900 MB
/ WS 2008 dynamisch
128 GB
1 GB
/ WS 2008 dynamisch
1 TB
System Page Table
Entries
System Cache
Bei dem 32-bit Windows ist der virtuelle Adressraum von 4 GB standardmäßig in 2 GB für das
Betriebssystem und 2 GB für die Anwendungen unterteilt. In den 2 GB, die vom Betriebssystem verwendet
werden, werden alle Datenstrukturen und Informationen des Kerns gehalten. Hier sind drei besondere
Datenbereiche zu nennen: die Paged Pool Area, die System Page Table Entries (PTE) Area und der System
File Cache. Speicher aus der Paged Pool Area wird von Kernel-Mode Komponenten angefordert, während
die PTE Area für Kernel Stack Allocations verwendet wird. Im System File Cache werden Speicherabbilder
von geöffneten Dateien gehalten. Diese Bereiche teilen sich einen Speicherbereich und die Grenze
zwischen ihnen wird unter Windows Server 2003 beim Systemstart fest eingestellt. Wenn dem
Betriebssystem während der Laufzeit in einem Bereich der Speicher ausgeht, kann dies nicht aus den
anderen Bereichen ausgeglichen werden. Die Folge ist, dass keine neuen Benutzer mehr angemeldet
werden können oder dass unerwartete Fehler auftreten. In 32-bit Windows Server 2008 wird der Kernel
Address Space dynamisch verwaltet und die Speicherbereiche für Paged Pool, System Cache etc. können
entsprechend der Arbeitslast wachsen oder schrumpfen. Begrenzt werden die Bereiche aber durch den
aktuell verfügbaren virtuellen Adressraum des Kernels.
PAE (Physical Address Extension) ist eine technische Erweiterung für x86 kompatible CPUs (ab Intel
36
Pentium und AMD Athlon) die es ermöglicht bis zu 2 Bytes = 64 GByte Speicher zu adressieren. Dies ist
möglich, da diese Prozessoren einen 36 Bit breiten Adressbus besitzen. Spezielle Erweiterungen in der
»Paging«-Einheit des Prozessors sorgen dafür, dass 36-bittige physikalische Adressen generiert werden.
Um PAE nutzen zu können, muss es vom Betriebssystem unterstützt werden.
64-bit Windows nutzt vom theoretischen Wert von 16 EB adressierbaren Speichers 16 TB als virtuellen
Adressraum. Windows teilt diesen (zumindest aus heutiger Sicht) gigantischen Adressraum in verschiedene
Bereiche auf, so dass für den Kernel und jeden 64-bit-Prozess jeweils ein Adressraum von 8 TB zur
Verfügung steht. Für 32-bit-Anwendungen, die im so genannten Kompatibilitätsmodus laufen, steht pro
Anwendung ein Adressbereich von 4 GB zur Verfügung, aber auch das ist mehr als bei einem reinen 32-bitBetriebssystem, bei dem es maximal 3 GB sind.
© Fujitsu Technology Solutions 2009
Seite 13 (46)
White Paper
Sizing Guide | Terminal Server Sizing Guide
Version: 4.0, Oktober 2009
Auswirkungen
Wenn ausreichend Hardware-Ressourcen zur Verfügung
stehen, also weder die CPU noch der Arbeitsspeicher der
begrenzende Faktor ist, dann können auf einem 64-bitSystem wesentlich mehr Benutzer betrieben werden als
auf einem 32-bit-System. Der Grund hierfür liegt in der
Betriebssystemarchitektur, genauer gesagt, bei den
Kernel-Ressourcen. Das 32-bit-Betriebssystem hat einen
Adressraum von 2 GB zur Verfügung, um seine Daten,
unter anderem Kernel-Tabellen und System Cache, zu
speichern. Bei hinreichender Rechenleistung erreicht die
Benutzeranzahl eine Größenordnung, die für ein 32-bitBetriebssystem zu hoch ist. Die Kernel-Tabellen sind
vollständig belegt, was in Paging-Aktivitäten resultiert,
obwohl noch Hauptspeicher frei ist. Weiterhin ist auch der
System Cache überlastet und kann nicht weiter vergrößert
werden, was zu einer schlechten Trefferrate im Cache
(Light Lastprofil, Microsoft Office 2003,
führt. Hierdurch steigen ebenfalls die Plattenzugriffe
Microsoft Terminal Services)
sprunghaft an. Sobald auf die Festplatte statt auf den
Arbeitsspeicher zugegriffen werden muss, macht sich das sofort in einer Verschlechterung der Antwortzeiten
bemerkbar. Würde man den Terminal Server über diese Engpasssituation hinaus weiter belasten, so würden
die Applikationen auf Fehler laufen oder Benutzer könnten sich beim Terminal Server gar nicht mehr
anmelden.
In welchem Szenario ein 32-bit-Betriebssystem oder ein 64-bit-Betriebssystem Vorteile bringt, lässt sich gut
an Hand einer durchgeführten Messreihe erläutern. Das gleiche PRIMERGY System mit jeweils
ausreichender Rechenleistung wurde mit 4, 8, 16 und 32 GB RAM ausgestattet und die maximale Anzahl
Light User ermittelt. Bei den Messungen mit 4 GB Hauptspeicher ist sowohl unter dem 32-bit-Betriebssystem
als auch unter dem 64-bit-Betriebssystem der Hauptspeicher der limitierende Faktor, was in PagingAktivitäten resultiert. Die Messungen unter 64-bit ergeben sogar ein leicht schlechteres Ergebnis. Erklärbar
ist das dadurch, dass 64-bit-Anwendungen in der Regel mehr Arbeitsspeicher benötigen als die 32-bitVersionen, denn alle Adresszeiger sind bei 64-bit doppelt so breit (siehe Kapitel Arbeitsspeicher).
Bei einer Vergrößerung des Speichers auf
8 GB können mehr Benutzer bedient werden,
dieser Speicherausbau ist hier die optimale
Konfiguration für das 32-bit-System.
Eine weitere Speicheraufrüstung auf 16 GB
bzw. 32 GB ist bei diesen Messungen unter
dem 32-bit-Betriebssystem nicht von Vorteil.
Wie schon oben erläutert, führen die begrenzten Kernel-Ressourcen dazu, dass nicht mehr
Benutzer unterstützt werden können.
Engpass der
Kernel-Ressourcen
Zu wenig Speicher
Demgegenüber werden bei dem 64-bitBetriebssystem durch steigenden Hauptspeicherausbau auch eine steigende Anzahl
User erreicht, da keine Limitierungen durch
Betriebssystemressourcen auftreten.
Zusammenfassend kann man also feststellen,
dass ein 32-bit-Betriebssystem bei Terminal
Server limitierend wirkt, wenn entweder der für
die gewünschte Anzahl Benutzer notwendige
Arbeitsspeicher (> 64 GB) nicht unterstützt
(Light Lastprofil, Microsoft Office 2003,
Microsoft Terminal Services)
wird, oder es aufgrund der vielen Benutzer zu
internen Kernel-Engpässen kommt. Dabei ist
der Speicherverbrauch eines einzelnen Benutzers natürlich anwendungsabhängig. Bestehen diese beiden
Limitierungen nicht, so kann ein 32-bit-Betriebssystem durch geringeren Speicherverbrauch gegenüber dem
64-bit-Betriebssystem punkten.
© Fujitsu Technology Solutions 2009
Seite 14 (46)
White Paper
Sizing Guide | Terminal Server Sizing Guide
Version: 4.0, Oktober 2009
Rechenleistung
Die Rechenleistung eines Systems hängt von den Prozessoreigenschaften und der Anzahl Prozessoren ab.
Unter Prozessoreigenschaften verstehen wir Kenngrößen wie z.B. Taktfrequenz, Cache, Hyper-Threading,
Anbindung ans Memory oder Anzahl Kerne. Dabei sind Prozessoreigenschaften immer im Hinblick auf die
jeweilige Prozessarchitektur zu sehen.
Prozessortyp
Folgende Übersicht zeigt Prozessoren verschiedener Generationen, die in älteren und aktuellen PRIMERGY
Systemen für Terminal Server im Einsatz sind. Die Leistungsdaten gelten für jeweils eine CPU, wie sie mit
dem Terminal Server Simulationswerkzeug »T4US« mit dem Lastprofil V1 bzw. V2 ermittelt wurden. Dabei
sind alle Werte normiert zu den Ergebnissen der besten Xeon X5570 CPU aufgetragen.
Bei der Betrachtung der Rechenleistung waren alle Systeme mit genügend Arbeitsspeicher ausgebaut.
Hyper-Threading, sofern vorhanden, war eingeschaltet, da dieses Feature bei Terminal Server
Anwendungen für eine Entlastung des Systems sorgt und dadurch eine höhere Anzahl von Benutzern mit
dem Terminal Server arbeiten kann. Aus diesen Messergebnissen für eine CPU kann man die Leistung
eines Systems mit einer höheren CPU-Anzahl nicht ablesen, da die Steigerung nicht linear ist (siehe Kapitel
Anzahl Kerne).
© Fujitsu Technology Solutions 2009
Seite 15 (46)
White Paper
Sizing Guide | Terminal Server Sizing Guide
Version: 4.0, Oktober 2009
Taktfrequenz
Prozessorlinien der PRIMERGY Server gibt es in verschiedenen Leistungsstufen, die sich unter anderem in
der Taktfrequenz unterscheiden. Dabei sagt die Taktfrequenz für sich allein nichts über die
Leistungsfähigkeit des Prozessors aus. Andere Faktoren wie Architektur, Befehlssatz, Caches, Anbindung
ans Memory beeinflussen die Prozessoren in ihrer Leistungsfähigkeit ebenso. Man darf also nicht den Fehler
machen, mit einer höheren Taktfrequenz immer eine höhere Performance zu verbinden. Deutlich wird das
bei den Intel Xeon 55xx Prozessoren, die im Vergleich zu dem Vorgänger Xeon 54xx niedriger getaktet sind,
sich dennoch als viel leistungsfähiger erweisen. Der Vorteil der niedrigen Taktfrequenz liegt in der
niedrigeren elektrischen Leistungsaufnahme (Energieverbrauch).
Durch die Einführung der Turbo Boost Technologie bei der Intel Xeon 55xx Serie ist die Kennzahl Frequenz
auch nicht mehr so eindeutig. Bei dieser Technologie wird nämlich, abhängig von der Anwendung, der
Prozessor automatisch beim Arbeiten unterhalb thermischer und elektrischer Schwellwerte übertaktet.
Vereinfacht heißt das: Wenn der Prozessor nicht voll ausgelastet ist und die Thermal Design Power (TDP)
nicht überschritten wird, wird der Prozessor höher getaktet.
Vergleicht man Prozessoren einer Familie, die sich nur in der Taktfrequenz unterscheiden während die
anderen Kenngrößen wie Architektur, Caches, Memory-Anbindung und Anzahl Kerne gleich sind, so lässt
sich durchaus bei höherer Taktfrequenz auch eine höhere Performance nachweisen. Allerdings spiegelt sich
die Frequenzsteigerung nicht 1:1 in der relativen Performance-Steigerung wider. Dies erklärt sich aus der
gleich bleibenden Geschwindigkeit bei Speicher- und I/O-Zugriffen.
Als Beispiel sind in nebenstehender Grafik die
Ergebnisse der PRIMERGY RX300 S4 1-CPUMessungen der Xeon 54xx Reihe aufgetragen.
Die Resultate wurden mit dem Terminal Server
Benchmark und dem Lastprofil V1 unter Microsoft
Terminal Server erreicht und normiert auf den
kleinsten Prozessor dargestellt. Alle Prozessoren
haben einen Front-Side-Bus mit 1333 MHz und
einen 2 × 6 MB L2-Cache.
(Lastprofil V1, Microsoft Office 2003,
Microsoft Terminal Services)
© Fujitsu Technology Solutions 2009
Seite 16 (46)
White Paper
Sizing Guide | Terminal Server Sizing Guide
Version: 4.0, Oktober 2009
Memory-Anbindung
Die Memory-Anbindung ist bei den PRIMERGY Systemen je nach Prozessorarchitektur unterschiedlich.
Bei PRIMERGY Systemen, die mit AMD Opteron Prozessoren bestückt sind, ist der Memory Controller in
der CPU integriert und die Prozessoren untereinander sind durch einen HyperTransport-Link verbunden.
Bei Intel Prozessoren bis zur Xeon 5400-Serie wird die Kommunikation über den Front-Side-Bus (FSB)
zwischen dem Prozessor und der so genannten Northbridge abgewickelt. Die Northbridge ist ein Bestandteil
des Chipsatzes, der wiederum mit anderen Komponenten wie zum Beispiel dem Arbeitsspeicher oder dem
PCI-Bus verbunden ist. Der FSB wird mit einer bestimmten Taktrate betrieben, welche Einfluss auf die
System-Performance hat. Da sich die Prozessoren im Allgemeinen aber nicht nur in der Taktfrequenz des
FSBs unterscheiden, ist ein direkter Vergleich unterschiedlicher FSB schlecht möglich.
Unter Laborbedingungen konnte der Einfluss des
Front-Side-Bus-Taktes
jedoch
vermessen
werden. Die Grafik zeigt die PerformanceVerbesserung durch Steigerung der Front-SideBus-Taktfrequenz von 667 MHz auf 800 MHz,
was einer Steigerung von ca. 20% entspricht. Die
Anzahl der Terminal Server Benutzer steigt in
allen drei vermessenen Konfigurationen. Ein
schnellerer FSB entlastet den Prozessor, die »%
Processor Time« ist bei 800 MHz FSB etwas
niedriger
und
gleichermaßen
auch
die
»Processor Queue Length«. Durch diese CPUReserve können mehr Benutzer mit dem
Terminal Server arbeiten, bevor die Antwortzeiten sich verschlechtern und sich nicht mehr im
zulässigen Rahmen befinden. Die Steigerung der
(Lastprofil V1, Microsoft Office 2003,
Benutzeranzahl ist jedoch geringer als die
Microsoft Terminal Services)
Erhöhung der FSB-Taktfrequenz. Terminal
Server als Anwendung beansprucht nicht nur
Prozessorleistung, sondern zur Gesamtleistung trägt das Zusammenspiel aller Ressourcen wie Prozessor,
Speicher, Netzwerk und Disk bei.
Ab der PRIMERGY Generation mit Prozessoren der Serie Xeon 5500 (Nehalem EP) erfolgte ein Wechsel in
der Systemarchitektur, weil die FSB Technologie hinsichtlich ihrer Komplexität, beispielsweise der Anzahl
der im Chipset pro FSB benötigten Pins, zuletzt an Grenzen gestoßen ist: Intel Quick Path Interconnect
(QPI) statt Front Side Bus (FSB). Der QPI verbindet Prozessoren untereinander, sowie Prozessoren und den
für I/O zuständigen Chipsatz, mittels unidirektionaler, serieller Links. Für die Anbindung des Hauptspeichers
sind die Prozessoren der Serie Xeon 5500 mit Speicher-Controllern ausgestattet, d.h. jeder Prozessor
steuert unmittelbar eine Gruppe ihm zugeordneter Speichermodule. Die Leistungsfähigkeit des Quick-Path
Interconnects wird in Gigatransfers pro Sekunde angegeben. Dabei erreichen die aktuellen Prozessoren der
Xeon 5500 Serie mit einem QPI von bis zu 6.4 GT/s (entspricht bis zu 25.6 GByte/s) eine weit höhere
Bandbreite als der stärkste Prozessor der Xeon 5400 Serie mit Hilfe der der Front-Side-Bus Architektur
liefern konnte.
© Fujitsu Technology Solutions 2009
Seite 17 (46)
White Paper
Sizing Guide | Terminal Server Sizing Guide
Version: 4.0, Oktober 2009
Caches
Ein Cache ist generell ein schneller Zwischenspeicher, der durch die Pufferung von Daten den Zugriff
beschleunigt. Bei Intel-CPUs sind die Caches in mehreren Stufen kaskadiert. Man unterscheidet Level 1
Cache, Level 2 Cache (auch Second Level Cache (SLC) genannt) und Level 3 Cache (Third Level Cache
(TLC)). Meistens wird bei den Leistungsdaten der CPUs nur der jeweils letzte Cache genannt. Der Cache
soll verhindern, dass der Prozessor auf Daten des langsameren Arbeitsspeichers warten muss. Je größer
der Cache, umso weniger Speicherzugriffe sind nötig. Aus dieser Zeitersparnis resultiert wiederum eine
höhere Rechenleistung.
Vergleichende Messungen mit dem Terminal
Server Benchmark zeigten, dass eine
Verdoppelung des Caches zu einer Entlastung
der CPU führte. Bei sonst gleichen Bedingungen wurden jeweils zwei Prozessoren
einmal mit 1 MB Cache und einmal mit 2 MB
Cache eingesetzt. Wie nebenstehende Grafik
zeigt, wird der Prozessor des Terminal Server
Systems bei dem größeren Cache weniger
stark beansprucht. Daraus resultierte eine
höhere Benutzeranzahl als BenchmarkErgebnis.
(Lastprofil V1, Microsoft Office XP, Citrix MetaFrame)
Da beim 64-bit-Betriebssystem aufgrund der doppelt so großen Adressbreite mehr Daten verarbeitet werden
müssen, hat die Größe des CPU-Caches hier einen größeren Einfluss.
(Lastprofil V1, Microsoft Office 2003, Microsoft Terminal Services)
Das gleiche PRIMERGY System
wurde wahlweise mit Xeon
Prozessoren mit 1 MB oder mit
2 MB SLC ausgestattet. Wie
nebenstehende Grafik zeigt, führt
eine Verdoppelung des Caches
auf beiden Plattformen zu einer
höheren Performance. Das 64bit-System profitiert am meisten
von dem doppelt so großen
Cache mit einem PerformanceGewinn von 25%. Das 32-bitSystem gewinnt bis zu 15% mehr
Leistung mit dem größeren
Cache. Diese Messungen zeigen,
dass ein 64-bit-System durch den
Adress-Overhead einen größeren
Cache benötigt.
Eine generelle Empfehlung leitet sich aus diesen Ergebnissen ab: Für Systeme mit 64-bit-Betriebssystem
sollten in jedem Fall Prozessorvarianten mit einem großen Cache eingesetzt werden. Dies ist wichtiger als
eine geringfügig höhere Taktfrequenz.
Allerdings sollte nicht der Fehler begangen werden, Cache-Größen von Prozessoren mit unterschiedlicher
Architektur zu vergleichen. Die Caches der Prozessoren sind auf die Prozessorarchitektur abgestimmt. So
haben z.B. aktuell Prozessoren der Serie Xeon 5500 (Nehalem) mit 256 kB per Core SLC und maximal
8 MB TLC für alle vier Kerne nominell weniger Cache als Prozessoren der Serie Xeon 5400 (Harpertown) mit
2 × 6 MB SLC. Trotzdem ist die Gesamtleistung der Prozessoren weit höher.
© Fujitsu Technology Solutions 2009
Seite 18 (46)
White Paper
Sizing Guide | Terminal Server Sizing Guide
Version: 4.0, Oktober 2009
Hyper-Threading
Bei Hyper-Threading-Prozessoren sind einige Ressourcen auf dem Chip verdoppelt, so dass diese CPUs
nun die Fähigkeit besitzen, zwei Threads parallel ausführen zu können. So werden zwei virtuelle bzw.
logische CPUs simuliert. Dem Betriebssystem gegenüber stellt sich eine CPU mit Hyper-Threading als zwei
CPUs dar und wird auch so angesteuert. Dies bringt einen Geschwindigkeitsvorteil, wenn Betriebssystem
und Anwendungen dafür geeignet sind. Windows als Betriebssystem ist vom Design her Hyper-Threadingfähig und gerade in Terminal Server Umgebungen arbeiten viele einzelne Benutzer mit insgesamt vielen,
meist kleineren Anwendungen parallel, so dass von Hyper-Threading eine Performance-Steigerung zu
erwarten ist.
Die meisten Intel Prozessoren der aktuellen Xeon 5500 Serie (Nehalem) unterstützen Hyper-Threading.
AMD Prozessoren besitzen grundsätzlich kein Hyper-Threading.
Messungen haben gezeigt, dass der Performance-Gewinn durch Hyper-Threading bei gering bis mittel
belasteten Systemen am größten ist. Bei Systemen, die an ihrer Lastgrenze arbeiten, ist der PerformanceGewinn geringer. Auch ist die Leistungssteigerung auf einem Monoprozessorsystem höher als auf
Multiprozessorsystemen.
Eine Messreihe wurde auf einer PRIMERGY RX200 S1
mit zwei Prozessoren durchgeführt, einmal mit
eingeschaltetem Hyper-Threading und einmal mit
abgeschaltetem Hyper-Threading. In beiden Fällen
wurde die gleiche Anzahl von 101 Benutzern simuliert.
Bei Terminal Server Anwendungen sorgt das HyperThreading für eine Entlastung des Systems, die CPULast konnte um 31% reduziert werden, wie die
nebenstehende Grafik veranschaulicht. Bei der
verwendeten PRIMERGY RX200 S1 und 101 Benutzern
konnte man ohne Hyper-Threading schon einen CPU
Engpass feststellen, die Antwortzeiten des Terminal
Servers waren nicht mehr im vorgegebenen Rahmen.
Durch die CPU Entlastung durch Hyper-Threading
erfüllte das System wieder die vorgegebene
Reaktionszeit.
(Lastprofil V1, Microsoft Office XP,
Citrix MetaFrame)
In einer weiteren Messreihe
wurden die absoluten Benutzeranzahlen für Systeme mit und
ohne Hyper-Threading ermittelt.
Die nebenstehende Grafik zeigt
die
Messergebnisse.
Das
vermessene PRIMERGY System
war eine PRIMERGY RX300 S2
mit einem oder zwei Prozessoren
mit
verschiedenen
Taktfrequenzen. Für diesen Vergleich
wurden Prozessoren mit 1 MB
SLC verwendet. Hyper-Threading
war alternativ ein- (»HT on«) oder
ausgeschaltet (»HT off«). Man
erkennt deutlich, dass mit ein(Lastprofil V1, Microsoft Office 2003, Microsoft Terminal Services)
geschaltetem
Hyper-Threading
eine höhere Anzahl Benutzer mit
dem Terminal Server arbeiten können. Bei einem langsameren Monoprozessorsystem ist der PerformanceGewinn durch Hyper-Threading höher als bei einem schnellen Dualprozessorsystem.
© Fujitsu Technology Solutions 2009
Seite 19 (46)
White Paper
Sizing Guide | Terminal Server Sizing Guide
Version: 4.0, Oktober 2009
Anzahl Kerne
Eine gängige Variante um die Leistungsfähigkeit eines Prozessors zu steigern, ist die Erhöhung durch die
Taktfrequenz. Doch dies geht bei Frequenzen um 4 GHz mit einer nicht mehr sinnvoll handhabbaren
Abwärme einher. Eine Möglichkeit der Fortentwicklung ist die Verwendung von Mehrkernprozessoren. Im
Gegensatz zum »Hyper-Threading«, wo nur Teile eines Prozessors mehrfach auf dem Chip vorhanden sind
um Threads parallel ausführen zu können, sind bei einem Mehrkernprozessor sämtliche Ressourcen des
Prozessors repliziert. Mehrkernprozessoren haben zudem den Vorteil, dass die Kosten für den Einsatz eines
einzelnen Chips mit mehreren Ressourcen häufig geringer sind als bei mehreren einzelnen Chips. Während
bis zum Jahr 2005 die Einzelkernprozessoren dominierten, sind die aktuellen Prozessoren der Intel Xeon
Reihe als 4-fach oder auch 6-fach Kerne ausgelegt. Zukünftige Prozessorgenerationen werden die Anzahl
Kerne pro Chip noch vervielfachen.
Die rein theoretische Leistungssteigerung beträgt maximal 100% (gegenüber einem einzelnen Kern) pro
zusätzlichem Kern. In der Praxis hängt die Leistungssteigerung aber stark von dem Parallelisierungsgrad
des ausgeführten Programms und des verwendeten Betriebssystems ab.
Darüber hinaus lässt sich die Rechenleistung eines
Systems durch den Einsatz mehrerer Prozessoren
erhöhen. Man bezeichnet den Einsatz mehrerer
gleicher physikalischer Prozessoren auch als
»symmetric
multiprocessing«
(SMP).
Die
Skalierung mit wachsender Anzahl Prozessoren ist
nur im Idealfall einer optimal parallelisierbaren
Anwendung linear. Je mehr Zugriffe jedoch auf
gemeinsame Ressourcen wie Arbeitsspeicher,
Festplatten oder Netzwerk erfolgen, und somit eine
Koordination zwischen den Prozessoren bedingen,
umso mehr flacht die Skalierungskurve ab. Im
Extremfall kann es bei einer sehr großen Anzahl
Prozessoren und sehr hohem Koordinationsanteil
der Prozessoren untereinander sogar zu einem
»Umkippen« der Skalierung kommen. Schon 1967
betrachtete Gene Amdahl die Beschleunigung von Programmen durch parallele Ausführung in einem
mathematischen Modell und stellte fest, dass der Geschwindigkeitszuwachs vor allem durch den
sequentiellen Anteil des Programms beschränkt ist (»Amdahls Gesetz«).
Aktuelle Multiprozessorsysteme wirken dem entgegen, indem sie den Prozessoren große Caches beiseite
stellen oder Gruppen von Prozessoren bilden und diesen eigenen Arbeitsspeicher und I/O-Komponenten
zuordnen. Letzteres bedingt für optimale Performance darauf angepasste Betriebssysteme wie z.B.
Windows Server 2003 Enterprise und Datacenter Edition mit »nonuniform memory access« (NUMA)
Support.
Wie schon im Kapitel Hyper-Threading ausgeführt,
arbeiten in Terminal Server Umgebungen viele
einzelne Benutzer mit insgesamt vielen, meist
kleineren Anwendungen parallel – eine gute
Voraussetzung, um viele Rechenkerne zu nutzen. Bis
zu welcher Anzahl Kerne eine Terminal Server
Anwendung gut skaliert ist aber auch wieder
anwendungsspezifisch und kann nicht verallgemeinert
werden.
Wie in der nebenstehende Grafik dargestellt, zeigten
Terminal Server Messungen mit dem T4US Lastprofil
V2 auf einer PRIMERGY RX300 S5 mit einem und
zwei Xeon Quad-Core Prozessoren bei eingeschaltetem Hyper-Threading eine sehr gute
Skalierung vom Faktor 1.7.
(Lastprofil V2, Microsoft Office 2003,
Microsoft Terminal Services)
© Fujitsu Technology Solutions 2009
Seite 20 (46)
White Paper
Sizing Guide | Terminal Server Sizing Guide
Version: 4.0, Oktober 2009
Arbeitsspeicher
Den stärksten Einfluss auf die Leistungsfähigkeit des Terminal Servers übt der Arbeitsspeicher aus. Dabei
spiegelt sich dies insbesondere in der Antwortzeit wider. Denn Windows verschafft sich bei Bedarf weiteren
virtuellen Speicher durch Auslagern (Pagen) von momentan nicht benötigten Daten aus dem Arbeitsspeicher
(RAM) in die Auslagerungsdatei (Pagefile) auf Festplatte. Da Plattenzugriffe aber mindestens um die
Größenordnung 1000 langsamer sind als Speicherzugriffe, führt dies unmittelbar zum Zusammenbruch der
Leistung und zu einem rapiden Anstieg der Antwortzeiten.
Bei Terminal Server wächst der Speicherbedarf linear mit der Anzahl der Benutzer, unabhängig vom
PRIMERGY Modell und gleichermaßen bei 32-bit- und 64-bit-Betriebssystemen, wie die beiden Grafiken
veranschaulichen.
Trägt man den belegten Speicher, den »Committed« Speicher und den »Working Set« grafisch auf, so
erkennt man einen linearen Verlauf, der mit steigender Benutzeranzahl wächst. Während »Available
MBytes« den aktuell freien physikalischen Hauptspeicher angibt, wird in »Committed Bytes« angegeben, wie
viel virtueller Hauptspeicher den laufenden Anwendungen zugesagt wurde. Der »Working Set« einer
Anwendung ist der Speicher, den sie bereits verwendet hat.
Es soll auch nicht verschwiegen werden, dass 64-bit-Betriebssysteme und 64-bit-Anwendungen in der Regel
mehr Arbeitsspeicher benötigen als die 32-bit-Versionen, denn alle Adresszeiger sind bei 64-bit doppelt so
breit. Im Extremfall führt das bei 64-bit zu einem doppelten Speicherbedarf im Vergleich zu 32-bit.
Wie die nebenstehende Grafik zeigt,
belegt der gleiche Benutzer, der den
Desktop gestartet hat und mit Microsoft
Word 2003 arbeitet, auf dem 64-bitSystem im Vergleich zum 32-bit-System
ca. 60% mehr Arbeitsspeicher. Die
Anwendung, mit der der Terminal Server
Benutzer arbeitet, ist in beiden Fällen
Microsoft Word, welches heute nur als 32bit-Version existiert.
(Lastprofil V1, Microsoft Office 2003, Microsoft Terminal Services)
Allgemeingültig ist jedoch die Tatsache, dass der Speicherbedarf linear nach der Formel
anwächst.
Man beachte dabei nur, dass der Speicherbedarf pro Benutzer stark von der verwendeten Anwendung
abhängt und jeweils kundenspezifisch ermittelt werden muss. Kennt man jedoch den Speicherbedarf der
Anwendung bei einem Benutzer, so lässt sich leicht der Gesamt-Speicherbedarf berechnen.
© Fujitsu Technology Solutions 2009
Seite 21 (46)
White Paper
Sizing Guide | Terminal Server Sizing Guide
Version: 4.0, Oktober 2009
Nach oben begrenzend wirken nur der maximal mögliche Speicherausbau des Systems sowie die
Unterstützung des Betriebssystems (siehe Kapitel Limitierungen).
Der maximale Speicherausbau eines Systems ist abhängig vom Modell.
Die x86-basierten PRIMERGY Server haben unterschiedliche Architekturen. Die älteren Modelle (von Intel
Pentium Pro Prozessor (1995) bis Intel Xeon 5400 (Harpertown)) entsprechen dem Prinzip des Symmetric
Multiprocessing (SMP). Die Anbindung der Prozessoren an den Hauptspeicher ist durch einen Front-Side
Bus realisiert ist. Auch bei der Bestückung mit nur einem Prozessor ist der gesamte Speicher nutzbar.
Intel Xeon Prozessoren ab der Xeon 5500 Serie unterliegen einer anderen Architektur. Für die Anbindung
des Hauptspeichers sind diese Prozessoren mit Speicher-Controllern ausgestattet, d.h. jeder Prozessor
steuert unmittelbar eine Gruppe ihm zugeordneter Speichermodule. Gleichzeitig ist der Prozessor in der
Lage, über den Quick Path Interconnect Speicherinhalte dem benachbarten Prozessor zur Verfügung zu
stellen und solche selbst anzufordern (siehe Kapitel Memory-Anbindung). Durch die direkte Kopplung
zwischen Prozessor und Speicher ist eine Steigerung der Speicher-Performance plausibel, jedoch mit dem
Performance-Unterschied zwischen lokaler und ferner Anforderung, der die Klassifizierung dieser Architektur
als NUMA rechtfertigt. Die Berücksichtigung von NUMA bei der Vergabe von physikalischem Speicher und
beim Scheduling von Prozessen erfolgt durch das Betriebssystem. Soweit möglich, sollte die Gesamtmenge
an Arbeitsspeicher symmetrisch über beide Prozessoren verteilt werden. Ist das System nur mit einem
Prozessor bestückt, können auch nur die diesem Prozessor zugeordneten Speicherbänke genutzt werden.
Weitere Performance-relevante Hinweise zu leistungsfähigen Speicherkonfigurationen der Xeon 5500
basierten PRIMERGY Systeme finden sich im Dokument »Speicher-Performance Xeon 5500 (Nehalem EP)
basierter PRIMERGY Server« [L4].
Auch PRIMERGY Modelle mit AMD Opteron Prozessoren besitzen eine direkte Zuordnung des Speichers zu
den Prozessoren. Jeder Prozessor hat »seinen« Speicher direkt angebunden, was in einem schnellen
Zugriff resultiert. Aus dieser Systemarchitektur folgt umgekehrt, dass eine PRIMERGY, die lediglich mit
einem AMD Opteron Prozessor bestückt ist, auch nur die Hälfte der Speicherbänke nutzen kann, da der
zweite CPU-interne Memory Controller zur Ansteuerung fehlt.
Bei der Kalkulation des Arbeitsspeichers für Terminal Server sollte man zwei Besonderheiten nicht außer
Acht lassen:
»Desktop« oder »Published Application«?
Bei Terminal Server Umgebungen muss man dem Benutzer nicht den gesamten Desktop mit allen
Anwendungen zur Verfügung stellen, man kann den Zugriff auch beschränken. Microsoft Terminal
Server kann man so konfigurieren, dass eine bestimmte Anwendung statt des Desktop gestartet wird.
Bei Citrix Presentation Server kann man den Benutzern auch mehrere einzelne Anwendungen
(»Published Application«) direkt zur Verfügung stellen, der Start der Applikation innerhalb des Desktop
entfällt. Dabei werden pro Benutzer ungefähr 5 bis 10 MB an Hauptspeicher gespart, da der ExplorerProzess nicht mit gestartet werden muss. Auch wenn es in einer bestimmten Umgebung vielleicht nicht
um diesen kleinen Gewinn von Hauptspeicher geht; ein nicht zu vernachlässigender Vorteil dieser
Konfiguration ist, dass der Benutzer nur die für ihn vorgesehenen Anwendungen auf dem Server laufen
lassen kann. Man kann also die Aktionen der Benutzer besser vorhersagen und auch einschränken.
Der Speicherbedarf eines Benutzers, der
eine Anwendung über den Desktop startet,
wurde mit dem Speicherbedarf eines
Anwenders verglichen, der die gleiche
Applikation direkt ohne Desktop startet. Die
Anwendung Microsoft Word aus Microsoft
Office 2003 wurde einmal über den Desktop
und einmal über den RDP Client direkt
gestartet. Wie nebenstehe Graphik deutlich
zeigt, ist der Speichermehrverbrauch ohne
Starten des Desktops geringer.
(Lastprofil V1, Microsoft Office 2003,
Microsoft Terminal Services)
© Fujitsu Technology Solutions 2009
Seite 22 (46)
White Paper
Sizing Guide | Terminal Server Sizing Guide
Version: 4.0, Oktober 2009
»Logoff« oder »Disconnect«?
Es ist ein Unterschied, ob der Benutzer die Verbindung zum Terminal Server beendet, indem er sich
abmeldet (»Logoff«) oder ob er mit einem »Disconnect« die Verbindung nur unterbricht. Im letzteren
Fall läuft die Anwendung auf dem Terminal Server weiter und gibt ihre Ressourcen nicht frei. Der
Benutzer kann seine Arbeit dann an dieser Stelle fortsetzen. Wenn der belegte Arbeitsspeicher des
Servers analysiert wird, zählen die Verbindungen im Status »Disconnect« natürlich mit. Manche
Anwendungen brauchen auch CPU-Ressourcen, während die Verbindung getrennt ist. Sowohl
Microsoft als auch Citrix unterstützen »disconnected« Sessions.
© Fujitsu Technology Solutions 2009
Seite 23 (46)
White Paper
Sizing Guide | Terminal Server Sizing Guide
Version: 4.0, Oktober 2009
Disk-Subsystem
Geht man davon aus, dass ein Server dediziert als Terminal Server eingesetzt wird, und nicht gleichzeitig
noch als File Server oder Datenbank-Server, so werden an das Disk-Subsystem keine großen
Anforderungen gestellt. Es muss im Wesentlichen nur das Betriebssystem, den Paging-Bereich und die den
Terminal Server Clients zur Verfügung stehenden Applikationen beherbergen. Die Plattenzugriffe sind dabei
gering. Auf das Betriebssystem und die Applikationen wird nur zugegriffen, wenn sie das erste Mal in den
Speicher geladen werden. Der Paging-Bereich spielt prinzipiell auch keine Rolle, denn das System muss so
konfiguriert sein, dass es nicht in starkes Pagen gerät, anderenfalls ist die Leistungsfähigkeit des Systems in
jedem Fall erheblich beeinträchtigt.
Die Benutzerdaten und Benutzerprofile werden typischerweise auf entsprechende Disk-Subsysteme oder
externe File Server gelegt und nicht auf die lokalen Festplatten eines Terminal Servers.
Wird ein Terminal Server auf moderner Server-Hardware mit Multi-Core-Architektur und ggf. einem 64-bitBetriebssystem aufgebaut, so können damit mehr Benutzer arbeiten und somit muss auch das DiskSubsystem wachsen, um diesen Anforderungen gerecht werden zu können. Durch mehr Benutzersitzungen
finden mehr Zugriffe auf das lokale Pagefile und auf das Disk-Subsystem statt und beim 64-bitBetriebssystem werden auch größere Datenmengen Richtung Pagefile geschrieben. Aus diesen Gründen
muss das Disk-Subsystem entsprechend dimensioniert werden. Hinweise zum Monitoren des DiskSubsystems finden sich im Kapitel Engpassanalyse.
Um einen maximalen Durchsatz zu erreichen, sollten alle vorhandenen Controller- und Festplatten Caches
(auch die Write-Caches) eingeschaltet werden. Write-Caches der Festplatten tragen erheblich zur
Performance-Steigerung bei, und es empfiehlt sich, diese bei allen Festplatten vorhandene Funktionalität
auch im produktiven Einsatz zu nutzen. Dabei ist die Verwendung einer USV zum Schutz gegen
Stromausfälle und damit verbundenem Datenverlust empfehlenswert.
Zum Sizing von Disk-Subsystemen wurde ein eigenes White Paper »Performance Report - Modular RAID für
PRIMERGY« [L5] erstellt.
Wird das Terminal Server System hingegen gleichzeitig noch als Datei- oder Datenbank-Server eingesetzt,
so gelten für das Disk-Subsystem natürlich zusätzliche Kriterien, wie sie für Datei- oder Datenbank-Server
typisch sind. Von einer solchen Konstellation ist jedoch abzuraten, es sei denn, das System wird nur in
einem sehr begrenzten Workgroup-Umfeld eingesetzt. Ansonsten sollten dedizierte Systeme für die
einzelnen Aufgaben, wie Terminal Server, Datei-Server, Datenbank- oder Applikations-Server, aufgebaut
werden. Nur so kann ein Server-System optimal für seinen Aufgabenbereich zugeschnitten werden.
Je nach Anzahl Festplatten im Server-System gelten folgende Empfehlungen:
Zwei Festplatten, Konfiguration für Sicherheit: Wenn nur zwei Festplatten zur Verfügung stehen und auf
Sicherheit Wert gelegt wird, so sollte aus Sicherheitsgründen eine Spiegelung über RAID 1 eingerichtet
werden. Dort befinden sich dann Betriebssystem, Paging-Bereich und Applikationen. Eine Spiegelung kann
entweder mit den onboard RAID 1-Funktionalitäten, die fast alle PRIMERGY Server standardmäßig bieten,
oder softwaremäßig mit Windows Mitteln realisiert werden. Alternativ kann auch ein RAID-Controller
eingesetzt werden.
Zwei Festplatten, Konfiguration für Performance: Um eine bessere Performance zu erreichen, sollte das
Pagefile nicht auf einer gespiegelten Festplatte konfiguriert werden. Wenn nur zwei Festplatten zur
Verfügung stehen, sollten das Betriebssystem und die Applikationen auf der ersten Festplatte gespeichert
werden, während das Pagefile auf die zweite Festplatte gelegt werden sollte. Da die Festplatte des
Betriebssystems nicht gespiegelt ist, sollte sichergestellt werden, dass dort keine Benutzerdaten abgelegt
und dass regelmäßige Backups durchgeführt werden.
Drei oder mehr Festplatten: Stehen insgesamt mindestens drei Festplatten zur Verfügung, sollte man zwei
Festplatten mit Hilfe von RAID 1 spiegeln und dort das Betriebssystem und die Applikationen unterbringen.
Der Paging-Bereich wird auf die dritte dedizierte Festplatte gelegt, da die Nutzung einer gespiegelten
Festplatte durch das Pagefile beträchtliche Auswirkungen auf die Performance haben kann. Da diese Daten
alle temporärer Natur sind, ist hier natürlich keine Absicherung durch RAID notwendig.
© Fujitsu Technology Solutions 2009
Seite 24 (46)
White Paper
Sizing Guide | Terminal Server Sizing Guide
Version: 4.0, Oktober 2009
Netzwerk
Obwohl dem Thema Netzwerk im Terminal Server Umfeld eine wichtige Rolle zukommt, wird es im Rahmen
dieses Papieres nicht ausführlich behandelt, da es ein eigenständiges Thema darstellt. Auch soll hier ein
einzelner Terminal Server und nicht eine Terminal Server Farm im Focus stehen. In der Praxis sind zudem
häufig schon Netzwerk-Topologien vorhanden, in die der Terminal Server zu integrieren ist.
Bei der Betrachtung eines einzelnen Terminal Servers ist zu berücksichtigen, dass er bezüglich
Netzwerkanbindung die benötigten Bandbreiten für alle Benutzer zur Verfügung stellt. Welche Bandbreiten
für den Terminal Server benötigt werden, ist dabei stark vom Benutzer abhängig. Benutzer, die z.B. mehr im
Office-Umfeld mit Textverarbeitung zu tun haben, benötigen weniger Bandbreite als Nutzer von 2D- oder 3DAnwendungen. Ebenso spielt das verwendete Übertragungsprotokoll eine Rolle. Dabei hat sich das von
Citrix entwickelte ICA-Protokoll als effizienter erwiesen als RDP von Microsoft.
Aktuelle PRIMERGY Server bieten mit ihren Gigabit Ethernet Anschlüssen eine gute Voraussetzung, um
einen Terminal Server performant zu betreiben.
Bedingt es das Aufgabenszenario, dass die auf dem Terminal Server ablaufenden Anwendungen auf große
Datenmengen, Datenbanken oder gar Host-Anwendungen zugreifen, so empfiehlt es sich, den Terminal
Server mit einer weiteren Netzwerkkarte für den dedizierten Zugriff auf diese Server-Dienste auszustatten,
um so den Datenverkehr in dieser Three-Tier-Umgebung zwischen Server-Server- und Client-ServerKommunikation zu trennen.
Application Server
Terminal Server
Database Server
File Server
Network
Network
In einer Terminal Server Umgebung muss folgender Netzwerkverkehr berücksichtigt werden:
Terminal Server und Active Directory
Hauptsächlich während des Anmeldevorgangs der einzelnen Benutzer in die Domäne werden
Informationen aus dem Active Directory benötigt. Dies wird in realen Konfigurationen oft auch über ein
Netzwerksegment abgewickelt, das von den Client-Netzwerken getrennt ist.
Clients und Terminal Server
Tastatur- und Mauseingaben werden zum Terminal Server gesendet, und die Änderungen der Bildschirmdarstellung werden zum Client übertragen.
© Fujitsu Technology Solutions 2009
Seite 25 (46)
White Paper
Sizing Guide | Terminal Server Sizing Guide
Version: 4.0, Oktober 2009
Infrastruktur
In unseren Untersuchungen haben wir den Terminal Server immer isoliert betrachtet. In der Messumgebung
gab es weitere Komponenten, mit denen der Terminal Server zusammen arbeitet, jedoch waren diese immer
konstant und so ausgelegt, dass diese nicht der Engpass waren. In der Realität ist dies jedoch nicht immer
der Fall. In diesem Abschnitt soll diskutiert werden, welche weiteren Komponenten der Infrastruktur einen
Einfluss auf das Benutzerempfinden in einer Terminal Server Umgebung haben, was sich in einem
negativen Gesamteindruck widerspiegeln könnte.
Clients
Neben den Server-Ressourcen und dem Netzwerk gehört natürlich auch der Client zur Gesamtumgebung
des Server-based Computing. Also ist auch bzgl. des Clients die Frage berechtigt, welchen Einfluss dessen
Leistungsfähigkeit auf die Gesamtkonfiguration hat. Da beim klassischen Server-based Computing die
eigentliche Applikation auf dem Server abläuft, wird die CPU-Leistung des Clients nur für die Bedienung des
Netzwerks und die vom Aufwand her nicht zu vernachlässigende Bildaufbereitung benötigt. Es wurde
festgestellt, dass je nach verwendetem Client-System die Gesamt-Ausführungszeit einer Applikation
durchaus variiert. Diese Unterschiede dürften sich im realen Betrieb aber allenfalls in einem subjektiven
Performance-Eindruck des Benutzers widerspiegeln und haben keinen unmittelbaren Einfluss auf die
Leistungsfähigkeit des Terminal Server Systems.
Wie »thin« der Thin-Client sein darf, hängt in erster Linie von den Ansprüchen seitens der eingesetzten
Applikationen an die Grafik ab, wie Auflösung, Farbtiefe und Komplexität (Text, Grafik) sowie von ggf.
zusätzlichen Anforderungen an lokal auf dem Client ablaufende Anwendungen, die über das reine Serverbased Computing hinausgehen.
Neben den ortsgebundenen (Thin-)Clients gibt es die Anforderungen auch mobile Geräte wie Notebooks
oder PDAs an Terminal Server anzuschließen. Üblicherweise werden diese Geräte dann nicht mehr über
kabelgebundene Netzwerke angeschlossen, sondern über Funk-LANs (W-LAN) oder mobile Funknetze (z.B.
»General Packet Radio Services« (GPRS) oder »Universal Mobile Telecommunication System« (UMTS)).
Dies stellt insbesondere beim Ressourcen sparenden ICA-Protokoll kein Problem dar. Den ICA-Client gibt es
auch für viele gängige PDAs und das ICA-Protokoll ist durch sein Design besonders auch für langsame
Verbindungen geeignet. Für Benutzer, die ständig und ausschließlich mit Terminal Server Anwendungen
arbeiten, stellt solch ein Endgerät sicher nicht den idealen Client dar, aber jemand, der mobil arbeiten muss
und nur gelegentlich Zugriff auf einen Terminal Server braucht, profitiert von der Flexibilität und
Funktionalität dieser Lösung.
Active Directory
Terminal Server Benutzer authentifizieren sich im Normalfall in einer Domäne, d.h. der Terminal Server
überprüft die eingegebenen Benutzercredentials gegen das Active Directory. Außer in sehr kleinen
Workgroup-Umgebungen sollten Active Directory und Terminal Server immer auf verschiedenen Systemen
laufen und auf dem Terminal Server selbst sollten keine Benutzer verwaltet werden. An das Active Directory
werden die gleichen Anforderungen gestellt wie in einer Umgebung ohne Terminal Server, es sollte aber
weder das Active Directory noch das Netzwerk zwischen Active Directory und Terminal Server der Engpass
sein.
Benutzerprofile (User Profiles)
In einem Benutzerprofil werden die individuellen Benutzereinstellungen gespeichert. Auch bei einem Login
von Terminal Server Benutzern in einer Domäne in einem Active Directory Umfeld würden deren
Benutzerprofile standardmäßig auf dem Terminal Server gespeichert. Insbesondere bei einer load-balanced
Terminal Server Farm wird man die Benutzerprofile allerdings zentral auf einem Server im Netzwerk ablegen
wollen, damit der Benutzer immer die gleichen Einstellungen vorfindet, unabhängig davon, auf welchem
Terminal Server seine Sitzung ausgeführt wird. Diese Funktionalität ist bereits für so genannte »Wandernde
Benutzer« (Roaming User) vorhanden, die sich an verschiedenen Arbeitsplätzen anmelden. Beim Einsatz
von Terminal Servern ist zu beachten, dass ggf. verschiedene Benutzerprofile verwaltet werden müssen,
wenn sich nämlich das lokale Betriebssystem des Arbeitsplatzes von dem des Terminal Servers
unterscheidet bzw. wenn verschiedene Anwendungen vorhanden sind. Aus diesem Grunde kann man ein
Terminal Server Benutzerprofil zusätzlich zu einem lokal zu ladenden Benutzerprofil konfigurieren. Eine
besondere Variante des Server-basierten Benutzerprofils ist das Mandatory User Profile, ein Benutzerprofil,
das der Benutzer nicht ändern kann. Server-basierte Benutzerprofile sollten generell möglichst klein sein.
© Fujitsu Technology Solutions 2009
Seite 26 (46)
White Paper
Sizing Guide | Terminal Server Sizing Guide
Version: 4.0, Oktober 2009
DNS
Auch im Terminal Server Umfeld wird DNS verwendet, um die Namensauflösung von Verbindungen zu
realisieren. Besonders im Load Balancing Umfeld wird auf diese Weise ein virtueller Name mit einer
virtuellen oder realen IP-Adresse verknüpft, so dass sich eine Terminal Server Farm zum Benutzer hin wie
ein Server darstellt. Daraus ergibt sich umgekehrt die Forderung, dass DNS immer erreichbar sein muss,
damit ein Benutzer eine Verbindung zum Terminal Server aufbauen kann. DNS stellt im Allgemeinen keinen
Engpass dar, dieser Dienst sollte nur ausfallsicher und redundant konzipiert sein.
Terminal Services Licensing Server
Bei der Anmeldung eines Benutzers an einen Terminal Server wird dieser einen Lizenz-Server suchen und
von ihm eine gültige Lizenz für den Zugriff über Terminal Server anfordern. In größeren Konfigurationen wird
dieser Lizenz-Server ein eigenes System sein.
Backend Server
Gerade in »load-balanced Terminal Server Farmen« werden die Dateien der Benutzer nicht auf den lokalen
Festplatten der Terminal Server Systeme liegen, sondern auf File Servern oder NAS Systemen. Vermutlich
werden in größeren Umgebungen auch weitere Dienste wie E-Mail, Datenbanken usw. benötigt, so dass
man Server für Anwendungen wie zum Beispiel Exchange, SQL oder SAP R/3 zusammen mit dem Terminal
Server vorfinden wird. Wird für die Anbindung der Clients zum Terminal Server nur wenig
Netzwerkbandbreite benötigt, so gilt dies nicht für die Anbindung der Terminal Server an die Backend
Server. Hier sollte genügend Netzwerk- und Rechenkapazität zur Verfügung stehen. Für die einzelnen
Server verweisen wir auf eigene Performance-Untersuchungen und Sizing Guides, da dies den Rahmen
dieses Papiers sprengen würde. Es wird nicht empfohlen, Backend-Dienste auf einem Terminal Server zu
betreiben.
© Fujitsu Technology Solutions 2009
Seite 27 (46)
White Paper
Sizing Guide | Terminal Server Sizing Guide
Version: 4.0, Oktober 2009
Überlastverhalten
Bei allen PRIMERGY Servern, insbesondere aber bei den leistungsfähigeren, kann man ein Verhalten
beobachten, bei dem ein scheinbar normal ausgelastetes System durch das Hinzufügen einiger weniger
Benutzer überlastet wird. Setzt man die Anzahl Benutzer, die CPU-Auslastung des Systems und die
Antwortzeiten miteinander in Beziehung, so erkennt man, wie sich die Antwortzeiten des Terminal Servers
bei steigender Auslastung verhalten. Während einer Messung über 25 Minuten wurde in den ersten 15
Minuten die Benutzeranzahl kontinuierlich erhöht. Jeder Benutzer meldet sich erst an, danach arbeitet er mit
Microsoft Word, um sich nach ca. 16 Minuten wieder abzumelden und wieder von vorn zu beginnen.
Dadurch
verteilen
sich
die
Benutzeranmeldungen (blaue Kurve
) auf einen relativ kurzen Zeitraum,
was aber der Realität nahe kommt,
wenn die Benutzer etwa zur gleichen

Zeit ihre Arbeit aufnehmen. Die CPU
Auslastung des Terminal Servers
stieg ständig an (rote Kurve ) bis
nah an 100%. Zwei signifikante

Messergebnisse wurden beobachtet:
Die Zeit, die der Benutzer brauchte,

um sich am Terminal Server

anzumelden (violette Kurve ) und
die Zeit, um in Microsoft Word ein
Bild einzufügen (grüne Kurve ).
Eine Anmeldung an den Terminal
Server beinhaltet nicht nur das Login
selbst, sondern auch der Desktop
des Benutzers wird gestartet. Dies
belastet den Terminal Server mehr als das Einfügen des Bildes in Microsoft Word. Aktionen, die von sich aus
den Terminal Server stark belasten, werden unter Hochlast stärker verlangsamt als weniger belastende
Aktionen. Man erkennt drei Phasen der Terminal Server Auslastung:
Die CPU-Belastung des Terminal Servers ist unter 70%. Die Antwortzeiten des Servers verlängern
sich geringfügig, dies wird der Benutzer aber nicht realisieren.
Die CPU-Belastung des Terminal Servers ist zwischen 70% und 90%. Aktionen, die den Server
stärker belasten, sind verlangsamt, aber die Antwortzeit ist für den Benutzer noch tolerierbar.
Aktionen, die den Server nicht so stark belasten, haben im Durchschnitt die gleichen
Reaktionszeiten, jedoch können Schwankungen auftreten.
Wenn die CPU-Belastung des Terminal Servers über 90% ist, ist der Server deutlich überlastet. Je
nach Benutzeraktion antwortet der Server wesentlich später, speziell Aktionen wie ein Login
brauchen deutlich mehr Zeit. Aber auch einfachere Aktionen sind deutlich verlangsamt. Der
Benutzer wird das Antwortzeitverhalten des Servers nicht mehr tolerieren.
Anzahl Prozesse
Auch wenn es paradox klingt: es kann Konstellationen geben, in denen, obgleich ausreichend CPU- und
Speicher-Ressourcen zur Verfügung stehen, es zu Leistungsengpässen kommen kann. Auch Disk-I/O oder
Netzwerke stellen in dieser Situation keinen Engpass dar, sondern quasi die Systemarchitektur. Diese
Situation wird insbesondere von einer großen Anzahl an Benutzern, die viele Prozesse mit einer geringen
gleichmäßigen Last induzieren, provoziert. Dabei spielt die Prozessor-Warteschlange eine nicht zu
vernachlässigende Rolle. So gibt es in Abhängigkeit der Prozessor-Leistung und Prozessor-Anzahl einen
Punkt, an dem das System keine weiteren Prozesse und somit Clients mehr bedienen kann. Im Prinzip ist
hierbei das System nur noch damit beschäftigt, die Prozesse zu verwalten. Oder in »Fachchinesisch«
ausgedrückt: In einem Multitasking-Betriebssystem erhält jeder Prozess eine Zeitscheibe, die er nicht schnell
genug wieder frei gibt. Diese Situation könnte nur durch kleinere Zeitscheiben und somit größeren TurnAround-Zeiten behoben werden. Dies hätte jedoch in anderen Lastsituationen negative Auswirkungen auf
die Grundlast, die das Betriebssystem erzeugt. Die Anzahl Prozesse, ab der diese Situation eintritt, hängt
neben der zur Verfügung stehenden CPU-Leistung und -Anzahl leider aber auch von der verwendeten
Applikation ab, sodass keine generelle Formel hierfür angegeben werden kann. Bei Heavy Usern tritt dieser
Effekt meist nicht zu Tage, da hier andere Ressourcen, wie Speicher und Rechenleistung die dominierenden
Begrenzungsfaktoren sind.
© Fujitsu Technology Solutions 2009
Seite 28 (46)
White Paper
Sizing Guide | Terminal Server Sizing Guide
Version: 4.0, Oktober 2009
PRIMERGY Skalierung
Die Leistungsfähigkeit des Terminal Servers ist durch CPU-Leistung und Hauptspeicher bestimmt.
Den Speicherausbau kann man recht einfach anhand der Formel
abschätzen. Werden verschiedene Applikationen gleichzeitig verwendet, so ist die Summe des Speicherbedarfs aller gleichzeitig verwendeter Applikationen zu bilden.
Die Anzahl Benutzer bei einer vorgegebenen Speichermenge kann mit folgender Formel berechnet werden:
Für die CPU-Leistung gilt leider keine so einfache Formel. Bei einem Medium oder Heavy User stellt im
Allgemeinen die CPU-Leistung den begrenzenden Faktor dar. Für eine Klasse von Light Usern ist die
maximale Benutzerzahl eher durch andere Systemressourcen begrenzt.
Die Vielzahl an Prozessoren, mit denen jedes PRIMERGY-Modell ausgestattet werden kann, lässt bereits
erahnen, dass es nicht eine bestimmte Anzahl Benutzer gibt, die ein PRIMERGY-Modell bedienen kann,
sondern dass jedes PRIMERGY-Modell eine gewisse Bandbreite abdeckt. Auch gibt es keine scharfe
Grenze, wo die Leistung eines Modells endet und die des nächst leistungsfähigeren beginnt. Vielmehr gibt
es Überlappungen zwischen den Systemen. Die folgenden auf Basis unserer Messreihen gewonnenen
Ergebnisse können also nur einen Eindruck für den Leistungsbereich vermitteln.
© Fujitsu Technology Solutions 2009
Seite 29 (46)
White Paper
Sizing Guide | Terminal Server Sizing Guide
Version: 4.0, Oktober 2009
Da die Systeme mit unterschiedlichen Lastprofilen vermessen wurden, sind keine absoluten
Benutzeranzahlen angegeben. Vielmehr soll die relative Leistung der Systeme unter Terminal Server
Anwendungen aufgezeigt werden. In dieser Darstellung wird die PRIMERGY RX300 S3 als Bezugssystem
genommen und die auf dem System gemessenen Anzahl Benutzer zu 100% gesetzt. Alle anderen Systeme
werden in Relation zum Bezugsystem angegeben, wobei die unterschiedlichen Lastprofile entsprechend
berücksichtigt sind.
Wenn Sie einen Terminal Server oder eine Terminal Server Farm planen, sollten Sie sich die Zeit nehmen,
das Benutzerverhalten vorher genau zu analysieren.
Welche Anwendungen müssen generell über den Terminal Server zur Verfügung gestellt werden?
Welcher Benutzer nutzt wann und wie oft welche Anwendung?
Wie intensiv wird die Anwendung verwendet?
Welche Bildschirmauflösung und Farbtiefe verwendet der Client?
Welches Netzwerk und Protokoll wird verwendet?
Welche Antwortzeiten werden erwartet?
Bei größeren Konfigurationen sollte auf eine Pilotphase unter realen Bedingungen nicht verzichtet werden.
© Fujitsu Technology Solutions 2009
Seite 30 (46)
White Paper
Sizing Guide | Terminal Server Sizing Guide
Version: 4.0, Oktober 2009
Analysewerkzeuge
Bei Performance-Problemen oder auch vor der Migration von Systemen ist es hilfreich, die Terminal Server
Umgebung zu analysieren. Je nach gewünschtem Detaillierungsgrad eignen sich verschiedene mehr oder
weniger aufwändige Methoden, um sich einen Überblick über die aktuelle Situation zu verschaffen oder
einen zeitlichen Ablauf der Systemauslastung aufzuzeichnen. Im Folgenden werden für die Analyse von
Systemen nützliche Werkzeuge kurz vorgestellt. Eine ausführliche Beschreibung der Tools würde den
Rahmen dieses Papiers sprengen.
Task-Manager
Am bekanntesten ist der Windows Task-Manager »taskmgr.exe«, den man
in allen Windows Server Betriebssystemen, aber auch in Windows XP findet.
Mit dem Task-Manager kann man sich einen schnellen Überblick über die
aktuelle Systemauslastung verschaffen, weiterhin können laufende Anwendungen bzw. Prozesse und die Netzwerkauslastung angezeigt werden. Als
Administrator kann man auch Prozesse beenden oder deren Prioritäten verändern. Zum Aufrufen klickt man mit der rechten Maustaste auf eine leere
Stelle in der Taskbar und dann klickt man auf »Task-Manager«. Das Programm selbst stellt eine ausführliche Online-Hilfe bereit; weitere
Informationen findet man auch bei Microsoft im Internet. Auf Terminal Server
Systemen empfiehlt es sich, unter »Prozesse« die Einstellung »Prozesse
aller Benutzer anzeigen« zu selektieren. Hilfreich kann auch bei
»Systemleistung« unter »Ansicht« die Einstellung »Kernel-Zeiten anzeigen«
sein, um den CPU-Verbrauch des Kernels einzeln zu überwachen.
Sysinternals Process Explorer
Detailreichere Informationen bietet das Freeware-Programm »Process
Explorer«, das von den beiden Windows Spezialisten Mark
Russinovich
und
Bryce
Cogswell
kostenlos
unter
www.sysinternals.com bereitgestellt wird. Es bietet eine wesentlich
größere Funktionalität als der Windows Task-Manager. Hervorzuheben sind die Baumansicht der Prozesse, die gerade bei Terminal
Server Systemen eine einfache Zuordnung von Prozessen zu
Benutzern ermöglicht, und die erweiterte »System Information«Anzeige. Der »Process Explorer« muss nicht installiert werden, kann
aber auch an Stelle des Task-Managers in Windows integriert werden.
Dieses Programm liefert eine Online-Hilfe mit, aber auch die
Sysinternals-Web-Seite liefert nützliche Informationen.
Performance Monitor
Um den Verlauf des Ressourcenverbrauchs zu dokumentieren
und zu speichern, sind o.g. Tools weniger geeignet. Hierzu gibt es
in allen aktuellen Windows Versionen den System Monitor, oder
auch Performance Monitor genannt, mit dem man über einen
längeren Zeitraum so genannte Performance Counter beobachten
kann. Performance Counter sind Objekt-spezifisch gruppiert,
teilweise gibt es sie auch in verschiedenen Instanzen, wenn ein
Objekt mehrfach vorhanden ist. Beispielsweise gibt es für das
Objekt »Prozessor« einen Performance Counter »%Processor
Time«, wobei dann bei einem Multiprozessorsystem eine Instanz
pro CPU existiert. Nicht alle Performance Counter sind in
Windows bereits vorhanden, sondern viele Anwendungen wie z.B.
Citrix Presentation Server bringen ihre eigenen Performance
Counter mit, die sich in das Betriebssystem integrieren und über den Performance Monitor abgefragt werden
können. Die Performance-Daten kann man entweder am Bildschirm verfolgen oder, besser, in eine Datei
schreiben und offline analysieren. Es können nicht nur Performance Counter des lokalen Systems
ausgewertet werden, sondern auch von entfernten Servern, die entsprechenden Zugriffsrechte
vorausgesetzt. Das Programm, das sich unter »perfmon.exe« aufrufen lässt, ist in der Windows Hilfe oder in
© Fujitsu Technology Solutions 2009
Seite 31 (46)
White Paper
Sizing Guide | Terminal Server Sizing Guide
Version: 4.0, Oktober 2009
Microsoft Artikeln im Internet beschrieben, weiterhin gibt es für jeden einzelnen Performance Counter unter
»Erklärung« eine Erläuterung.
Zu beachten ist, dass der Performance Monitor auch eine Windows Anwendung ist, die Rechenzeit benötigt.
Es kann vorkommen, dass der Performance Monitor bei extremer Server-Überlastung selbst keine
Performance-Daten ermitteln und anzeigen kann, dann sind die entsprechenden Werte 0 oder leer.
Windows Performance Toolkit
Mit dem Windows Performance Tools (WPT) Kit stellt Microsoft eine offizielle Sammlung von Tools zur freien
Verfügung. Sie eignen sich zum Vermessen und Analysieren von System- und Anwendungsverhalten sowie
des Ressourcenverbrauchs auf Windows Vista, Windows Server 2008 und späteren Windows
Betriebssystemen. Diese Tools beruhen auf dem Event Tracing for Windows (ETW) und verursachen daher
nur sehr geringen Overhead. Durch das ETW können Events des Kernels oder der Applikationen, wie z.B.
Context Switches, Interrupts, Thread Creation und viele mehr, in Trace-Dateien aufgezeichnet und zu einem
späteren Zeitpunkt ausgewertet und als übersichtliche Graphen oder Tabellen dargestellt werden. Sie
ermöglichen daher eine sehr detaillierte Analyse eines Windows Systemverhaltens.
Aktuell enthält die Sammlung drei Programme, die von der Kommandozeile aus ausgeführt werden können:
Xperf
Xperfview
Xbootmgr
Event tracing durchführen und auswerten
Visionalisierung der Performance-Daten
Erstellen eines Traces des Bootvorganges
Die grundsätzliche Vorgehensweise erfolgt in vier Schritten:
1) Starten des Event Tracing durch Aufruf von »xperf«; über Parameter kann genau gesteuert
werden, was getraced werden soll.
2) Durchführen der zu analysierenden Szenerie.
3) Stoppen des Event Tracing durch Aufruf von »xperf«; alle zur Analyse notwendigen Daten
werden ins Trace-File geschrieben.
4) Auswerten des Trace-Files mittels »xperf« oder auch Visionalisierung über »xperfview«; kann
auch auf einer anderen Maschine erfolgen.
Beispiel eines Xperfview-Graph für CPU-Sampling:
© Fujitsu Technology Solutions 2009
Seite 32 (46)
White Paper
Sizing Guide | Terminal Server Sizing Guide
Version: 4.0, Oktober 2009
Beispiel eines Xperfview-Graph für Disk IO Sampling:
Das Windows Performance Tool Kit ermöglicht eine sehr viel mehr in die Tiefe gehende Analyse eines
Systemverhaltens als der Performance Monitor. Dadurch, dass die Aufzeichnung der Events über einen
längeren Zeitraum oder auf einem durch viele Prozesse stark belasteten System zu sehr großen Trace Files
führt, ist dieses Tool aber eher für die Analyse einer Momentaufnahme geeignet, während z.B. der
Performance Monitor zur Analyse eines Systemverhalten über einen längeren Zeitraum, z.B. einen Tag oder
eine Nacht eingesetzt werden kann.
Windows Performance Analyzer kann nur eingeschränkt auf Windows XP bzw. Windows Server 2003
eingesetzt werden. Es können zwar auch Event Traces geschrieben werden, allerdings müssen alle
Analysen, die Trace-Dekodierung enthalten – das beinhaltet auch die graphische Aufbereitung mittels
»Xperfview« – auf einem Windows Vista bzw. Windows Server 2008 System erfolgen.
© Fujitsu Technology Solutions 2009
Seite 33 (46)
White Paper
Sizing Guide | Terminal Server Sizing Guide
Version: 4.0, Oktober 2009
Citrix Resource Manager
In größeren Terminal Server Konfigurationen
mit Citrix Presentation Server Enterprise
Edition kommt vielleicht auch der Resource
Manager von Citrix zum Einsatz. Er bietet
eine benutzerfreundlichere Sicht auf die für
den Citrix Presentation Server relevanten
Performance Counter und darüber hinaus
noch eine Schwellwertüberwachung mit Benachrichtigung des Administrators. Die
Schwellwerte sind schon auf bestimmte
Werte voreingestellt, können aber bei Bedarf
angepasst werden. Da diese Schwellwerte in
der Citrix Resource Manager Software fest
eingestellt sind, ist es fraglich, ob sie der
Vielzahl der heute verfügbaren Leistungsvarianten von Server-Systemen ohne individuelle Anpassung gerecht werden können.
Auf einem Citrix Presentation Server 4.0 Terminal Server unter Windows Server 2003 Enterprise Edition 32bit mit 16 GB Hauptspeicher und Gigabit LAN sind beispielsweise folgende Werte voreingestellt:
Objekt
Counter
Warnung
Fehler
Citrix MetaFrame
Presentation Server
Data Store Connection
Failure
6
60
Logical Disk
% Disk Time
400
600
Logical Disk
% Free Space
10
5
Memory
Available Bytes
858924851
343569940
Memory
Pages/sec
3000
5000
Network Interface
Bytes Total/sec
3000000
4000000
Paging File
% Usage
40
50
Processor
% Interrupt Time
0.3
0.4
Processor
% Processor Time
80
90
System
Context Switches/sec
120000
14000
Terminal Services
Active Sessions
50
100
Terminal Services
Inactive Sessions
10
20
Wenn die Schwellwerte jedoch auf den Normalbetrieb (Baseline) eines Citrix Systems angepasst werden,
dann lösen Überschreitungen rechtzeitig eine Warnung oder einen Alarm aus und helfen dem Administrator,
einen Engpass frühzeitig zu erkennen. Für den Citrix Resource Manager sei auf die Dokumentation von
Citrix verwiesen.
© Fujitsu Technology Solutions 2009
Seite 34 (46)
White Paper
Sizing Guide | Terminal Server Sizing Guide
Version: 4.0, Oktober 2009
Microsoft Operations Manager (MOM) 2005
Microsoft stellt mit dem Produkt
Microsoft Operations Manager
(MOM) 2005 eine leistungsfähige
Software zur Verfügung, mit der
Ereignisse und Systemleistung
verschiedener Server-Gruppen im
Firmennetzwerk überwacht werden können. MOM bietet proaktive
Benachrichtigungen
im
Warnungs- und Fehlerfall und erstellt
Berichte und Trendanalysen.
MOM bedient sich dabei existierenden Windows Mitteln wie der
Ereignisanzeige, liest die Performance Counter aus und überwacht Dienste, jedoch komfortabel
für ganze Gruppen von Servern.
Die Ergebnisse werden in einer SQL Datenbank gespeichert.
Zusätzliche Management Packs für MOM werden von Microsoft und anderen Anbietern für ihre Produkte zur
Verfügung gestellt und hinterlegen weitere System- oder Anwendungs-spezifische Regelwerke in der MOMDatenbank. So kann MOM nicht nur Terminal Server, sondern eine Vielzahl von verschiedenen ServerTypen gleichzeitig überwachen.
Für die Terminal Services kann das »Microsoft Terminal Server MOM 2005 Management Pack« hinzugefügt
werden, das Terminal Server-spezifische Regeln und Berichte für die folgenden Komponenten mitbringt
Terminal Services
Terminal Services Licensing Server
Session Directory Server
sowie ein Performance Monitoring anbietet.
Beispielsweise wird eine Warnung ausgegeben, wenn mehr als 520 Terminal Server Sessions aktiv sind
oder die Prozessorauslastung einer Session über einen Zeitraum von 15 Minuten über 80% liegt. Ein Fehler
wird angezeigt, wenn mehr als 20 Terminal Server Sitzungen inaktiv sind oder die Cachetrefferrate weniger
als 99% beträgt. Diese vordefinierten Regeln müssen an die kundenspezifischen Gegebenheiten angepasst
werden.
Weiterhin können aktive und inaktive Sitzungen über gewisse Zeiträume beobachtet werden, so dass hieraus Aussagen über das Benutzerverhalten gewonnen werden können.
Eine Beschreibung der Features von MOM würde den Rahmen dieses Dokumentes sprengen. Zu MOM und
den einzelnen Management Packs gibt es im Internet detaillierte Beschreibungen von Microsoft.
© Fujitsu Technology Solutions 2009
Seite 35 (46)
White Paper
Sizing Guide | Terminal Server Sizing Guide
Version: 4.0, Oktober 2009
Engpassanalyse
Um eine Vorhersage zu treffen, wie sich eine existierende Terminal Server Umgebung verhält oder um bei
einer Pilotinstallation die Auslastung eines Terminal Servers beurteilen zu können, ist es notwendig, selbst
eine Engpassanalyse durchzuführen oder durch unseren Professional Service durchführen zu lassen.
Performance-Werte aufzuzeichnen oder zu überwachen ist weniger das Problem, als die richtigen Schlüsse
aus den Messwerten zu ziehen. Bevor wir im Folgenden einige wichtige Performance Counter zu den
verschiedenen Performance-relevanten Server-Objekten diskutieren, werden kurz einige typische
Verhaltensweisen von Performance Countern dargestellt. Wenn man einen Engpass auf einem ServerSystem analysiert, ist es nicht einfach, aus einem Schnappschuss von der Engpasssituation Rückschlüsse
zu ziehen. Von Vorteil ist es, wenn man Erfahrungen hat, wie sich das Server-System unter verschiedenen
Lasten verhält und eine Baseline zum Vergleich erstellt hat.
Während man einige Messwerte wie den Netzwerkdurchsatz in Relation zum theoretisch erreichbaren
Maximalwert, z.B. bei einer 100 MBit-Netzwerkverbindung, setzen kann, ist dies bei anderen Messwerten,
wie z.B. Anzahl Context Switches pro Sekunde, nicht möglich.
Es gibt folgende typische Kurvenverläufe bei synthetischer Last:
Linear:
Die Performance-Werte steigen
Verhältnis zur Last. Kein Engpass.
Konstant:
im
gleichen
Die Performance Counter sind nicht abhängig von
der Last, sondern konstant. Eventuell bilden sich
bei unterschiedlicher Last verschiedene Stufen
einer Treppenfunktion aus.
Logarithmisch:
Exponentiell:
Bei steigender Last steigen die Performance
Counter nicht weiter, sondern erreichen eine
Sättigung. Dies kann ein Indiz für einen Engpass
sein.
Im unteren Lastbereich steigt die Kurve relativ
flach an, während sie bei steigender Last
überproportional wächst. Im Extremfall kann hier
bereits ein weiterer Benutzer das »Fass zum
Überlaufen« bringen.
Im Folgenden werden einzelne Performance Counter, nach Systemkomponenten gruppiert, beschrieben und
diskutiert. Im Anschluss daran ist ein Beispielskript eingefügt, das nach geringen Anpassungen direkt für ein
Terminal Server System übernommen werden kann.
© Fujitsu Technology Solutions 2009
Seite 36 (46)
White Paper
Sizing Guide | Terminal Server Sizing Guide
Version: 4.0, Oktober 2009
Rechenleistung/System
Die wichtigsten Performance Counter sind:
\Processor(*)\% Processor Time bzw. \Processor(_Total)\% Processor Time
\System\Processor Queue Length
»% Processor Time« ist die insgesamt verbrauchte Rechenzeit. Auf jedem Windows System läuft ein
»Leerlaufprozess«, den man mit dem Task-Manager oder Process Explorer auch sehen kann. Alle CPU Zeit,
die dieser idle Prozess nicht bekommt, ist »% Processor Time«. Bei »% Processor Time« gibt es mehrere
Instanzen, eine pro logische CPU, die Windows kennt. Unsere unten aufgeführte Beispielkonfiguration
zeichnet mit dem Objekt »Processor(*)« alle vorhandenen Prozessoren auf und deren Summe. Die
Auslastung der einzelnen Prozessoren muss nicht immer gleich hoch sein, gerade im Niedriglastbereich und
mit Hyper-Threading ist das oft der Fall. Weiterhin wird beim normalen Arbeiten mit Terminal Server
Anwendungen selten eine in Summe 100%ige CPU-Auslastung erreicht. Je mehr logische Prozessoren
parallel arbeiten, desto niedriger kann sich der Durchschnittswert der CPU-Auslastung darstellen, auch wenn
der Terminal Server bereits überlastet ist.
»Processor Queue Length« bezeichnet die Anzahl Threads, die auf ihre Ausführung warten. Dieser
Counter ist nur einmal pro System vorhanden, also nicht CPU-spezifisch. Daher sollte dieser Wert die
Anzahl der Prozessoren nicht dauerhaft übersteigen.
Normalerweise steigen »% Processor Time« und
»Processor Queue Length« (PQL) bei Belastung
des Servers gemeinsam an. Nebenstehende Grafik
zeigt einen typischen Verlauf der CPU Zeit und der
»Processor Queue Length«, während die Last auf
dem Terminal Server zunehmend gesteigert wird.
Kritisch sind % CPU-Zeiten ab 80% zusammen mit
hohen Peaks der PQL-Kurve, die dann auch
dauerhaft auf einem höheren Niveau bleibt.
Es kann jedoch auch Situationen geben, wo eine
Vielzahl von kleinen Prozessen auf ihre Ausführung
wartet und das System allein schon durch die
Verwaltung der Prozesse überlastet wird, obwohl
die benötigten CPU-Ressourcen noch verfügbar wären.
Zusätzliche Performance Counter:
\System\Context Switches/sec
\System\System Calls/sec
\System\Processes
\Processor(*)\Interrupts/sec bzw. \Processor(_Total)\Interrupts/sec
»System Calls/sec« zählt die Anzahl Aufrufe an das System pro Sekunde. »Context Switches/sec« zählt
die Anzahl Kontextwechsel pro Sekunde, also Wechsel zwischen Threads oder zwischen
Benutzerprogrammen und Kernel-Aktivitäten. »Processes« ist die Anzahl der aktuell ausgeführten
Prozesse. »Interrupts/sec« ist ein Counter, den es pro Prozessorinstanz und als Durchschnitt aller
Prozessoren gibt. Interrupts sind meist durch Hardware wie Netzwerkkarten, Tastatur, Maus, Systemuhr,
usw. initiierte Ereignisse, die der Prozessor bearbeiten muss. Zu beachten ist, dass das Windows in der x64
Edition deutlich höhere Werte bei Interrupts/sec anzeigt als das 32-bit Windows. Dieser Unterschied liegt
allerdings einzig in der Zählung der Interrupts, da das 64-bit Windows auch die Interrupt-Weiterleitungen
zwischen den Prozessoren dokumentiert, die unter dem 32-bit Windows nicht mitgezählt wurden.
Diese Counter steigen normalerweise zusammen mit der benötigten Rechenleistung an. Bedenklich ist es,
wenn diese Kurven eine Sättigung erreichen, was bedeutet, dass das System nicht mehr von diesen
Ereignissen verarbeiten kann. Eine Sättigung kann am besten über einen längeren Zeitraum beurteilt
werden, im Zusammenhang mit den anderen Performance Countern. Die Anzahl Benutzer steigt deutlich
steiler als der aufgezeichnete Performance Counter.
Ein CPU-Engpass kann auch durch fehlerhafte Anwendungen ausgelöst werden, siehe Kapitel
Applikationen.
© Fujitsu Technology Solutions 2009
Seite 37 (46)
White Paper
Sizing Guide | Terminal Server Sizing Guide
Version: 4.0, Oktober 2009
Arbeitsspeicher
Die wichtigsten Performance Counter
bzgl. der Arbeitsspeicherauslastung
sind:
\Memory\Available MBytes
\Memory\Pages Input/sec
\Process(_Total)\Working Set
»Available MBytes« ist der aktuell
freie physikalische Hauptspeicher in
MB. »Pages Input/sec« zeigt die
Anzahl der Seiteneinlagerungen pro
Sekunde. Der »Working Set« einer
Anwendung ist der Speicher, den sie
bereits verwendet hat.
Nebenstehende
PerformanceAufzeichnung
wurde
auf
einem
PRIMERGY
Server
erstellt,
der
absichtlich in einen Hauptspeicherengpass
getrieben
wurde.
Eine
Eigenschaft des Windows Betriebssystems ist hierbei zu erkennen: wenn genügend Hauptspeicher zur
Verfügung steht, wird auch mehr Speicher belegt. Erst wenn der freie Speicher unter einen bestimmten
Schwellwert fällt, wird »aufgeräumt« und der Speicher außerhalb des »Working Set« ausgelagert. So kann
man an einem System, das nicht im Speichergrenzbereich betrieben wird, den wirklichen Speicherbedarf
nicht unbedingt ablesen. In der hier provozierten Engpasssituation werden jedoch exzessive PagingAktivitäten sichtbar. Der Speicherengpass deutet sich bereits an, wenn »Available MBytes« unter einen
Schwellwert fällt und Windows deshalb den »Working Set« verkleinert. Gleichzeitig steigen die PagingAktivitäten (»Pages Input/sec«) an. Wenn nun noch weiterer Speicher gebraucht wird, dann wird schrittweise
der »Working Set« weiter verkleinert und die Paging-Vorgänge steigen deutlich an. Auch der Performance
Counter »Paging File\%Usage« steigt entsprechend an.
Auch die folgenden Performance Counter können weiteren Aufschluss über die Auslastung des Arbeitsspeichers geben:
\Memory\Committed Bytes
\Memory\Pages Output/sec
\Memory\Pages Faults/sec
\Paging File(\??\C:\pagefile.sys)\% Usage
In »Committed Bytes« wird angegeben, wie viel virtueller Hauptspeicher den laufenden Anwendungen
zugesagt und im Pagefile reserviert wurde. Hieran kann man ablesen, ob das System in einen Engpass mit
dem virtuellen Adressraum gerät.
»Pages Output/sec« zeigt die Anzahl der Seitenauslagerungen pro Sekunde, durch die physikalischer
Hauptspeicher freigegeben wird, indem die Daten auf die Festplatte geschrieben werden. Auch wenn
ausreichend Arbeitsspeicher vorhanden ist, findet eine moderate Zahl von Auslagerung statt. Erst wenn
dieser Wert sprunghaft ansteigt, liegt ein Speicherengpass vor. Insbesondere ist darauf zu achten, dass
dieser Wert mit der Leistungsfähigkeit der Festplatte harmoniert, auf der das Pagefile liegt.
»Pages Faults/sec« ist ein Durchschnittswert der Seitenfehler pro Sekunde, beinhaltet aber sowohl
Seiteneinlagerungen aus dem physikalischen Hauptspeicher (»soft fault«) als auch Zugriffe auf die
Festplatte (»hard fault«).
»Paging File\%Usage« des Pagefiles ist dessen Belegung in Prozent. Eine geringe Belegung des Pagefiles
ist normal, auch wenn genügend RAM vorhanden ist. Wenn diese jedoch signifikant ansteigt, könnte ein
Hauptspeicherengpass vorliegen. Dies wird durch die anderen Performance Counter der Paging-Aktivitäten
untermauert.
Ein Engpass des Arbeitsspeichers geht direkt Hand in Hand mit einem Ansteigen der Disk Counter auf der
Festplatte, die das Pagefile beherbergt (siehe Kapitel Engpassanalyse - Disk-Subsystem).
© Fujitsu Technology Solutions 2009
Seite 38 (46)
White Paper
Sizing Guide | Terminal Server Sizing Guide
Version: 4.0, Oktober 2009
Betriebssystemressourcen
Der wichtigste Performance Counter, an dem man die Gesundheit des Betriebssystems ablesen kann, ist:
\Cache\Copy Read Hits %
»Copy Read Hits %« ist der prozentuale Anteil der erfolgreichen Lesevorgänge aus dem Systemcache.
Werden Daten im Systemcache gefunden, so erübrigt sich ein Festplattenzugriff, was in einem enormen
Performance-Gewinn resultiert. Laut Microsoft sollte dieser Anteil immer über 95% liegen. Allerdings kann
sich bei diesem Performance Counter bereits eine Verschlechterung von wenigen Prozentpunkten durch
eine verzögerte Reaktion des Terminal Servers bemerkbar machen. Im Idealfall liegt »Copy Read Hits %«
während des eingeschwungenen Server-Betriebs über 99%. Ein 32-bit-Betriebssystem hat im Vergleich zum
64-bit-Betriebssystem durch den limitierten Kernel-Adressraum auch einen kleineren Systemcache.
Da speziell Engpässe des Betriebssystems im Terminal Server Umfeld untersucht werden, sollten folgende
zusätzliche Performance Counter auf jeden Fall mit betrachtet werden:
\Memory\Free System Page Table Entries
\Memory\Pool Nonpaged Bytes
\Memory\Pool Paged Bytes
»Free System Page Table Entries« zeigt die Anzahl der freien Einträge in der System Page Table. Ein
Engpass dieser Betriebssystemressource ist erreicht, wenn nur noch wenige 1000 Einträge frei sind. »Pool
Nonpaged Bytes« ist die Anzahl Bytes, die aktuell für den Nonpaged Pool verwendet werden. Im Nonpaged
Pool speichert das Betriebssystem alle Daten, die immer im Hauptspeicher gehalten werden müssen und
nicht in das Pagefile geschrieben werden dürfen. »Pool Paged Bytes« ist die Anzahl Bytes, die aktuell für
den Paged Pool verwendet werden. Im Paged Pool liegen die Systemspeicherbereiche, die in das Pagefile
ausgelagert werden können. Auf Windows Server 2003 32-bit-Betriebssystemen sind diese
Speicherbereiche limitiert und nicht erweiterbar, so dass diese an ihre Grenzen stoßen können, wenn viele
Benutzer auf dem Terminal Server arbeiten. Ein größerer Speicherausbau führt nicht zu größeren KernelStrukturen, sondern es wird im Gegenteil noch mehr Kernel-Speicher durch die Verwaltung und die
Adressierung dieser Datenbereiche belegt.
Nebenstehende Grafik zeigt eine solche
Situation, bei der bei einem Terminal

Server ein Engpass der Betriebssystemressourcen
durch
kontinuierliche
Erhöhung der Benutzerlast provoziert

wurde.
Zur
Verdeutlichung
wird
zusätzlich der Performance Counter
»Working Set« dargestellt. Man erkennt
vier Phasen bei der Server-Belastung. In

der ersten Phase ist der Terminal Server
performant,
die
Trefferrate
im
Systemcache liegt fast bei 100% , es
sind noch genug freie PTEs 

vorhanden und der Working Set sowie
der Paged Pool  und der Nonpaged
Pool  kann mit der Anzahl Benutzer

gesteigert werden. In der zweiten Phase
fällt die Trefferrate des Systemcaches
ab. Der Paged Pool erfährt eine
Sättigung. Die Performance wird sich
langsam verschlechtern. In der dritten Phase ist die Effizienz des Systemcaches deutlich herabgesetzt.
während durch Paging-Aktivitäten noch Paged Pool Ressourcen freigeschaufelt werden konnten. Die
Terminal Server Performance wird durch fehlende Kapazitäten im Systemcache gemeinsam mit erhöhten
Plattenaktivitäten jedoch nicht mehr befriedigend sein. Überlastet man das System über diese Phase hinaus,
dann erkennt man die Sättigung des Paged Pools. Auch der »Working Set« kann nicht mehr gesteigert
werden und die freien PTEs sind auf einem Minimalwert angekommen. Neben einer schlechten Terminal
Server Performance wird sich ein Teil der Benutzer auch nicht mehr anmelden können, oder Anwendungen
können nicht mehr gestartet oder bedient werden. Das System hat, im Gegensatz zu dem im Abschnitt
Arbeitsspeicher gezeigten Fall eines Hauptspeicherengpasses, jedoch noch genügend freien physikalischen
Speicher. In diesem Fall hatte das System am Ende der Aufzeichnung noch 26 GB von 32 GB
physikalischem Hauptspeicher frei.
© Fujitsu Technology Solutions 2009
Seite 39 (46)
White Paper
Sizing Guide | Terminal Server Sizing Guide
Version: 4.0, Oktober 2009
Disk-Subsystem
Der wichtigste Performance Counter zur
Beurteilung der Festplattenauslastung ist:
\PhysicalDisk(*)\Avg. Disk Queue Length
bzw.
\LogicalDisk(*)\Avg. Disk Queue Length
Hierbei zeichnen die Performance Counter für die
»PhysicalDisk« alle Aktivitäten an einem
physikalischen Laufwerk auf, während das
»LogicalDisk« Objekt diese nach den einzelnen
Partitionen, z.B. C: oder D:, unterteilt. Wird ein
RAID-Controller, SAN oder iSCSI verwendet, so
bezieht sich der Counter »PhysicalDisk« jedoch
nicht, wie der Name suggeriert, auf die physikalische Platte, sondern auf den RAID-Verband bzw. die LUN.
Der Counter »Avg. Disk Queue Length« ist der Durchschnitt der Festplattenwarteschlange für Lese- und
Schreibaufträge, man kann aber auch für Lese- und Schreiboperationen getrennte Counter aktivieren.
Dieser Performance Counter ist ein signifikanter Indikator für die Belastung des Disk-Subsystems und sollte
nicht dauerhaft größer sein als 1 pro Festplatte, die netto zur Verfügung steht. In einem RAID 1 Verband aus
zwei Festplatten also nicht dauerhaft größer als 1, in einem RAID 1+0 aus 6 Festplatten nicht dauerhaft
größer als 3. Die Beispielgrafik zeigt die »Avg. Disk Queue Length« für eine Konfiguration mit einer
Festplatte, bei der der Wert unter 1 liegen sollte. Während im ersten Zeitraum dieser Aufzeichnung die
Festplatte nicht wesentlich belastet wird, so ist gegen Ende der Messung das Disk-Subsystem deutlich
überlastet.
Die Performance des Disk-Subsystems, auf dem das Pagefile liegt, sollte immer gemeinsam mit dem
Arbeitsspeicher betrachtet werden. Wenn der Arbeitsspeicher knapp wird, lagert Windows Teile des
Speichers in das Pagefile auf der Festplatte aus und liest diese später wieder ein, was zu deutlich erhöhten
Plattenaktivitäten auf der Festplatte führt, auf der das Pagefile liegt.
Zusätzliche Performance Counter des \PhysicalDisk(*) bzw. \LogicalDisk(*) Objektes, die weiteren
Aufschluss über die Plattenaktivität geben können:
Avg. Disk Bytes/Read
Durchschnitt der Auftragsgröße beim Lesen
Avg. Disk Bytes/Write
Durchschnitt der Auftragsgröße beim Schreiben
Avg. Disk sec/Read
Durchschnittswert der pro Leseauftrag benötigte Zeit in Sekunden
Avg. Disk sec/Write
Durchschnittswert der pro Schreibauftrag benötigte Zeit in Sekunden
Disk Read Bytes/sec
Gesamtanzahl der gelesenen Bytes pro Sekunde
Disk Reads/sec
Gesamtanzahl der Lesevorgänge pro Sekunde
Disk Write Bytes/sec
Gesamtanzahl der geschriebenen Bytes pro Sekunde
Disk Writes/sec
Gesamtanzahl der Schreibvorgänge pro Sekunde
Der vielfach verwendete Counter »% Disk Time« ist nicht zu empfehlen, da er in heutigen Windows
Versionen genau dem Hundertfachen von »Avg. Disk Queue Length« entspricht.
© Fujitsu Technology Solutions 2009
Seite 40 (46)
White Paper
Sizing Guide | Terminal Server Sizing Guide
Version: 4.0, Oktober 2009
Aus diesen Performance Countern lässt sich das Zugriffsmuster auf die Festplatten ablesen, d.h. die
gelesenen und geschriebenen Blockgrößen, und die Latenzzeiten (»Avg. Disk sec«) beim Lesen und
Schreiben. Diese Messwerte sollten in dem Fall als Zusatzinformation ausgewertet werden, wenn die »Avg.
Disk Queue Length« auf einen Festplattenengpass hindeutet. Mit der Anzahl von Schreib- und
Leseaufträgen pro Sekunde können in Verbindung mit der im Durchschnitt genutzten Auftragsgröße und
dem verwendeten RAID-Level ebenfalls Rückschlüsse auf die Auslastung des Disk-Subsystems getroffen
werden. Zum Sizing von Disk-Subsystemen wurde ein eigenes White Paper »Performance Report – Modular
RAID für PRIMERGY« [L5] erstellt.
Zu beachten ist auch, dass ein Disk-Subsystem, das über iSCSI angeschlossen ist, zusätzlich zu den
Performance Countern der Festplattenobjekte bei den Performance Countern der Netzwerkkarte auftaucht,
die im Folgenden beschrieben werden.
Netzwerk
Für einen ersten Blick auf die Netzwerkauslastung reicht der Task-Manager aus. Auf der Seite »Netzwerk«
(»Networking«) erhält man schnell einen Überblick über die »Netzwerkauslastung« (»Network Utilization«)
der einzelnen Netzwerkkarten und deren »Übertragungsrate« (»Link Speed«).
Bei einer Performance Monitor-Aufzeichnung sollten die folgenden Performance Counter mit berücksichtigt
werden:
\Network Interface(*)\Bytes Sent/sec
\Network Interface(*)\Bytes Received/sec
»Bytes Sent/sec« und »Bytes Received/sec« zählen die aus Sicht des Servers gesendeten und
empfangenen Daten in Bytes.
Zusätzlich ist es auch sinnvoll die Performance Counter
\Network Interface(*)\Packets Received/sec
\Network Interface(*)\Packets Sent/sec
zu betrachten. »Packets Sent/sec« und »Packets Received/sec« sind die Anzahl der aus Sicht des
Servers gesendeten und empfangenen Datenpakete. Aus dem Verhältnis der Datenbytes und der Anzahl
der Pakete lässt sich die durchschnittliche Paketgröße ermitteln.
Je größer die Netzwerkpakete, desto höher die mögliche Netzwerkauslastung.
Die Protokolle RDP oder ICA, die ein Terminal Server zwischen Client und Server verwendet, beinhalten
nicht sehr große Datenpakete. Eine 100% Auslastung eines 100 MBit-Netzwerkes wird sich daher kaum
beobachten lassen. Das ICA-Protokoll des Citrix Presentation Server ist dabei noch etwas sparsamer als
das RDP-Protokoll des Microsoft Terminal Services.
Neben der Client-Server-Kommunikation entsteht in den meisten Anwendungsszenarien jedoch auch
weiterer Netzwerkverkehr zu Back-End-Server, ins Internet, oder bei Verwendung eines Netzwerk-basierten
Disk-Subsystem, wie NAS oder iSCSI Datentransfer zum Disk-Subsystem. Es ist dringend zu empfehlen,
dass für diese unterschiedlichen Datenströme dedizierte Netzwerkinterfaces verwendet werden.
Die verschiedenen Netzwerkinterfaces können anstelle des (*) im Performance Monitor auch einzeln mit
ihrem Namen selektiert werden. Wenn (*), wie im Beispiel oben, als Netzwerkkartenbezeichnung angegeben
wird, dann werden alle im System verfügbaren Netzwerkkarten aufgezeichnet. Hierzu gehört auch das
Loopback-Interface, auf dem normalerweise nicht viel Netzwerkverkehr stattfindet.
Zu beachten ist, dass sich mit dem Performance Monitor oder dem Task-Manager nur die Auslastung des
Netzwerkes aus Sicht des Terminal Servers analysieren lässt. Datenverkehr anderer Server und Clients auf
dem Netzwerk kann nicht erfasst werden. Oft ist jedoch nicht das Server-seitige Netzwerk selbst zu klein
dimensioniert, sondern die Probleme können beispielsweise von fehlerhaften oder falsch konfigurierten
Komponenten herrühren oder durch vielfältige Problemen bei der Verbindung dieser Komponenten
entstehen. An dieser Stelle sollte man einen Netzwerkspezialisten hinzuziehen.
© Fujitsu Technology Solutions 2009
Seite 41 (46)
White Paper
Sizing Guide | Terminal Server Sizing Guide
Version: 4.0, Oktober 2009
Terminal Server
Der Microsoft Terminal Server selbst liefert nicht viele Performance Counter. Jedoch bietet der Terminal
Server unter dem Objekt »Terminal Services Sessions« Performance Counter pro Session für eine
detaillierter Auswertung einzelner Sitzungen an.
Die Anzahl Terminal Server Verbindungen sollte immer mitgeschrieben werden, um die anderen
Performance Counter in Relation zur Anzahl verbundenen Benutzer setzen zu können:
\Terminal Services\Active Sessions
Es ist ein Unterschied, ob der Benutzer die Verbindung zum Terminal Server beendet, indem er sich
abmeldet (»Logoff«) oder ob er mit einem »Disconnect« die Verbindung nur unterbricht. Im letzteren Fall
läuft die Anwendung auf dem Terminal Server weiter und gibt ihre Ressourcen nicht frei. Der Benutzer kann
seine Arbeit dann an dieser Stelle fortsetzen. Manche Anwendungen brauchen auch CPU-Ressourcen,
während die Verbindung getrennt ist. Daher sollte die Anzahl der inaktiven Verbindungen (»Inactive
Sessions«)
\Terminal Services\Inactive Sessions
ebenfalls mitprotokolliert werden.
Diese beiden Parameter gelten gleichwohl für die Microsoft Terminal Services als auch für den Citrix
Presentation Server.
Citrix selbst liefert auch Performance-Objekte mit verschiedenen Performance Countern mit. Folgende
Performance Objekte werden installiert:
»Citrix CPU Utilization Mgmt User«
Counter für das Feature »CPU Utilization Management«
»Citrix IMA Networking«
Counter für Anzahl Verbindungen und Netzwerklast
»Citrix MetaFrame Presentation Server«
Counter u.a. für Data Store, Local Host Cache, Licensing
»ICA Session« (für einzelne Sessions oder gesamt »_Server Total«)
Counter spezifisch für ICA-Session
Diese sind jedoch eher für spezielle Auswertungen geeignet und weniger für eine allgemeine PerformanceAnalyse eines Terminal Servers.
© Fujitsu Technology Solutions 2009
Seite 42 (46)
White Paper
Sizing Guide | Terminal Server Sizing Guide
Version: 4.0, Oktober 2009
Applikationen
Eine fehlerhafte Anwendung kann eine CPU zeitweise oder permanent voll belasten, und gerade auf einem
Terminal Server kann das fatale Auswirkungen auf die Gesamtleistung des Systems haben, da diese
Anwendung auch mehrfach gestartet sein kann. Wenn die Anwendung einen Thread besitzt, der z.B. in einer
Endlosschleife läuft oder »aktiv wartet«, dann belegt dieser maximal »100% / #CPUs« Prozessorzeit. Auf
einem System mit zwei logischen Prozessoren also 50%, auf einem System mit vier logischen CPUs 25%.
Je mehr logische CPUs das System hat, desto weniger fällt so ein Programm auf. Bei CPU-Engpässen sollte
immer überprüft werden, ob es solche Anwendungen gibt, die dauerhaft genau diese Prozentzahl an CPULeistung benötigen. Kurzfristige Lastspitzen einer Anwendung sind hingegen völlig normal. Einen ersten
Blick auf die Anwendungen ermöglicht der Task-Manager bzw. der Process Explorer. Folgender Screenshot
zeigt einen synthetischen Lastsimulator auf einem PRIMERGY System mit acht logischen Prozessoren, der
eine Endlosschleife simuliert. Der Process Explorer weist 12.50% CPU Last aus, d.h. diese eine Anwendung
lastet einen Prozessorkern vollständig aus.
Ein solches Verhalten ist oft in Desktop-Anwendungen zu finden, die für einen einzelnen Benutzer geschrieben und daher für eine Terminal Server Umgebung nur bedingt geeignet sind. Wenn Citrix Presentation
Server 4.0 eingesetzt wird, dann kann man solche Anwendungen auch in ihrer Rechenleistung beschränken.
Diese Einschränkung greift nur, wenn insgesamt zu wenig CPU Ressourcen zur Verfügung stehen.
Auch der Speicherbedarf einer Applikation sollte überprüft werden. Unser synthetischer Lastsimulator hat ca.
1.5 GB virtuellen Speicher belegt, allerdings ist der »Working Set« nur 5.3 MB groß. Diese Anwendung hat
zwar eine Menge Speicher reserviert, hat ihn jedoch nicht in Verwendung. Erst wenn die Anwendung auf
dem Speicher arbeitet, vergrößert sich der »Working Set« und der im System verfügbare Speicher
»Available Mbytes« nimmt ab.
Mit dem Performance Monitor kann man viele Performance Counter statt für das Gesamtsystem auch für
einzelne laufende Anwendungen anzeigen lassen. Hierzu verwendet man das Objekt »Process« und als
Instanz dann den zu überwachenden Prozess.
© Fujitsu Technology Solutions 2009
Seite 43 (46)
White Paper
Sizing Guide | Terminal Server Sizing Guide
Version: 4.0, Oktober 2009
Performance Monitor-Konfigurationsskript
An dieser Stelle möchten wir eine Beispielkonfiguration mit den aussagekräftigsten Performance Countern
aufführen, die bei Bedarf erweitert werden kann. Normalerweise stellt man die Auswahl der Performance
Counter mit dem Performance Montitor Programm zusammen und speichert diese dann als »Protokolle der
Ablaufverfolgung (Counter Log)« als *.htm Datei ab. Diese HTML-Datei kann man auch wieder in einer
anderen Umgebung einlesen, jedoch sind einige Parameter ggf. systemspezifisch einzustellen, und die
Performance Counter sind neu zu nummerieren, wenn Performance Counter hinzugefügt oder entfernt
werden.
Beim remote Monitoring ist
der Name des Servers im
Format »\\<server>« vor den
Performance Counter zu
stellen, z.B. für den Server
»server«: »\\server\Terminal
Services\Active Sessions«.
Neben
einem
einzelnen
Server können beim remote
Monitoring auch mehrere
Server gleichzeitig überwacht
werden.
Alternativ kann man die Konfiguration der Performance
Counter auch in eine Textdatei schreiben und mit dem
»logman« Kommando laden.
Hierzu siehe die Hilfe des
»logman« Kommandos mit
»logman -?«.
Ein fertiges Konfigurationsskript ist nebenstehend abgebildet. Es kann als HTMLDatei, z.B. mit dem Namen
»perf.htm«, am besten mit
einem Text-Editor wie Notepad, angelegt werden und
dann
im
Performance
Monitor mit »Neue Protokolleinstellungen von... (New
Log Settings From ...)« importiert werden. Besonders
wichtige Parameter sind farblich unterlegt, während der
fett gedruckte Laufwerksbuchstabe ggf. an den
Speicherort des Pagefiles
angepasst werden muss.
© Fujitsu Technology Solutions 2009
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><HTML>
<HEAD>
<META NAME="GENERATOR" Content="Microsoft System Monitor">
</HEAD>
<BODY>
<OBJECT ID="DISystemMonitor1" WIDTH="100%" HEIGHT="100%"
CLASSID="CLSID:C4D2D8E0-D1DD-11CE-940F-008029004347">
<PARAM NAME="_Version" VALUE="196611">
<PARAM NAME="LogName" VALUE="perf">
<PARAM NAME="Comment" VALUE="">
<PARAM NAME="LogType" VALUE="0">
<PARAM NAME="CurrentState" VALUE="0">
<PARAM NAME="RealTimeDataSource" VALUE="1">
<PARAM NAME="LogFileMaxSize" VALUE="-1">
<PARAM NAME="DataStoreAttributes" VALUE="1">
<PARAM NAME="LogFileBaseName" VALUE="perf">
<PARAM NAME="LogFileSerialNumber" VALUE="1">
<PARAM NAME="LogFileFolder" VALUE="C:\Perflogs">
<PARAM NAME="Sql Log Base Name" VALUE="SQL:!perf">
<PARAM NAME="LogFileAutoFormat" VALUE="-1">
<PARAM NAME="LogFileType" VALUE="2">
<PARAM NAME="StartMode" VALUE="0">
<PARAM NAME="StopMode" VALUE="0">
<PARAM NAME="RestartMode" VALUE="0">
<PARAM NAME="LogFileName" VALUE="C:\Perflogs\perf.blg">
<PARAM NAME="EOFCommandFile" VALUE="">
<PARAM NAME="Counter00001.Path" VALUE="\Terminal Services\Active Sessions">
<PARAM NAME="Counter00002.Path" VALUE="\Terminal Services\Inactive Sessions">
<PARAM NAME="Counter00003.Path" VALUE="\Processor(_Total)\% Processor Time">
<PARAM NAME="Counter00004.Path" VALUE="\Processor(_Total)\Interrupts/sec">
<PARAM NAME="Counter00005.Path" VALUE="\System\Processor Queue Length">
<PARAM NAME="Counter00006.Path" VALUE="\System\Context Switches/sec">
<PARAM NAME="Counter00007.Path" VALUE="\System\Processes">
<PARAM NAME="Counter00008.Path" VALUE="\System\System Calls/sec">
<PARAM NAME="Counter00009.Path" VALUE="\Memory\Available MBytes">
<PARAM NAME="Counter00010.Path" VALUE="\Memory\Free System Page Table Entries">
<PARAM NAME="Counter00011.Path" VALUE="\Memory\Pool Nonpaged Bytes">
<PARAM NAME="Counter00012.Path" VALUE="\Memory\Pool Paged Bytes">
<PARAM NAME="Counter00013.Path" VALUE="\Memory\Page Faults/sec">
<PARAM NAME="Counter00014.Path" VALUE="\Memory\Pages Input/sec">
<PARAM NAME="Counter00015.Path" VALUE="\Memory\Pages Output/sec">
<PARAM NAME="Counter00016.Path" VALUE="\Memory\Committed Bytes">
<PARAM NAME="Counter00017.Path" VALUE="\Process(_Total)\Working Set">
<PARAM NAME="Counter00018.Path" VALUE="\Paging File(\??\C:\pagefile.sys)\% Usage">
<PARAM NAME="Counter00019.Path" VALUE="\Cache\Copy Read Hits %">
<PARAM NAME="Counter00020.Path" VALUE="\LogicalDisk(*)\Avg. Disk Queue Length">
<PARAM NAME="Counter00021.Path" VALUE="\LogicalDisk(*)\Avg. Disk Bytes/Read">
<PARAM NAME="Counter00022.Path" VALUE="\LogicalDisk(*)\Avg. Disk Bytes/Write">
<PARAM NAME="Counter00023.Path" VALUE="\LogicalDisk(*)\Avg. Disk sec/Read">
<PARAM NAME="Counter00024.Path" VALUE="\LogicalDisk(*)\Avg. Disk sec/Write">
<PARAM NAME="Counter00025.Path" VALUE="\LogicalDisk(*)\Disk Read Bytes/sec">
<PARAM NAME="Counter00026.Path" VALUE="\LogicalDisk(*)\Disk Reads/sec">
<PARAM NAME="Counter00027.Path" VALUE="\LogicalDisk(*)\Disk Write Bytes/sec">
<PARAM NAME="Counter00028.Path" VALUE="\LogicalDisk(*)\Disk Writes/sec">
<PARAM NAME="Counter00029.Path" VALUE="\Network Interface(*)\Bytes Received/sec">
<PARAM NAME="Counter00030.Path" VALUE="\Network Interface(*)\Bytes Sent/sec">
<PARAM NAME="Counter00031.Path" VALUE="\Network Interface(*)\Packets Received/sec">
<PARAM NAME="Counter00032.Path" VALUE="\Network Interface(*)\Packets Sent/sec">
<PARAM NAME="CounterCount" VALUE="32">
<PARAM NAME="UpdateInterval" VALUE="15">
<PARAM NAME="SampleIntervalUnitType" VALUE="1">
<PARAM NAME="SampleIntervalValue" VALUE="15">
</OBJECT>
</BODY>
</HTML>
Seite 44 (46)
White Paper
Sizing Guide | Terminal Server Sizing Guide
Version: 4.0, Oktober 2009
Messwerkzeuge
Da es für Terminal Server keinen Standard-Benchmark gibt, existiert eine Reihe von verschiedenen
proprietären Messwerkzeugen und -methoden zur Skalierung von Terminal Servern. Neben Fujitsu
Technology Solutions benutzen auch Microsoft und Citrix eigene Software und auch der bekannte MicrosoftPress-Autor und Terminal Server Experte Dr. Bernhard Tritsch hat Untersuchungen mit eigenem
Lastsimulator durchgeführt. Die 2002 gegründete Firma LoginConsultants stellt auf ihren Internet-Seiten ein
kostenloses Tool zum Messen von Server-based Computing Sessions zur Verfügung.
Die nachfolgende Tabelle charakterisiert die verschiedenen Werkzeuge.
Microsoft
Terminal
Server
Scalability
Planning Tool
Citrix
CSTK /
Citrix ICAMark
3.0
Fujitsu
Technology
Solutions
T4US
visionapp
Remote
Desktop +
vRD Load
Edition
Login
Consultants
Login Virtual
Session
Indexer (VSI)
Eine Lastsimulator-Suite von Microsoft (http://www.microsoft.com), die Bestandteil des
Windows Server 2003 Resource Kit ist.
Arbeitet nur mit Microsoft Terminal Services (RDP-Protokoll)
bis zu 20 Benutzer pro Lastgenerator
Knowledge Worker arbeitet mit einem Remote Desktop und verschiedenen
Anwendungen (Microsoft Excel, Outlook, Internet Explorer, Word)
Eingaben per Tastatur, 35 Wörter pro Minute
Aufzeichnung von Performance Countern mit dem Windows Performance Monitor
CSTK ist ein Lastsimulator von Citrix (http://www.citrix.com/cdn).
Citrix ICAMark 3.0 ist ein Citrix-internes Tool, das auf dem CSTK basiert.
Nur für Citrix Presentation Server / XenApp (ICA-Protokoll).
Produziert Last, aber ermittelt keine Antwortzeiten von einzelnen Aktionen, nur die
Gesamtlaufzeit für ein komplettes Skript ist messbar.
Light User: Microsoft Excel, ca. 20 Wörter pro Minute
Heavy User: Microsoft Excel, Microsoft Access, Microsoft PowerPoint (sequentiell)
ca. 40 Wörter pro Minute
Aufzeichnung von Performance Countern mit dem Windows Performance Monitor
Eigenentwicklung von Fujitsu Technology Solutions
Sowohl für Microsoft Terminal Services als auch für Citrix Presentation Server
Bis zu 40 Benutzer pro Lastgenerator
Überwachung der Antwortzeiten für alle Benutzer bei verschiedenen Aktionen, Vergleich
mit Referenzmessung
Medium Lastprofil:
Login + Desktop + Office-Anwendungen + Logoff
Eingabe per Tastatur und Maus; Lesen und Schreiben von Daten
Aufzeichnung von Performance Countern mit dem Windows Performance Monitor
Eigenentwicklung von visionapp (http://www.visionapp.com/de)
Messungen mit Microsoft Terminal Services (RDP-Protokoll)
Bis zu 40 Benutzer pro Lastgenerator
Desktop + Applikationen:
Notepad: Textdatei, 8.4 KB
Microsoft Word: Word Dokument, 3.1 MB
Acrobat Reader 7: PDF-Datei, 3.8 MB
Abgesehen von der Benutzeranmeldung finden während des Tests keine Eingaben statt,
es werden keine Daten durch die Anwendungen angelegt
Messung der Logon-Zeiten sowie der Anzahl der gestarteten Verbindungen und
Applikationen
Aufzeichnung von Performance Countern mit dem Windows Performance Monitor
Eigenentwicklung von LoginConsultants (http://www.loginconsultants.com)
VSI: kostenlose Version mit einem (Medium) Lastprofil, nicht anpassbar
VSIpro: Lizenzpflichtige customize-fähige Version, verschiedene Lastprofile
Messungen erfolgen auf dem SUT, daher Protokoll-unabhängig
Medium Lastprofil: Login, Outlook, Internet Explorer, Word, Excel, PowerPoint,
PDFWriter Aktionen
Kontinuierliches Starten von Benutzer-Sessions und Messen von Reaktionszeiten
Ergebnis VSI: die maximale Anzahl Virtual Sessions anhand der Reaktionszeiten
© Fujitsu Technology Solutions 2009
Seite 45 (46)
White Paper
Sizing Guide | Terminal Server Sizing Guide
Version: 4.0, Oktober 2009
Literatur
[L1]
Allgemeine Informationen zu Produkten von Fujitsu Technology Solutions
http://de.ts.fujitsu.com
[L2]
Allgemeine Informationen zur PRIMERGY Produktfamilie
http://www.primergy.de
[L3]
PRIMERGY Benchmarks - Performance Reports und Sizing Guides
http://de.ts.fujitsu.com/products/standard_servers/primergy_bov.html
[L4]
Speicher-Performance Xeon 5500 (Nehalem EP) basierter PRIMERGY Server
http://docs.ts.fujitsu.com/dl.aspx?id=3ba9fc71-4b0d-493f-b842-02a1d3645be0
[L5]
Performance Report - Modular RAID für PRIMERGY
http://docs.ts.fujitsu.com/dl.aspx?id=2d0d20d8-7c14-407c-b904-6112f4c7821c
[L6]
Microsoft Windows 2003 und Terminal Server
http://www.microsoft.com/terminalserver
[L7]
Windows Server 2003 Terminal Server Capacity and Scaling
http://www.microsoft.com/windowsserver2003/techinfo/overview/tsscaling.mspx
[L8]
Remote Desktop Services Windows Server 2008 R2
http://www.microsoft.com/windowsserver2008/en/us/rds-product-home.aspx
[L9]
Citrix
http://www.citrix.de
[L10]
Sysinternals Tools
www.sysinternals.com
[L11]
Microsoft Windows Performance Toolkit
http://msdn.microsoft.com/en-us/performance/cc752957.aspx
Kontakt
PRIMERGY Hardware
PRIMERGY Product Marketing
mailto:Primergy-PM@ts.fujitsu.com
PRIMERGY Performance und Benchmarks
PRIMERGY Performance und Benchmarks
mailto:primergy.benchmark@ts.fujitsu.com
Lieferung vorbehaltlich Verfügbarkeit, technische Änderungen ohne
Vorankündigung möglich, Korrektur von Irrtümern und Auslassungen
vorbehalten.
Alle angegebenen Konditionen (TCs) sind empfohlene Einstandspreise in
Euro ohne MwSt. (sofern im Text nicht anderweitig angegeben). Sämtliche
verwendete Hardware- und Software- Namen sind Handelsnamen und/oder
Warenzeichen ihrer jeweiligen Hersteller.
Copyright © Fujitsu Technology Solutions GmbH 2009
Herausgegeben durch:
Internet:
http://ts.fujitsu.com/primergy
Enterprise Products
PRIMERGY Server
PRIMERGY Performance Lab
mailto:primergy.benchmark@ts.fujitsu.com
Extranet:
http://partners.ts.fujitsu.com/com/products/serv
ers/primergy