Terminal Server Sizing Guide - Fujitsu

Terminal Server Sizing Guide - Fujitsu Terminal Server Sizing Guide - Fujitsu

globalsp.ts.fujitsu.com
von globalsp.ts.fujitsu.com Mehr von diesem Publisher
17.11.2013 Aufrufe

Terminal Server Sizing Guide Ausgabe 4.0 Oktober 2009 Seiten 46 Abstract Terminal Server als eine Form des Server-based Computing hat sich in weiten Bereichen der IT Infrastruktur etabliert. Das vorliegende Papier beschäftigt sich mit der Frage, wie viele Benutzer eine als Terminal Server eingesetzte PRIMERGY mit adäquater Performance bedienen kann. Es soll helfen, für eine geforderte Leistungsklasse das passende PRIMERGY Modell zu finden. Nach einer allgemeinen Abhandlung über das Vermessen von Terminal Server wird das zum Dimensionieren der PRIMERGY Systeme benutzte Simulationswerkzeug (T4US) vorgestellt. Dann wird ausführlich darauf eingegangen, welche Komponenten welchen Einfluss auf die Leistungsfähigkeit eines Terminal Server Systems haben. Anschließend wird eine Einordnung älterer und aktueller PRIMERGY Systeme in Bezug auf ihre Leistungsfähigkeit als Terminal Server durchgeführt. Da eine Dimensionierung auch immer einen kundenspezifischen Aspekt beinhaltet, wird zusätzlich ein Überblick über nützliche Analysewerkzeuge und Engpassanalysen gegeben. Zum Abschluss werden Messmethoden anderer Hersteller skizziert. Inhalt Einführung ................................................................... 2 PRIMERGY ............................................................... 2 Server-based Computing .......................................... 2 Windows Terminal Server ...................................... 2 Lösungen ............................................................... 3 Trends .................................................................... 3 Dimensionierung .......................................................... 4 Methoden .................................................................. 4 Kenngröße »Benutzer« ............................................. 5 Benutzersimulation ................................................... 5 Interpretation ............................................................. 6 Benchmark-Beschreibung ........................................... 7 Simulationswerkzeug: T4US ..................................... 7 Lastprofil ................................................................... 7 Lastprofil V1 ........................................................... 8 Lastprofil V2 ........................................................... 8 Messmethode ........................................................... 9 Messumgebung ......................................................... 10 Ressourcenbedarf ..................................................... 12 Betriebssystem ....................................................... 12 IA64 ..................................................................... 12 x64 ....................................................................... 12 Limitierungen ....................................................... 13 Auswirkungen ...................................................... 14 Rechenleistung ....................................................... 15 Prozessortyp ........................................................ 15 Taktfrequenz ........................................................ 16 Memory-Anbindung .............................................. 17 Caches ................................................................. 18 Hyper-Threading .................................................. 19 Anzahl Kerne ........................................................ 20 Arbeitsspeicher ....................................................... 21 Disk-Subsystem ...................................................... 24 Netzwerk ................................................................. 25 Infrastruktur ............................................................. 26 Überlastverhalten .................................................... 28 Anzahl Prozesse .................................................. 28 PRIMERGY Skalierung .............................................. 29 Analysewerkzeuge ..................................................... 31 Task-Manager ...................................................... 31 Sysinternals Process Explorer ............................. 31 Performance Monitor ............................................ 31 Windows Performance Toolkit .............................. 32 Citrix Resource Manager...................................... 34 Microsoft Operations Manager (MOM) 2005 ........ 35 Engpassanalyse ........................................................ 36 Rechenleistung/System .......................................... 37 Arbeitsspeicher ....................................................... 38 Betriebssystemressourcen ...................................... 39 Disk-Subsystem ...................................................... 40 Netzwerk ................................................................. 41 Terminal Server ...................................................... 42 Applikationen .......................................................... 43 Performance Monitor-Konfigurationsskript .............. 44 Messwerkzeuge ......................................................... 45 Literatur ...................................................................... 46 Kontakt ....................................................................... 46

<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

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!