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