17.11.2013 Aufrufe

Terminal Server Sizing Guide - Fujitsu

Terminal Server Sizing Guide - Fujitsu

Terminal Server Sizing Guide - Fujitsu

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

<strong>Terminal</strong> <strong>Server</strong> <strong>Sizing</strong> <strong>Guide</strong><br />

Ausgabe 4.0<br />

Oktober 2009<br />

Seiten 46<br />

Abstract<br />

<strong>Terminal</strong> <strong>Server</strong> als eine Form des <strong>Server</strong>-based Computing hat sich in<br />

weiten Bereichen der IT Infrastruktur etabliert. Das vorliegende Papier<br />

beschäftigt sich mit der Frage, wie viele Benutzer eine als <strong>Terminal</strong> <strong>Server</strong><br />

eingesetzte PRIMERGY mit adäquater Performance bedienen kann. Es<br />

soll helfen, für eine geforderte Leistungsklasse das passende PRIMERGY Modell zu<br />

finden. Nach einer allgemeinen Abhandlung über das Vermessen von <strong>Terminal</strong> <strong>Server</strong><br />

wird das zum Dimensionieren der PRIMERGY Systeme benutzte Simulationswerkzeug<br />

(T4US) vorgestellt. Dann wird ausführlich darauf eingegangen, welche Komponenten<br />

welchen Einfluss auf die Leistungsfähigkeit eines <strong>Terminal</strong> <strong>Server</strong> Systems haben.<br />

Anschließend wird eine Einordnung älterer und aktueller PRIMERGY Systeme in<br />

Bezug auf ihre Leistungsfähigkeit als <strong>Terminal</strong> <strong>Server</strong> durchgeführt. Da eine Dimensionierung auch immer<br />

einen kundenspezifischen Aspekt beinhaltet, wird zusätzlich ein Überblick über nützliche Analysewerkzeuge<br />

und Engpassanalysen gegeben. Zum Abschluss werden Messmethoden anderer Hersteller skizziert.<br />

Inhalt<br />

Einführung ................................................................... 2<br />

PRIMERGY ............................................................... 2<br />

<strong>Server</strong>-based Computing .......................................... 2<br />

Windows <strong>Terminal</strong> <strong>Server</strong> ...................................... 2<br />

Lösungen ............................................................... 3<br />

Trends .................................................................... 3<br />

Dimensionierung .......................................................... 4<br />

Methoden .................................................................. 4<br />

Kenngröße »Benutzer« ............................................. 5<br />

Benutzersimulation ................................................... 5<br />

Interpretation ............................................................. 6<br />

Benchmark-Beschreibung ........................................... 7<br />

Simulationswerkzeug: T4US ..................................... 7<br />

Lastprofil ................................................................... 7<br />

Lastprofil V1 ........................................................... 8<br />

Lastprofil V2 ........................................................... 8<br />

Messmethode ........................................................... 9<br />

Messumgebung ......................................................... 10<br />

Ressourcenbedarf ..................................................... 12<br />

Betriebssystem ....................................................... 12<br />

IA64 ..................................................................... 12<br />

x64 ....................................................................... 12<br />

Limitierungen ....................................................... 13<br />

Auswirkungen ...................................................... 14<br />

Rechenleistung ....................................................... 15<br />

Prozessortyp ........................................................ 15<br />

Taktfrequenz ........................................................ 16<br />

Memory-Anbindung .............................................. 17<br />

Caches ................................................................. 18<br />

Hyper-Threading .................................................. 19<br />

Anzahl Kerne ........................................................ 20<br />

Arbeitsspeicher ....................................................... 21<br />

Disk-Subsystem ...................................................... 24<br />

Netzwerk ................................................................. 25<br />

Infrastruktur ............................................................. 26<br />

Überlastverhalten .................................................... 28<br />

Anzahl Prozesse .................................................. 28<br />

PRIMERGY Skalierung .............................................. 29<br />

Analysewerkzeuge ..................................................... 31<br />

Task-Manager ...................................................... 31<br />

Sysinternals Process Explorer ............................. 31<br />

Performance Monitor ............................................ 31<br />

Windows Performance Toolkit .............................. 32<br />

Citrix Resource Manager...................................... 34<br />

Microsoft Operations Manager (MOM) 2005 ........ 35<br />

Engpassanalyse ........................................................ 36<br />

Rechenleistung/System .......................................... 37<br />

Arbeitsspeicher ....................................................... 38<br />

Betriebssystemressourcen ...................................... 39<br />

Disk-Subsystem ...................................................... 40<br />

Netzwerk ................................................................. 41<br />

<strong>Terminal</strong> <strong>Server</strong> ...................................................... 42<br />

Applikationen .......................................................... 43<br />

Performance Monitor-Konfigurationsskript .............. 44<br />

Messwerkzeuge ......................................................... 45<br />

Literatur ...................................................................... 46<br />

Kontakt ....................................................................... 46


White Paper <strong>Sizing</strong> <strong>Guide</strong> | <strong>Terminal</strong> <strong>Server</strong> <strong>Sizing</strong> <strong>Guide</strong> Version: 4.0, Oktober 2009<br />

Einführung<br />

PRIMERGY<br />

»PRIMERGY« ist seit 1995 der Markenname für die sehr erfolgreiche Industrie-Standard-<strong>Server</strong>-Familie aus<br />

dem Hause <strong>Fujitsu</strong> Technology Solutions. Es handelt sich dabei um eine bei <strong>Fujitsu</strong> Technology Solutions<br />

entwickelte und produzierte Produktlinie mit Systemen für kleine Arbeitsgruppen bis hin zu Lösungen für<br />

Großunternehmen. Zu den PRIMERGY Modellen gehören neben wirtschaftlichen 1-Socket Systemen der<br />

Einstiegsklasse auch leistungsstarke Dual-Socket Systeme als Rack und Tower Modelle bis hin zu den<br />

Mehr-Sockel Systemen und Blade <strong>Server</strong>n. Als Herzstück werden Intel Prozessoren der obersten<br />

Leistungsklasse verwendet. Weitere detaillierte Informationen über die aktuellen Systeme findet man bei<br />

<strong>Fujitsu</strong> Technology Solutions im Internet.<br />

<strong>Server</strong>-based Computing<br />

Windows <strong>Terminal</strong> <strong>Server</strong><br />

<strong>Terminal</strong> <strong>Server</strong> ist eine Form des <strong>Server</strong>-based Computing auf Basis von Microsoft Windows <strong>Server</strong><br />

Betriebssystemen.<br />

Das klassische <strong>Server</strong>-based Computing ist<br />

eine Systemarchitektur, bei der Microsoft<br />

Windows Client-Anwendungen zu 100<br />

Prozent auf dem <strong>Server</strong> installiert und<br />

ausgeführt werden. Von dort erfolgt nicht nur<br />

deren Einsatz, sondern auch deren Wartung,<br />

Verwaltung und Support finden direkt auf<br />

dem <strong>Server</strong> statt. Lediglich die<br />

Benutzeroberfläche, d.h. die Bildschirm-,<br />

Maus- und Tastatur-Informationen werden<br />

zwischen Client und <strong>Server</strong> übertragen. Der<br />

Benutzer kann so von fast beliebigen Clients<br />

aus, auch nicht Windows basierten, über<br />

einen solchen <strong>Terminal</strong> <strong>Server</strong> sofort auf<br />

Windows Anwendungen zugreifen, ohne<br />

dass die jeweiligen Applikationen erst zum<br />

Client übertragen, dort gestartet, oder gar auf lokalen Massenspeichern vorgehalten werden müssten. Wird<br />

ein Client ausschließlich in diesem <strong>Server</strong>-based Szenario eingesetzt, so hat er hinsichtlich Speicher- und<br />

Plattenausstattung wesentlich geringere Anforderungen als ein traditioneller Client, man spricht daher auch<br />

von so genannten Thin-Clients.<br />

Vorteile des <strong>Server</strong>-based Computing sind die Kostenreduktion durch bessere <strong>Server</strong>-Auslastung sowie<br />

bessere Administration durch Zentralisierung von Anwendungen.<br />

<strong>Terminal</strong><br />

<strong>Server</strong><br />

Data<br />

Store<br />

Ein <strong>Terminal</strong> <strong>Server</strong> kann prinzipiell für alle<br />

Arten von Applikationen eingesetzt werden. Wo<br />

bislang kleine Rechner oder <strong>Terminal</strong>s für<br />

einfache Dateneingabe bzw. -abfrage<br />

Verwendung fanden, können mit dem <strong>Terminal</strong><br />

<strong>Server</strong> moderne Anwendungen in ein<br />

bestehendes Umfeld integriert werden.<br />

Eine <strong>Terminal</strong> <strong>Server</strong> Farm ist ein<br />

Zusammenschluß von <strong>Terminal</strong> <strong>Server</strong>n, die<br />

eine gemeinsame Verwaltungseinheit, Data<br />

Store genannt, besitzen. Diese werden<br />

gemeinsam administriert. Die Zuordnung von<br />

Benutzern zu <strong>Server</strong>n und Applikationen kann<br />

statisch erfolgen oder dynamisch nach<br />

Auslastung der <strong>Terminal</strong> <strong>Server</strong> (Load Balanced<br />

<strong>Server</strong> Farm).<br />

© <strong>Fujitsu</strong> Technology Solutions 2009 Seite 2 (46)


White Paper <strong>Sizing</strong> <strong>Guide</strong> | <strong>Terminal</strong> <strong>Server</strong> <strong>Sizing</strong> <strong>Guide</strong> Version: 4.0, Oktober 2009<br />

Lösungen<br />

Das Konzept des <strong>Server</strong>-based Computing hat seit 2000 unter dem Namen »<strong>Terminal</strong> Services« einen<br />

festen Platz in <strong>Server</strong>-Produkten der Microsoft Windows 2000 <strong>Server</strong> und Windows <strong>Server</strong> 2003<br />

Produktlinie. Selbst in dem Client-Betriebssystem ab Windows XP Professional steht in begrenztem Umfang<br />

der <strong>Terminal</strong> Service unter dem Namen »Remote Desktop« zur Verfügung. Von einem beliebigen Windows<br />

Client kann somit auf das entfernte System zugegriffen werden, wobei die Anwendungen komplett auf dem<br />

Remote-System ablaufen. Das unterliegende Protokoll wird als »Remote Desktop Protocol« (RDP)<br />

bezeichnet. Auch wenn seit dem aktuellen Betriebssystem Windows <strong>Server</strong> 2008 die <strong>Terminal</strong>-Dienste nicht<br />

mehr »<strong>Terminal</strong> Services« heißen, sondern in »Remote Desktop Services« (RDS) umbenannt wurden, wird<br />

in diesem Papier der Einfachheit halber weiterhin der Name »<strong>Terminal</strong> Services« verwandt. Die Remote<br />

Desktop Services unter Windows <strong>Server</strong> 2008 sind um Funktionen erweitert, die die Verwaltung von<br />

<strong>Terminal</strong> <strong>Server</strong> Anwendungen (RemoteApp), den Webzugriff (Remote Desktop Web Access) auf diese<br />

sowie den sicheren Zugang zu den <strong>Terminal</strong>-Diensten über das Internet (Remote Desktop Gateway)<br />

betreffen.<br />

Der größte Player im <strong>Terminal</strong> <strong>Server</strong> Umfeld ist das US-amerikanische Softwarehaus Citrix. Sein<br />

weiterentwickeltes Produkt »Citrix XenApp« (früher »Citrix Presentation <strong>Server</strong>«, davor »Citrix Metaframe«)<br />

dient der virtuellen Bereitstellung und dem Managen von Anwendungen insbesondere in großen <strong>Server</strong>-<br />

Umgebungen. Citrix XenApp basiert auf Microsoft Windows <strong>Terminal</strong> Services. Es bietet Erweiterungen und<br />

zusätzliche Funktionalitäten in den Bereichen der zentralen Verwaltung und Überwachung großer <strong>Server</strong>-<br />

Farmen, sowie Unterstützung in stark heterogenen IT-Umgebungen. Im Gegensatz zu Microsoft <strong>Terminal</strong><br />

<strong>Server</strong> benutzt Citrix das eigenentwickelte, effiziente ICA-(Independent Computing Architecture) Protokoll<br />

zur Datenübertragung zwischen Client und <strong>Server</strong>.<br />

Trends<br />

Neben dem Konzept des <strong>Server</strong>-based Computing hat sich in den letzten Jahren das Konzept der<br />

Virtualisierung in den unterschiedlichsten Formen durchgesetzt.<br />

<strong>Server</strong>-Virtualisierung hat ähnlich wie <strong>Terminal</strong> <strong>Server</strong> Lösungen die Aufgabe, die Auslastung<br />

physikalischer <strong>Server</strong> zu erhöhen und Betriebskosten sowie Wartungs- und Administrationsaufwände zu<br />

verringern.<br />

Unter Applikations-Virtualisierung versteht man den Ansatz, Anwendungen von ihrer Umgebung zu<br />

isolieren, so dass Konflikte mit anderen Programmen oder dem Betriebssystem vermieden werden. Die<br />

<strong>Terminal</strong> <strong>Server</strong> Lösung von Citrix, »Citrix XenApp« realisiert Applikations-Virtualisierung durch die zwei<br />

Funktionalitäten: Application Streaming und Application Isolation. Das Application Streaming ermöglicht es,<br />

Anwendungen zum Client Device zu bringen und dort in einer geschützten und isolierten Umgebung<br />

ablaufen zu lassen. Die Applikations-Virtualisierungslösung von Microsoft findet sich in einem von Windows<br />

<strong>Terminal</strong> <strong>Server</strong> separaten Produkt »Microsoft Application Virtualization« (bekannt auch als App-V, früher<br />

SoftGrid).<br />

Eine der größten Barrieren bei der Einführung einer <strong>Terminal</strong> <strong>Server</strong> Lösung ist die Tatsache, dass allen<br />

Benutzern die gleiche Arbeitsplatzoberfläche bzw. die gleichen Anwendungen zur Verfügung gestellt<br />

wurden. Eine komplette Individualisierung, wie sie der Benutzer von seinem traditionellen Arbeitsplatz aus<br />

gewohnt ist, ist nicht möglich. Dieses wird bei der Desktop-Virtualisierung umgangen. Sie ist eine<br />

Zusammenführung der beiden Konzepte Virtualisierung und traditionelles <strong>Server</strong>-based Computing und<br />

findet sich im Konzept des von VMware zuerst eingeführten Begriffs des »Virtual Desktop Infrastructure«<br />

(VDI) wieder.<br />

In einer virtuellen Desktop-Umgebung sind die Desktops einzelner Benutzer in jeweils einer virtuellen<br />

Maschine eines <strong>Server</strong>s »gehostet«. Damit hat jeder Benutzer sein eigenes Desktop-System. Zugriff auf<br />

diesen virtuellen Arbeitsplatz kann z.B. über Protokolle wie RDP oder ICA erfolgen. Auch eine traditionelle<br />

<strong>Terminal</strong> <strong>Server</strong> Umgebung bietet die Möglichkeit, einem Benutzer in einer Session einen Desktop zur<br />

Verfügung zu stellen, allerdings entfällt die Möglichkeit der Personalisierung, wie sie bei einem traditionellen<br />

PC-Arbeitsplatz möglich wäre. Eine Diskussion welches Konzept – VDI oder <strong>Terminal</strong> <strong>Server</strong> – in welchem<br />

Umfeld mehr Vorteile bezüglich Kosten und Funktionalität bietet und sich damit durchsetzen wird, würde den<br />

Rahmen dieses Papiers sprengen, bleibt aber weiterhin spannend.<br />

© <strong>Fujitsu</strong> Technology Solutions 2009 Seite 3 (46)


White Paper <strong>Sizing</strong> <strong>Guide</strong> | <strong>Terminal</strong> <strong>Server</strong> <strong>Sizing</strong> <strong>Guide</strong> Version: 4.0, Oktober 2009<br />

Dimensionierung<br />

Methoden<br />

Bei der Skalierung – das ist der Prozess, das System an die benötigte Leistung anzupassen – werden zwei<br />

Methoden unterschieden:<br />

Scale-Up<br />

bezeichnet den Einsatz<br />

zunehmend größerer<br />

<strong>Server</strong> Systeme.<br />

Scale-Out<br />

bezeichnet den Einsatz von<br />

vielen kleineren Systemen,<br />

die sich die Arbeit teilen.<br />

Beim Scale-Up wird die Leistung eines <strong>Terminal</strong> <strong>Server</strong>s durch den Einsatz leistungsfähigerer Hardware,<br />

also insbesondere Rechenleistung und Arbeitsspeicher, erhöht. Es ist eine adäquate Skalierungsmethode,<br />

wenn eine überschaubare Anzahl an Benutzern zu bedienen ist. Diesem Skalierungsprozess sind Grenzen<br />

durch die maximale Leistungsfähigkeit des <strong>Server</strong>-Systems oder auch durch die Softwarearchitektur gesetzt.<br />

Insbesondere bei einem 32-bit Windows Betriebssystem ergeben sich Limitierungen im Speicherbereich, die<br />

dazu führen können, dass die Rechenleistung moderner Prozessoren nicht mehr voll ausgeschöpft werden<br />

kann. Genauer wird darauf im Kapitel Betriebssystem eingegangen.<br />

Beim Scale-Out werden viele <strong>Server</strong> zu einer Gruppe zusammengefasst. Man kann drei Varianten<br />

unterscheiden:<br />

1. Just a Bunch of <strong>Server</strong>s<br />

»Just a Bunch of <strong>Server</strong>s« ist eine lose Ansammlung von <strong>Server</strong>n, hier <strong>Terminal</strong> <strong>Server</strong>n, denen dedizierte<br />

Benutzergruppen oder Applikationen zugeordnet sind. Es findet jedoch unter den <strong>Terminal</strong> <strong>Server</strong>n kein<br />

Informationsaustausch und kein Lastenausgleich statt. Der Vorteil dieser Architektur ist die sehr einfache<br />

Erweiterbarkeit. Nachteilig ist, dass durch fehlenden Lastenausgleich <strong>Server</strong>-Leistung ungenutzt bleiben<br />

kann. Der administrative Aufwand ist recht hoch, da jedes System separat verwaltet werden muss. Dennoch<br />

wird diese Variante des Scale-Outs in der Praxis in kleineren Konfigurationen eingesetzt.<br />

2. <strong>Server</strong>-Farm<br />

Eine <strong>Terminal</strong> <strong>Server</strong> Farm ist ein Zusammenschluß von <strong>Terminal</strong> <strong>Server</strong>n, die eine gemeinsame<br />

Verwaltungseinheit besitzen. Die Zuordnung von Benutzern zu <strong>Server</strong>n und Applikationen erfolgt meist<br />

statisch. Vorteil gegenüber der »Just a Bunch of <strong>Server</strong>s« Variante ist die vereinfachte Administration der<br />

<strong>Server</strong>. Auch diese Variante des Scale-Outs wird in der Praxis sehr häufig eingesetzt.<br />

3. Load-balanced <strong>Server</strong>-Farm<br />

Bei einer »load-balanced <strong>Server</strong>-Farm« werden die<br />

einzelnen <strong>Terminal</strong> <strong>Server</strong> zu einer logischen Einheit<br />

zusammengefasst. Wird von einem Client eine Session<br />

initiiert, so wird diese von einem Load Balancer nach<br />

bestimmten Mechanismen an den <strong>Server</strong> mit der<br />

momentan geringsten Auslastung delegiert. Neben der<br />

besseren Auslastung der <strong>Terminal</strong> <strong>Server</strong> bietet das<br />

Load Balancing auch eine gewisse Redundanz.<br />

Aktuelle <strong>Terminal</strong> <strong>Server</strong> Softwarelösungen, sowohl<br />

von Microsoft als auch Citrix, bieten umfangreiche<br />

Möglichkeiten des Load Balancing.<br />

<strong>Terminal</strong><br />

<strong>Server</strong><br />

Load Balancer<br />

Session<br />

List<br />

Im Folgenden beschäftigen wir uns mit einem Scale-Up Scenario, d.h. der Dimensionierung eines einzelnen<br />

<strong>Terminal</strong> <strong>Server</strong>s.<br />

© <strong>Fujitsu</strong> Technology Solutions 2009 Seite 4 (46)


White Paper <strong>Sizing</strong> <strong>Guide</strong> | <strong>Terminal</strong> <strong>Server</strong> <strong>Sizing</strong> <strong>Guide</strong> Version: 4.0, Oktober 2009<br />

Kenngröße »Benutzer«<br />

Vor jeder Implementierung eines Applikations-<strong>Server</strong>s steht immer die gleiche Frage: Welches ist die<br />

passende Hardware für die geforderte Aufgabe? Natürlich möchte man dabei ein möglichst optimales<br />

System, welches weder für die Anforderungen zu klein noch (aus Kostengründen) total überdimensioniert ist.<br />

Die Frage ist also: Wie findet man ein wohl dimensioniertes System?<br />

Die einzige meist vorliegende Kenngröße ist die Anzahl Benutzer, die mit dem System arbeiten sollen. Die<br />

typische Frage, die also zumeist auftritt, ist: »Welches PRIMERGY Modell benötigt man für einen <strong>Terminal</strong><br />

<strong>Server</strong> zur Unterstützung einer bestimmten Anzahl von Benutzern?«. Optimalerweise würde man als Antwort<br />

eine handliche Tabelle erwarten, aus der anhand der Benutzerzahl in der einen Spalte unmittelbar aus der<br />

zweiten Spalte das ideale PRIMERGY System abgelesen werden kann. Leider gibt es eine solche Tabelle<br />

nicht – auch wenn mancher Mitbewerber dies dem Kunden mit bunten Web-Seiten suggeriert. Die Antwort<br />

auf die scheinbar so einfache Frage ist doch wesentlich komplexer, denn sie enthält eine große Unbekannte,<br />

und die ist der Benutzer.<br />

Ein Benutzer ist, auch wenn dies viele vielleicht wünschen, keine standardisierte und berechenbare Größe,<br />

sondern ein Individuum mit unterschiedlichem Arbeitstempo und Arbeitsverhalten. Das Arbeitstempo z.B.<br />

bestimmt mit welcher Häufigkeit Eingaben gemacht werden und hat damit direkten Einfluss auf die<br />

Belastung des <strong>Terminal</strong> <strong>Server</strong> Systems. Hinzu kommen unterschiedliche Arbeitsaufgaben, die in<br />

unterschiedlichen Anforderungen an ein Computersystem resultieren. Ein Benutzer, dessen Aufgabe aus<br />

Abfragen an ein Lagerhaltungssystem besteht, wird eine andere Last auf einem Computersystem erzeugen,<br />

als ein Benutzer, dessen Aufgabe es ist, eine grafische Werbebroschüre zu entwerfen. Nicht zu<br />

vernachlässigen ist der mit der Zeit steigende Ressourcenverbrauch der Applikationen durch deren<br />

Weiterentwicklung, z.B. im Bereich 3D-Grafik oder Multimedia/Videoanwendungen.<br />

Die folgende Tabelle zeigt eine Einteilung der Benutzer in Gruppen nach ihrem Benutzerverhalten und<br />

Belastungsprofil.<br />

Heavy<br />

Medium<br />

Light<br />

Knowledge Worker<br />

Process Worker<br />

Data Entry Worker<br />

nutzt gleichzeitig mehrere verschiedene Anwendungen<br />

gibt Daten mäßig schnell ein<br />

führt komplexere Operationen aus<br />

arbeitet zu einer Zeit intensiv mit einer Anwendung<br />

gibt schnell viele Daten ein<br />

arbeitet kontinuierlich<br />

arbeitet zu einer Zeit nur mit einer Anwendung<br />

gibt wenig Daten ein<br />

längere Pausen zwischen den Eingaben<br />

Wie im Kapitel Lastprofil noch erläutert wird, wurde bei den Messungen für das vorliegende Dokument das<br />

Verhalten eines Medium Benutzers angenommen.<br />

Benutzersimulation<br />

Bei Leistungsmessungen werden generell keine realen Benutzer verwendet, sondern die Benutzer werden<br />

mit Hilfe von Computern, so genannten Lastgeneratoren, und einer speziellen Software simuliert. Dabei wird<br />

von einem physikalischen Lastgenerator zumeist eine Vielzahl von logischen Benutzern simuliert, so dass je<br />

nach Lastgenerator einige zig oder hundert Benutzer simuliert werden können. Die folgende Abbildung zeigt<br />

eine typische Simulationsumgebung.<br />

Simulations-<br />

Netzwerk<br />

…<br />

SUT-<br />

Netzwerk<br />

Controller<br />

Lastgeneratoren<br />

System<br />

under Test<br />

(SUT)<br />

Infrastruktur-<br />

<strong>Server</strong><br />

© <strong>Fujitsu</strong> Technology Solutions 2009 Seite 5 (46)


White Paper <strong>Sizing</strong> <strong>Guide</strong> | <strong>Terminal</strong> <strong>Server</strong> <strong>Sizing</strong> <strong>Guide</strong> Version: 4.0, Oktober 2009<br />

Der Controller ist die zentrale Steuerkonsole, die die Simulation steuert und überwacht. Über ein<br />

Simulations-Netzwerk ist dieser mit den Lastgeneratoren verbunden. Jeder Lastgenerator kann eine Vielzahl<br />

von Benutzern simulieren. Die Lastgeneratoren erreichen das Testsystem (System under Test (SUT)) über<br />

ein zweites Netzwerk, in dem sich auch noch ein Infrastruktur-<strong>Server</strong> befindet. Dieser liefert dem SUT die<br />

notwendigen Dienste, aber er wird selbst nicht vermessen.<br />

Unterschiedliche Benutzergruppen, wie oben diskutiert, werden von Lastsimulatoren zumeist durch<br />

verschiedene Lastprofile, im <strong>Terminal</strong> <strong>Server</strong> Umfeld auch Skript genannt, berücksichtigt.<br />

Bei der Benutzersimulation unterscheidet man die Begriffe »Lastgenerator«, »Client« und »Benutzer«. Im<br />

weiteren Verlauf wird als »Lastgenerator« die Hardware bezeichnet. Ein »Client« ist der <strong>Terminal</strong> <strong>Server</strong><br />

Client, von dem einer oder mehrere auf dem Lastgenerator ausgeführt werden. Ein simulierter »Benutzer«<br />

arbeitet innerhalb einer <strong>Terminal</strong> <strong>Server</strong> Sitzung.<br />

Interpretation<br />

Anders als bei anderen Benchmarks, wo es vom Hersteller der Applikation oder einem unabhängigen<br />

Gremium einen Benchmark und ein entsprechendes Reglement zur Durchführung gibt, wie z.B. bei Microsoft<br />

Exchange <strong>Server</strong>, SAP R/3, SPECweb oder TPC, gibt es für <strong>Terminal</strong> <strong>Server</strong> bis heute keinen<br />

standardisierten und akzeptierten Benchmark. Es existieren zwar verschiedene Produkte verschiedener<br />

Hersteller zur Benutzersimulation, aber es gibt kein standardisiertes Werkzeug, mit dem sowohl Microsoft als<br />

auch Citrix <strong>Terminal</strong> <strong>Server</strong> vermessen und verglichen werden können.<br />

Ergebnisse solcher Performance-Messungen verschiedener Hersteller oder Benchmark-Labore sind unter<br />

diesen Bedingungen natürlich nicht untereinander vergleichbar. Nur Messungen, die in gleicher Umgebung<br />

und mit vergleichbarem Lastprofil durchgeführt wurden, können auch sinnvoll verglichen werden.<br />

Weiterhin ist zu beachten, dass es sich bei den <strong>Terminal</strong> <strong>Server</strong> <strong>Sizing</strong> Messungen um Auswertungen in<br />

einer vereinfachten, idealisierten und standardisierten Umgebung handelt, um vergleichbare Bedingungen<br />

für alle Systeme zu schaffen. Zusätzliche Komponenten und Programme sind nicht installiert, und der<br />

<strong>Terminal</strong> <strong>Server</strong> wird bis an seine Leistungsgrenze belastet. In der Realität wird man Zusatzsoftware wie<br />

zum Beispiel einen Virenscanner installiert haben, oder man betreibt weitere Add-Ons der <strong>Terminal</strong> <strong>Server</strong><br />

Software. Auch werden <strong>Terminal</strong> <strong>Server</strong> im Produktivbetrieb nicht bis an ihre Leistungsgrenze belastet.<br />

Vor diesem Hintergrund kann man also sagen:<br />

Obgleich die Einheit vieler Performance-Messungen »Anzahl Benutzer pro <strong>Server</strong>« ist, sollte man nur<br />

Ergebnisse von Performance-Messungen im gleichen Umfeld miteinander vergleichen. Sie sollten in erster<br />

Linie auch nur relativ betrachtet werden, also beispielsweise »ein System A ist doppelt so<br />

leistungsfähig wie ein System B« oder »die Verdopplung des Arbeitsspeichers resultiert in x%<br />

Leistungssteigerung«. Denn wie bereits im Kapitel Kenngröße »Benutzer« erläutert, ist ein Benutzer<br />

schwer zu quantifizieren, und ein synthetischer Benutzer muss nicht in allen Fällen mit einem realen<br />

Benutzer korrelieren.<br />

© <strong>Fujitsu</strong> Technology Solutions 2009 Seite 6 (46)


White Paper <strong>Sizing</strong> <strong>Guide</strong> | <strong>Terminal</strong> <strong>Server</strong> <strong>Sizing</strong> <strong>Guide</strong> Version: 4.0, Oktober 2009<br />

Benchmark-Beschreibung<br />

Simulationswerkzeug: T4US<br />

<strong>Fujitsu</strong> Technology Solutions hat einen eigenen Lastsimulator, T4US, entwickelt, der unabhängig von dem<br />

verwendeten <strong>Terminal</strong> <strong>Server</strong> und ohne Einflüsse auf das zu testende System beliebige Benutzerprofile<br />

simulieren kann.<br />

Benutzeraktivitäten wie Tastatur- und Mauseingaben<br />

sowie Bildschirmausgaben können mit Hilfe des Aufzeichnungswerkzeugs<br />

T4US-Record in Echtzeit aufgezeichnet<br />

und in einem T4US-Skript gespeichert<br />

werden. T4US-Skripte werden während der Messung<br />

als Lastprofil verwendet.<br />

Benutzer bei<br />

der Arbeit<br />

T4US<br />

Record<br />

T4US<br />

Skript<br />

Der Lastsimulator von T4US besteht aus drei Komponenten.<br />

T4US-Control steuert und<br />

überwacht den gesamten<br />

Simulationslauf zentral und<br />

ermittelt Messwerte bereits<br />

während der Messung. Auf<br />

jedem der Lastgeneratoren<br />

laufen mehrere Instanzen<br />

des T4US-Playback. Jedes<br />

T4US-Playback »füttert«<br />

einen <strong>Terminal</strong> <strong>Server</strong><br />

Client in Echtzeit mit Tastatur-<br />

und Mauseingaben<br />

Controller<br />

Lastgenerator<br />

anhand der mit T4US-<br />

T4US<br />

T4US<br />

Record aufgezeichneten<br />

T4US<br />

Agent<br />

Play<br />

<strong>Terminal</strong><br />

Control<br />

<strong>Server</strong><br />

Skripte und überwacht die<br />

TS Client<br />

Bildschirminhalte des<br />

<strong>Terminal</strong> <strong>Server</strong> Clients.<br />

Durch hoch auflösende Timer wird so die Antwortzeit des <strong>Terminal</strong> <strong>Server</strong>s ermittelt. Auf jedem der Lastgeneratoren<br />

läuft ein T4US-Agent, der für die Kommunikation mit dem Controller zuständig ist, die Instanzen<br />

von T4US-Playback steuert und überwacht und die ermittelten Antwortzeiten zum Controller überträgt.<br />

Bei der Messung wird die Anzahl der Benutzer, die mit dem <strong>Terminal</strong> <strong>Server</strong> arbeiten, kontinuierlich erhöht.<br />

Die Antwortzeiten des <strong>Terminal</strong> <strong>Server</strong>s werden vom T4US-Controller überwacht und mit gespeicherten<br />

Referenzwerten, die in einer vorhergehenden Referenzmessung mit nur wenigen Benutzern ermittelt worden<br />

sind, verglichen. Wenn sich die Antwortzeit der Anwendung so weit verschlechtert, dass sie den vorgegebenen<br />

Regeln nicht mehr genügt, wird die Messung beendet und man erhält die Benutzeranzahl als Resultat<br />

der Messung<br />

T4US<br />

Play<br />

T4US<br />

Play<br />

…<br />

System under Test (SUT)<br />

TS Client<br />

TS Client<br />

SUT<br />

…<br />

Lastprofil<br />

Wie im Kapitel Kenngröße »Benutzer« schon erläutert wurde, hängt die Belastung eines <strong>Terminal</strong> <strong>Server</strong>s<br />

stark vom Benutzer ab. Das Benutzerverhalten spiegelt sich bei einer Simulation im Lastprofil wider. Die hier<br />

beschriebenen Lastprofile simulieren das Verhalten eines »Medium User«, der zu einer Zeit intensiv mit<br />

einer Anwendung arbeitet und kontinuierlich, schnell viele Daten eingibt.<br />

Der größte Teil der Messungen für den »<strong>Sizing</strong> <strong>Guide</strong>« wurde mit dem Lastprofil V1 durchgeführt. Allerdings<br />

stellte sich heraus, dass durch verbesserte Leistung der zu vermessende Systeme (neue<br />

Prozessorgenerationen) der Benchmark mit diesem Lastprofil in eine Größenordnung kam, bei der die<br />

gemessene Benutzeranzahl durch die Anzahl Ab- und Anmeldevorgänge, also daraus resultierende<br />

Restriktionen im Betriebssystem, erreicht wurde und nicht mehr durch die Prozessorleistung des Systems.<br />

Das bedeutete, der Benchmark erreichte seine Grenzwerte schon ohne den Prozessor auszulasten.<br />

Verbesserte Prozessorleistung und damit auch Systemleistung konnten so nicht mehr gemessen werden.<br />

© <strong>Fujitsu</strong> Technology Solutions 2009 Seite 7 (46)


White Paper <strong>Sizing</strong> <strong>Guide</strong> | <strong>Terminal</strong> <strong>Server</strong> <strong>Sizing</strong> <strong>Guide</strong> Version: 4.0, Oktober 2009<br />

Deshalb wurde ein neues Lastprofil V2 definiert. Die mit dem Lastprofil V2 erreichten maximalen<br />

Benutzerzahlen pro System sind natürlich nicht direkt vergleichbar mit den Benutzerzahlen des Lastprofils<br />

V1. Im Kapitel PRIMERGY Skalierung werden daher die Messergebnisse in Relation zueinander und nicht<br />

mehr absolut angegeben.<br />

Lastprofil V1<br />

Im Lastprofil V1 dient Microsoft Word als Anwendung und der Benutzer schreibt einen bebilderten Text mit<br />

einer durchschnittlichen Eingaberate von 230 Anschlägen pro Minute.<br />

Des Weiteren beinhaltet das Lastprofil:<br />

Jeder Benutzer arbeitet unter einem eigenen Benutzerkonto.<br />

Die erste Anmeldung (Login) des Benutzers und der erste Start der Anwendung liegen außerhalb der<br />

Messstrecke. Jedoch meldet sich der Benutzer nach einmal getaner Arbeit am <strong>Terminal</strong> <strong>Server</strong> ab und<br />

für einen neuen Durchlauf wieder an. Da die Benutzer versetzt gestartet werden, ergibt sich so während<br />

der gesamten Messdauer ein kontinuierliches An- und Abmelden.<br />

Jeder <strong>Terminal</strong> <strong>Server</strong> Client (Benutzer) startet die Applikation aus seinem Desktop heraus, die<br />

Applikation wird bei jedem Skriptdurchlauf gestartet und beendet.<br />

Jeder Benutzer hat sein eigenes Verzeichnis, in dem die im Text verwendeten Bilder hinterlegt sind. So<br />

wird verhindert, dass alle Benutzer die gleichen Bilder-Dateien laden und sich diese nach kurzer Zeit alle<br />

im <strong>Server</strong> File Cache befinden. Jeder Benutzer schreibt bei jedem Skriptdurchlauf ein neues Dokument<br />

mit eindeutigem Namen. Nach erfolgreicher Erstellung wird das Dokument auf die Festplatte des<br />

<strong>Terminal</strong> <strong>Server</strong>s in ein benutzereigenes Verzeichnis gespeichert.<br />

Die durchschnittliche Eingabegeschwindigkeit liegt bei etwa 4 Zeichen bzw. Cursor-Bewegungen pro<br />

Sekunde. Allerdings finden nicht während des gesamten Durchlaufes Eingaben statt, denn es sind<br />

diverse, unterschiedlich lange Denkzeiten im Skript eingestreut, wie es einem natürlichen Arbeiten nahe<br />

kommt.<br />

Die Bildschirmauflösung ist 1024x768, die Farbtiefe ist 16-bit.<br />

Ein Durchlauf des Skripts inklusive Wartezeiten dauert ca. 16 Minuten.<br />

Lastprofil V2<br />

Das neue Lastprofil V2 zeichnet sich dadurch aus, dass ein zu simulierender Benutzer mit verschiedenen<br />

Microsoft Office Anwendungen nacheinander arbeitet. Neben der Erstellung eines Microsoft Word<br />

Dokumentes wird auch eine PowerPoint-Präsentation kreiert. Ebenso werden Berechnungen auf einem neu<br />

angelegten Excel-Arbeitsblatt durchgeführt. Die Anzahl der An- und Abmeldevorgänge ist im Vergleich zum<br />

Lastprofil V1 reduziert. Im Schnitt meldet sich nur jeder sechste Benutzer zyklisch am <strong>Terminal</strong> <strong>Server</strong> ab<br />

und wieder an. Ebenso druckt durchschnittlich jeder sechste Benutzer ein Word-Dokument aus. Zusätzliche<br />

CPU-Last wird durch Verpacken und Entpacken von Dateien im Speicher erreicht. Die Tippgeschwindigkeit<br />

des simulierten Benutzers beträgt zwischen 330 und 440 Anschlägen pro Minute.<br />

Die weiteren Rahmenbedingungen gelten wie beim Lastprofil V1:<br />

Jeder Benutzer arbeitet unter einem eigenen Benutzerkonto.<br />

Jeder <strong>Terminal</strong> <strong>Server</strong> Client (Benutzer) startet die Applikation aus seinem Desktop heraus, die<br />

Applikation wird bei jedem Skriptdurchlauf gestartet und beendet.<br />

Jeder Benutzer hat sein eigenes Verzeichnis, in dem die im Text verwendeten Bilder hinterlegt sind. So<br />

wird verhindert, dass alle Benutzer die gleichen Bilder-Dateien laden und sich diese nach kurzer Zeit alle<br />

im <strong>Server</strong> File Cache befinden. Jeder Benutzer schreibt bei jedem Skriptdurchlauf ein neues Dokument<br />

mit eindeutigem Namen. Nach erfolgreicher Erstellung wird das Dokument auf die Festplatte des<br />

<strong>Terminal</strong> <strong>Server</strong>s in ein benutzereigenes Verzeichnis gespeichert.<br />

Die Bildschirmauflösung ist 1024x768, die Farbtiefe ist 16-bit.<br />

© <strong>Fujitsu</strong> Technology Solutions 2009 Seite 8 (46)


White Paper <strong>Sizing</strong> <strong>Guide</strong> | <strong>Terminal</strong> <strong>Server</strong> <strong>Sizing</strong> <strong>Guide</strong> Version: 4.0, Oktober 2009<br />

Messmethode<br />

Zu einer Leistungsmessung gehört neben einem Simulationswerkzeug und einem möglichst realistischen<br />

Lastprofil ein Regelwerk, nach dem die einzelnen Messungen durchgeführt und bewertet werden. Im<br />

Folgenden wird das Regelwerk beschrieben, nach der die Messungen für diesen <strong>Sizing</strong> <strong>Guide</strong> durchgeführt<br />

wurden.<br />

Bei der Messung mit variabler<br />

Benutzeranzahl wird die Anzahl der<br />

Benutzer, die mit dem <strong>Terminal</strong><br />

<strong>Server</strong> arbeiten, nach einer<br />

voreingestellten Regel kontinuierlich<br />

erhöht, bis der <strong>Terminal</strong> <strong>Server</strong><br />

überlastet ist. Dabei wird eine<br />

Überlastung des <strong>Server</strong>s durch die<br />

gemessenen Antwortzeiten im<br />

Vergleich zu vorher festgelegten<br />

Referenzzeiten definiert. Insgesamt<br />

müssen 90% der Messwerte<br />

innerhalb eines festgesetzten<br />

Rahmens liegen, 10% Ausreißer<br />

werden toleriert. Die so erreichte<br />

Benutzeranzahl ist das Ergebnis der Messung und wird als »Score« bezeichnet.<br />

Die Referenzzeiten werden vorher aus den durchschnittlichen Antwortzeiten bei geringer Belastung (nur<br />

wenige simulierte Benutzer) ermittelt. Sie sind hauptsächlich von den Wartezeiten innerhalb der Skripte<br />

begrenzt und unterscheiden sich nur minimal von System zu System.<br />

Die Grafik veranschaulicht die<br />

Arbeitsweise des T4US Controllers<br />

bei der Auswertung der Messwerte.<br />

Die waagerechte Linie bei 1000 ms<br />

Antwortzeit ist die eingestellte<br />

Grenze, die 90% der Messwerte<br />

nicht überschreiten dürfen. Einige<br />

Ausreißer sind erlaubt, diese werden<br />

durch nachfolgende Werte innerhalb<br />

des erlaubten Bereichs kompensiert.<br />

Werden jedoch zu viele Ausreißer<br />

erkannt, gilt der <strong>Terminal</strong> <strong>Server</strong> als<br />

überlastet. Die Messung wird an<br />

dieser Stelle beendet. In diesem<br />

Beispiel ist der Score »76 Benutzer«.<br />

Das Bild zeigt außerdem, wie sich<br />

die Messwerte weiter verschlechtern würden, wenn noch weitere Benutzer hinzugefügt würden. Rechts von<br />

der senkrechten Markierung verlängern sich die Antwortzeiten für alle Benutzer erheblich.<br />

Auch wenn es von Microsoft und Citrix zahlreiche Artikel zur Optimierung von Betriebssystem- und <strong>Terminal</strong><br />

<strong>Server</strong> gibt, so haben wir bei unseren Messungen doch gänzlich auf eine Optimierung verzichtet. Der Grund<br />

ist, dass viele dieser Einstellungen nur in bestimmten Umgebungen Sinn machen; in einem anderen Umfeld<br />

eingesetzt bewirken sie oft das Gegenteil. Da wir verschiedene PRIMERGY Systeme mit unterschiedlichen<br />

Systemkomponenten untersucht haben, wären die Ergebnisse nicht miteinander vergleichbar gewesen.<br />

Die einzigen Einstellungen, die verändert werden um alle PRIMERGYs den gleichen Testbedingungen zu<br />

unterwerfen, sind:<br />

Das Pagefile des Betriebssystems wurde auf eine feste Größe entsprechend des verwendeten<br />

Hauptspeichers eingestellt, um eine Fragmentierung zu vermeiden und damit für alle getesteten<br />

<strong>Server</strong> die gleichen Bedingungen vorliegen.<br />

Für Citrix musste die Grenze von 100 Benutzern pro <strong>Server</strong>, die durch das eingebaute Load Balancing<br />

vorgegeben wird (auch wenn die <strong>Terminal</strong> <strong>Server</strong> Farm aus nur einem <strong>Terminal</strong> <strong>Server</strong> besteht)<br />

aufgehoben werden.<br />

© <strong>Fujitsu</strong> Technology Solutions 2009 Seite 9 (46)


White Paper <strong>Sizing</strong> <strong>Guide</strong> | <strong>Terminal</strong> <strong>Server</strong> <strong>Sizing</strong> <strong>Guide</strong> Version: 4.0, Oktober 2009<br />

Messumgebung<br />

Untersucht wurden alle aktuellen PRIMERGY Modelle, die für den Einsatz als typischer <strong>Terminal</strong> <strong>Server</strong><br />

geeignet sind, in der folgenden Messumgebung:<br />

Controller<br />

für die<br />

Simulation<br />

Lastgeneratoren<br />

System<br />

under test<br />

(SUT)<br />

Infrastruktur-<br />

<strong>Server</strong><br />

Simulationsnetzwerk<br />

SUT-<br />

Netzwerk<br />

switched<br />

100 Mbit<br />

switched<br />

100 Mbit<br />

PRIMERGY C200<br />

T4US-Control<br />

ca. 40 PRIMERGY Dual <strong>Server</strong><br />

Windows <strong>Server</strong> 2003<br />

TS-Client<br />

T4US-Agent, T4US-Playback<br />

Jeder simuliert bis zu 12 Benutzer<br />

PRIMERGY<br />

Windows <strong>Server</strong> 2003<br />

Windows <strong>Server</strong> 2008<br />

Enterprise Edition<br />

PRIMERGY C200<br />

Windows <strong>Server</strong> 2003<br />

Active Directory<br />

<strong>Terminal</strong> <strong>Server</strong><br />

Licensing Service<br />

Controller (T4US-Control):<br />

Auf dem Controller kam Windows <strong>Server</strong> 2003 Standard Edition zum Einsatz.<br />

Lastgeneratoren:<br />

20 - 40 Lastgeneratoren (PRIMERGY Dual <strong>Server</strong>)<br />

Die Lastsimulatoren liefen unter dem Betriebssystem Windows <strong>Server</strong> 2003 Standard Edition SP1. Die<br />

Messungen mit Lastprofil V2 wurden mit SP2 durchgeführt.<br />

Clients:<br />

Für den Zugriff auf den <strong>Terminal</strong> <strong>Server</strong> über das ICA-Protokoll wurde der Citrix <strong>Terminal</strong> <strong>Server</strong> Client<br />

(Programm Neighborhood mit 32-bit ICA-Client) verwendet (entweder Version 7.00.17534 aus »Citrix<br />

MetaFrame XP Presentation <strong>Server</strong>« Feature Release 3 oder Version 9.00.32649 aus »Citrix<br />

Presentation <strong>Server</strong> 4.0«).<br />

Der RDP-Client (»Remote Desktop«) von Microsoft ermöglicht den Zugriff auf einen <strong>Terminal</strong> <strong>Server</strong><br />

über das RDP-Protokoll. In Windows <strong>Server</strong> 2003 Standard Edition ist die Version 5.2.3790.1830 des<br />

RDP-Clients enthalten, der das RDP-Protokoll V5.2 unterstützt. Die Messungen mit dem Lastprofil V2<br />

wurden mit dem RDP-Protokoll V6.0.6000.16459 durchgeführt.<br />

Netzwerk:<br />

Die Anbindung der Lastsimulatoren an das SUT-Netzwerk erfolgte über ein 100 MBit-Ethernet-Netzwerk,<br />

wobei der <strong>Terminal</strong> <strong>Server</strong> über den Gigabit-Uplink angeschlossen war. Das Netzwerkprotokoll war<br />

TCP/IP.<br />

<strong>Terminal</strong> <strong>Server</strong> (System under Test):<br />

Die vermessenen PRIMERGY <strong>Server</strong> (System under Test) waren jeweils mit Windows <strong>Server</strong> 2003<br />

Enterprise Edition ausgestattet. Die <strong>Terminal</strong> Services waren im Application <strong>Server</strong> Modus aktiviert. Die<br />

Messungen mit dem Lastprofil V2 wurden unter Windows <strong>Server</strong> 2008 durchgeführt.<br />

Bei den Messungen, bei denen ein Citrix <strong>Terminal</strong> <strong>Server</strong> vermessen wurde, war entweder Citrix<br />

MetaFrame Enterprise Edition mit Service Pack 3 und Feature Release 3 oder Citrix Presentation <strong>Server</strong><br />

installiert. Die <strong>Terminal</strong> <strong>Server</strong> Farm bestand nur aus einem <strong>Terminal</strong> <strong>Server</strong>. Der Data Store befand<br />

sich lokal auf der Systemplatte des zu vermessenden Systems und war als Microsoft Access Datenbank<br />

realisiert.<br />

Auch die Dateien der Benutzer, die während der Messung gelesen und geschrieben wurden, lagen lokal<br />

auf dem <strong>Terminal</strong> <strong>Server</strong>.<br />

Die Benutzerprofile wurden standardmäßig auf dem <strong>Terminal</strong> <strong>Server</strong> gespeichert.<br />

© <strong>Fujitsu</strong> Technology Solutions 2009 Seite 10 (46)


White Paper <strong>Sizing</strong> <strong>Guide</strong> | <strong>Terminal</strong> <strong>Server</strong> <strong>Sizing</strong> <strong>Guide</strong> Version: 4.0, Oktober 2009<br />

Infrastruktur-<strong>Server</strong>:<br />

Der Infrastruktur-<strong>Server</strong> stellt dem System under Test notwendige Dienste zur Verfügung, er selbst<br />

wurde nicht vermessen. Der <strong>Server</strong> wurde so dimensioniert, dass er keinen Engpass darstellt.<br />

Die Benutzerkonten der simulierten Benutzer wurden auf dem Active Directory Domain Controller<br />

angelegt. Ein Login fand immer gegen das Active Directory statt.<br />

Das Active Directory System dient gleichzeitig als DNS <strong>Server</strong> und beherbergt den <strong>Terminal</strong> <strong>Server</strong><br />

Licensing Service.<br />

Der Infrastruktur-<strong>Server</strong> lief unter dem Betriebssystem Windows <strong>Server</strong> 2003 Standard Edition SP1.<br />

© <strong>Fujitsu</strong> Technology Solutions 2009 Seite 11 (46)


White Paper <strong>Sizing</strong> <strong>Guide</strong> | <strong>Terminal</strong> <strong>Server</strong> <strong>Sizing</strong> <strong>Guide</strong> Version: 4.0, Oktober 2009<br />

Ressourcenbedarf<br />

Im Folgenden wollen wir diskutieren und anhand von Messergebnissen untermauern, welche Komponenten<br />

welchen Einfluss auf die Leistungsfähigkeit eines <strong>Terminal</strong> <strong>Server</strong> Systems haben. Dabei wird neben<br />

Aspekten des Betriebssystems auf die Performance-relevanten Faktoren eines <strong>Server</strong>-Systems wie<br />

Rechenleistung, Arbeitsspeicher, Disk-Subsystem und Netzwerk eingegangen. Im Anschluss daran wird das<br />

Umfeld, in dem ein <strong>Terminal</strong> <strong>Server</strong>s betrieben wird, betrachtet und auf Komponenten der Infrastruktur<br />

hingewiesen, die das Performance-Verhalten beeinflussen. Zum Abschluss wird das Verhalten eines<br />

<strong>Terminal</strong> <strong>Server</strong>s in beobachteten Überlastsituationen erläutert.<br />

Betriebssystem<br />

Microsoft Windows <strong>Server</strong> Betriebssysteme existieren bis Windows <strong>Server</strong> 2008 in zwei Varianten, der 32-<br />

bit- und der 64-bit-Variante. Auch wenn es zukünftige Betriebssysteme – ab Windows <strong>Server</strong> 2008 R2 – nur<br />

in der 64-bit-Variante geben wird, soll hier noch auf die Unterschiede und die damit möglichen Performance-<br />

Einbußen bei <strong>Terminal</strong> <strong>Server</strong> eingegangen werden.<br />

Voraussetzung für ein 64-bit-Betriebssystem ist eine 64-bit-Hardware-Plattform. Hier unterscheiden wir<br />

aktuell Intel Itanium (IA64) und x64.<br />

IA64<br />

Prozessoren der IA64 Plattform sind nicht Code-kompatibel zu 32-bit-Anwendungen (x86); das hat zur<br />

Konsequenz, dass x86-Anwendungen auf Itanium Systemen lediglich emuliert werden, was jedoch einen<br />

entsprechenden Performance-Verlust durch die Emulationsschichten bedeutet. Einen <strong>Terminal</strong> <strong>Server</strong> auf<br />

einer IA64 Architektur zu betreiben ist also nicht sinnvoll, da alle 32-bit-Anwendungen (z.B. Microsoft Office<br />

2007) durch die Emulation sehr langsam laufen würden. Daher gibt es aktuell für Itanium-basierte Systeme<br />

weder Citrix <strong>Terminal</strong> <strong>Server</strong> Lösungen noch kann unter Windows <strong>Server</strong> 2008 das Feature <strong>Terminal</strong> <strong>Server</strong><br />

konfiguriert werden.<br />

x64<br />

Mit x64 werden die Architekturen bezeichnet, die 100% kompatibel zur x86-Architektur sind und nur<br />

Erweiterungen für 64-bit bieten. Hierzu zählen der AMD Opteron mit der AMD64-Achitektur und die Intel<br />

Pentium und Xeon Prozessoren der neuesten Generation mit EM64T (jetzt Intel 64)-Architektur.<br />

Der Vorteil der x64 Plattform ist, dass 32-bit-Anwendungen, wie z.B. Microsoft Office direkt unter dem x64-<br />

Betriebssystem ausgeführt werden können. Das 64-bit Windows stellt das WoW64 (»Windows on<br />

Windows64«) Subsystem bereit, um einen reibungslosen Betrieb der 32-bit-Applikationen zu ermöglichen.<br />

Im WoW64 werden Zugriffe auf den Speicher, auf die Registry und auf das Dateisystem isoliert. Allerdings<br />

gilt für viele systemnahe Anwendungen und alle Anwendungen, die Treiberkomponenten enthalten, sie<br />

müssen speziell für x64-Systeme angepasst werden, da sie im 32-bit-Modus nicht ablauffähig sind. Beispiele<br />

für Anwendungen, die speziell für 64-bit angepasst wurden sind Microsoft SQL <strong>Server</strong> oder Microsoft<br />

Exchange <strong>Server</strong> und die <strong>Terminal</strong> <strong>Server</strong> Produkte von Citrix. 16-bit-Anwendungen für DOS oder Windows<br />

sind generell nicht mehr ablauffähig, dies ist insbesondere ein Problem für Anwendungen mit einem 16-bit-<br />

Installer.<br />

Nachfolgende Tabelle gibt einen Überblick über relevante Systemplattformen und Windows Produkte und<br />

deren Anforderungen an Gerätetreiber und Anwendungen.<br />

<strong>Server</strong>-Plattform x86 x64 x64<br />

Windows Produkt<br />

Windows <strong>Server</strong> 2003 R2 /<br />

Windows <strong>Server</strong> 2008<br />

Standard Edition<br />

Enterprise Edition<br />

Datacenter Edition<br />

Windows <strong>Server</strong> 2003 R2 /<br />

Windows <strong>Server</strong> 2008<br />

Standard Edition<br />

Enterprise Edition<br />

Datacenter Edition<br />

Windows <strong>Server</strong> 2003 R2 /<br />

Windows <strong>Server</strong> 2008<br />

Standard x64 Edition<br />

Enterprise x64 Edition<br />

Datacenter x64 Edition<br />

Betriebssystem 32-bit 32-bit 64-bit<br />

Gerätetreiber 32-bit 32-bit 64-bit<br />

Anwendungen 32-bit 32-bit 32-bit und 64-bit<br />

© <strong>Fujitsu</strong> Technology Solutions 2009 Seite 12 (46)


White Paper <strong>Sizing</strong> <strong>Guide</strong> | <strong>Terminal</strong> <strong>Server</strong> <strong>Sizing</strong> <strong>Guide</strong> Version: 4.0, Oktober 2009<br />

Limitierungen<br />

Der wesentliche Unterschied zwischen 32-bit- und 64-bit-Architektur liegt in der Größe des adressierbaren<br />

Speichers. Mit einer 32-bit-Architektur sind durch die Wortbreite des Prozessors maximal 2 32 Byte =4 GByte<br />

adressierbar, mit einer 64-bit-Architektur sind es bis zu 2 64 Bytes = 16 Exabyte (EB). Die nachfolgende<br />

Tabelle gibt einen Überblick über die Limitierungen der verschiedenen 32-bit und 64-bit Windows Produkte,<br />

die für <strong>Terminal</strong> <strong>Server</strong> sinnvoll eingesetzt werden können.<br />

Windows Produkt<br />

(WS = Windows <strong>Server</strong>)<br />

WS 2003 R2 / WS 2008<br />

Standard<br />

Edition<br />

Enterprise<br />

Edition<br />

WS 2003 R2 x64 / WS 2008 x64<br />

Standard<br />

Edition<br />

Enterprise<br />

Edition<br />

Anzahl Prozessoren 1 – 4 1 – 8 1 – 4 1 – 8<br />

Max. RAM<br />

gesamter virtueller<br />

Adressraum<br />

Virtueller Adressraum<br />

eines 32-bit-Prozesses<br />

Virtueller Adressraum<br />

eines 64-bit-Prozesses<br />

4 GB<br />

64 GB<br />

(mit PAE)<br />

32 GB 2 TB<br />

4 GB 16 TB<br />

2 GB 2 GB<br />

3 GB wenn mit<br />

/3GB Switch gebootet<br />

4 GB wenn mit<br />

/LARGEADDRESSAWARE<br />

übersetzt wurde<br />

- 8 TB<br />

Paged Pool 470 MB / WS 2008 dynamisch 128 GB<br />

Non-Paged Pool 256 MB / WS 2008 dynamisch 128 GB<br />

System Page Table<br />

Entries<br />

ca. 900 MB / WS 2008 dynamisch 128 GB<br />

System Cache 1 GB / WS 2008 dynamisch 1 TB<br />

Bei dem 32-bit Windows ist der virtuelle Adressraum von 4 GB standardmäßig in 2 GB für das<br />

Betriebssystem und 2 GB für die Anwendungen unterteilt. In den 2 GB, die vom Betriebssystem verwendet<br />

werden, werden alle Datenstrukturen und Informationen des Kerns gehalten. Hier sind drei besondere<br />

Datenbereiche zu nennen: die Paged Pool Area, die System Page Table Entries (PTE) Area und der System<br />

File Cache. Speicher aus der Paged Pool Area wird von Kernel-Mode Komponenten angefordert, während<br />

die PTE Area für Kernel Stack Allocations verwendet wird. Im System File Cache werden Speicherabbilder<br />

von geöffneten Dateien gehalten. Diese Bereiche teilen sich einen Speicherbereich und die Grenze<br />

zwischen ihnen wird unter Windows <strong>Server</strong> 2003 beim Systemstart fest eingestellt. Wenn dem<br />

Betriebssystem während der Laufzeit in einem Bereich der Speicher ausgeht, kann dies nicht aus den<br />

anderen Bereichen ausgeglichen werden. Die Folge ist, dass keine neuen Benutzer mehr angemeldet<br />

werden können oder dass unerwartete Fehler auftreten. In 32-bit Windows <strong>Server</strong> 2008 wird der Kernel<br />

Address Space dynamisch verwaltet und die Speicherbereiche für Paged Pool, System Cache etc. können<br />

entsprechend der Arbeitslast wachsen oder schrumpfen. Begrenzt werden die Bereiche aber durch den<br />

aktuell verfügbaren virtuellen Adressraum des Kernels.<br />

PAE (Physical Address Extension) ist eine technische Erweiterung für x86 kompatible CPUs (ab Intel<br />

Pentium und AMD Athlon) die es ermöglicht bis zu 2 36 Bytes = 64 GByte Speicher zu adressieren. Dies ist<br />

möglich, da diese Prozessoren einen 36 Bit breiten Adressbus besitzen. Spezielle Erweiterungen in der<br />

»Paging«-Einheit des Prozessors sorgen dafür, dass 36-bittige physikalische Adressen generiert werden.<br />

Um PAE nutzen zu können, muss es vom Betriebssystem unterstützt werden.<br />

64-bit Windows nutzt vom theoretischen Wert von 16 EB adressierbaren Speichers 16 TB als virtuellen<br />

Adressraum. Windows teilt diesen (zumindest aus heutiger Sicht) gigantischen Adressraum in verschiedene<br />

Bereiche auf, so dass für den Kernel und jeden 64-bit-Prozess jeweils ein Adressraum von 8 TB zur<br />

Verfügung steht. Für 32-bit-Anwendungen, die im so genannten Kompatibilitätsmodus laufen, steht pro<br />

Anwendung ein Adressbereich von 4 GB zur Verfügung, aber auch das ist mehr als bei einem reinen 32-bit-<br />

Betriebssystem, bei dem es maximal 3 GB sind.<br />

© <strong>Fujitsu</strong> Technology Solutions 2009 Seite 13 (46)


White Paper <strong>Sizing</strong> <strong>Guide</strong> | <strong>Terminal</strong> <strong>Server</strong> <strong>Sizing</strong> <strong>Guide</strong> Version: 4.0, Oktober 2009<br />

Auswirkungen<br />

Wenn ausreichend Hardware-Ressourcen zur Verfügung<br />

stehen, also weder die CPU noch der Arbeitsspeicher der<br />

begrenzende Faktor ist, dann können auf einem 64-bit-<br />

System wesentlich mehr Benutzer betrieben werden als<br />

auf einem 32-bit-System. Der Grund hierfür liegt in der<br />

Betriebssystemarchitektur, genauer gesagt, bei den<br />

Kernel-Ressourcen. Das 32-bit-Betriebssystem hat einen<br />

Adressraum von 2 GB zur Verfügung, um seine Daten,<br />

unter anderem Kernel-Tabellen und System Cache, zu<br />

speichern. Bei hinreichender Rechenleistung erreicht die<br />

Benutzeranzahl eine Größenordnung, die für ein 32-bit-<br />

Betriebssystem zu hoch ist. Die Kernel-Tabellen sind<br />

vollständig belegt, was in Paging-Aktivitäten resultiert,<br />

obwohl noch Hauptspeicher frei ist. Weiterhin ist auch der<br />

System Cache überlastet und kann nicht weiter vergrößert<br />

werden, was zu einer schlechten Trefferrate im Cache<br />

(Light Lastprofil, Microsoft Office 2003,<br />

führt. Hierdurch steigen ebenfalls die Plattenzugriffe<br />

Microsoft <strong>Terminal</strong> Services)<br />

sprunghaft an. Sobald auf die Festplatte statt auf den<br />

Arbeitsspeicher zugegriffen werden muss, macht sich das sofort in einer Verschlechterung der Antwortzeiten<br />

bemerkbar. Würde man den <strong>Terminal</strong> <strong>Server</strong> über diese Engpasssituation hinaus weiter belasten, so würden<br />

die Applikationen auf Fehler laufen oder Benutzer könnten sich beim <strong>Terminal</strong> <strong>Server</strong> gar nicht mehr<br />

anmelden.<br />

In welchem Szenario ein 32-bit-Betriebssystem oder ein 64-bit-Betriebssystem Vorteile bringt, lässt sich gut<br />

an Hand einer durchgeführten Messreihe erläutern. Das gleiche PRIMERGY System mit jeweils<br />

ausreichender Rechenleistung wurde mit 4, 8, 16 und 32 GB RAM ausgestattet und die maximale Anzahl<br />

Light User ermittelt. Bei den Messungen mit 4 GB Hauptspeicher ist sowohl unter dem 32-bit-Betriebssystem<br />

als auch unter dem 64-bit-Betriebssystem der Hauptspeicher der limitierende Faktor, was in Paging-<br />

Aktivitäten resultiert. Die Messungen unter 64-bit ergeben sogar ein leicht schlechteres Ergebnis. Erklärbar<br />

ist das dadurch, dass 64-bit-Anwendungen in der Regel mehr Arbeitsspeicher benötigen als die 32-bit-<br />

Versionen, denn alle Adresszeiger sind bei 64-bit doppelt so breit (siehe Kapitel Arbeitsspeicher).<br />

Bei einer Vergrößerung des Speichers auf<br />

8 GB können mehr Benutzer bedient werden,<br />

dieser Speicherausbau ist hier die optimale<br />

Konfiguration für das 32-bit-System.<br />

Eine weitere Speicheraufrüstung auf 16 GB<br />

bzw. 32 GB ist bei diesen Messungen unter<br />

dem 32-bit-Betriebssystem nicht von Vorteil.<br />

Wie schon oben erläutert, führen die begrenzten<br />

Kernel-Ressourcen dazu, dass nicht mehr<br />

Benutzer unterstützt werden können.<br />

Demgegenüber werden bei dem 64-bit-<br />

Betriebssystem durch steigenden Hauptspeicherausbau<br />

auch eine steigende Anzahl<br />

User erreicht, da keine Limitierungen durch<br />

Betriebssystemressourcen auftreten.<br />

Zusammenfassend kann man also feststellen,<br />

dass ein 32-bit-Betriebssystem bei <strong>Terminal</strong><br />

<strong>Server</strong> limitierend wirkt, wenn entweder der für<br />

die gewünschte Anzahl Benutzer notwendige<br />

Arbeitsspeicher (> 64 GB) nicht unterstützt<br />

wird, oder es aufgrund der vielen Benutzer zu<br />

internen Kernel-Engpässen kommt. Dabei ist<br />

Zu wenig Speicher<br />

Engpass der<br />

Kernel-Ressourcen<br />

(Light Lastprofil, Microsoft Office 2003,<br />

Microsoft <strong>Terminal</strong> Services)<br />

der Speicherverbrauch eines einzelnen Benutzers natürlich anwendungsabhängig. Bestehen diese beiden<br />

Limitierungen nicht, so kann ein 32-bit-Betriebssystem durch geringeren Speicherverbrauch gegenüber dem<br />

64-bit-Betriebssystem punkten.<br />

© <strong>Fujitsu</strong> Technology Solutions 2009 Seite 14 (46)


White Paper <strong>Sizing</strong> <strong>Guide</strong> | <strong>Terminal</strong> <strong>Server</strong> <strong>Sizing</strong> <strong>Guide</strong> Version: 4.0, Oktober 2009<br />

Rechenleistung<br />

Die Rechenleistung eines Systems hängt von den Prozessoreigenschaften und der Anzahl Prozessoren ab.<br />

Unter Prozessoreigenschaften verstehen wir Kenngrößen wie z.B. Taktfrequenz, Cache, Hyper-Threading,<br />

Anbindung ans Memory oder Anzahl Kerne. Dabei sind Prozessoreigenschaften immer im Hinblick auf die<br />

jeweilige Prozessarchitektur zu sehen.<br />

Prozessortyp<br />

Folgende Übersicht zeigt Prozessoren verschiedener Generationen, die in älteren und aktuellen PRIMERGY<br />

Systemen für <strong>Terminal</strong> <strong>Server</strong> im Einsatz sind. Die Leistungsdaten gelten für jeweils eine CPU, wie sie mit<br />

dem <strong>Terminal</strong> <strong>Server</strong> Simulationswerkzeug »T4US« mit dem Lastprofil V1 bzw. V2 ermittelt wurden. Dabei<br />

sind alle Werte normiert zu den Ergebnissen der besten Xeon X5570 CPU aufgetragen.<br />

Bei der Betrachtung der Rechenleistung waren alle Systeme mit genügend Arbeitsspeicher ausgebaut.<br />

Hyper-Threading, sofern vorhanden, war eingeschaltet, da dieses Feature bei <strong>Terminal</strong> <strong>Server</strong><br />

Anwendungen für eine Entlastung des Systems sorgt und dadurch eine höhere Anzahl von Benutzern mit<br />

dem <strong>Terminal</strong> <strong>Server</strong> arbeiten kann. Aus diesen Messergebnissen für eine CPU kann man die Leistung<br />

eines Systems mit einer höheren CPU-Anzahl nicht ablesen, da die Steigerung nicht linear ist (siehe Kapitel<br />

Anzahl Kerne).<br />

© <strong>Fujitsu</strong> Technology Solutions 2009 Seite 15 (46)


White Paper <strong>Sizing</strong> <strong>Guide</strong> | <strong>Terminal</strong> <strong>Server</strong> <strong>Sizing</strong> <strong>Guide</strong> Version: 4.0, Oktober 2009<br />

Taktfrequenz<br />

Prozessorlinien der PRIMERGY <strong>Server</strong> gibt es in verschiedenen Leistungsstufen, die sich unter anderem in<br />

der Taktfrequenz unterscheiden. Dabei sagt die Taktfrequenz für sich allein nichts über die<br />

Leistungsfähigkeit des Prozessors aus. Andere Faktoren wie Architektur, Befehlssatz, Caches, Anbindung<br />

ans Memory beeinflussen die Prozessoren in ihrer Leistungsfähigkeit ebenso. Man darf also nicht den Fehler<br />

machen, mit einer höheren Taktfrequenz immer eine höhere Performance zu verbinden. Deutlich wird das<br />

bei den Intel Xeon 55xx Prozessoren, die im Vergleich zu dem Vorgänger Xeon 54xx niedriger getaktet sind,<br />

sich dennoch als viel leistungsfähiger erweisen. Der Vorteil der niedrigen Taktfrequenz liegt in der<br />

niedrigeren elektrischen Leistungsaufnahme (Energieverbrauch).<br />

Durch die Einführung der Turbo Boost Technologie bei der Intel Xeon 55xx Serie ist die Kennzahl Frequenz<br />

auch nicht mehr so eindeutig. Bei dieser Technologie wird nämlich, abhängig von der Anwendung, der<br />

Prozessor automatisch beim Arbeiten unterhalb thermischer und elektrischer Schwellwerte übertaktet.<br />

Vereinfacht heißt das: Wenn der Prozessor nicht voll ausgelastet ist und die Thermal Design Power (TDP)<br />

nicht überschritten wird, wird der Prozessor höher getaktet.<br />

Vergleicht man Prozessoren einer Familie, die sich nur in der Taktfrequenz unterscheiden während die<br />

anderen Kenngrößen wie Architektur, Caches, Memory-Anbindung und Anzahl Kerne gleich sind, so lässt<br />

sich durchaus bei höherer Taktfrequenz auch eine höhere Performance nachweisen. Allerdings spiegelt sich<br />

die Frequenzsteigerung nicht 1:1 in der relativen Performance-Steigerung wider. Dies erklärt sich aus der<br />

gleich bleibenden Geschwindigkeit bei Speicher- und I/O-Zugriffen.<br />

Als Beispiel sind in nebenstehender Grafik die<br />

Ergebnisse der PRIMERGY RX300 S4 1-CPU-<br />

Messungen der Xeon 54xx Reihe aufgetragen.<br />

Die Resultate wurden mit dem <strong>Terminal</strong> <strong>Server</strong><br />

Benchmark und dem Lastprofil V1 unter Microsoft<br />

<strong>Terminal</strong> <strong>Server</strong> erreicht und normiert auf den<br />

kleinsten Prozessor dargestellt. Alle Prozessoren<br />

haben einen Front-Side-Bus mit 1333 MHz und<br />

einen 2 × 6 MB L2-Cache.<br />

(Lastprofil V1, Microsoft Office 2003,<br />

Microsoft <strong>Terminal</strong> Services)<br />

© <strong>Fujitsu</strong> Technology Solutions 2009 Seite 16 (46)


White Paper <strong>Sizing</strong> <strong>Guide</strong> | <strong>Terminal</strong> <strong>Server</strong> <strong>Sizing</strong> <strong>Guide</strong> Version: 4.0, Oktober 2009<br />

Memory-Anbindung<br />

Die Memory-Anbindung ist bei den PRIMERGY Systemen je nach Prozessorarchitektur unterschiedlich.<br />

Bei PRIMERGY Systemen, die mit AMD Opteron Prozessoren bestückt sind, ist der Memory Controller in<br />

der CPU integriert und die Prozessoren untereinander sind durch einen HyperTransport-Link verbunden.<br />

Bei Intel Prozessoren bis zur Xeon 5400-Serie wird die Kommunikation über den Front-Side-Bus (FSB)<br />

zwischen dem Prozessor und der so genannten Northbridge abgewickelt. Die Northbridge ist ein Bestandteil<br />

des Chipsatzes, der wiederum mit anderen Komponenten wie zum Beispiel dem Arbeitsspeicher oder dem<br />

PCI-Bus verbunden ist. Der FSB wird mit einer bestimmten Taktrate betrieben, welche Einfluss auf die<br />

System-Performance hat. Da sich die Prozessoren im Allgemeinen aber nicht nur in der Taktfrequenz des<br />

FSBs unterscheiden, ist ein direkter Vergleich unterschiedlicher FSB schlecht möglich.<br />

Unter Laborbedingungen konnte der Einfluss des<br />

Front-Side-Bus-Taktes jedoch vermessen<br />

werden. Die Grafik zeigt die Performance-<br />

Verbesserung durch Steigerung der Front-Side-<br />

Bus-Taktfrequenz von 667 MHz auf 800 MHz,<br />

was einer Steigerung von ca. 20% entspricht. Die<br />

Anzahl der <strong>Terminal</strong> <strong>Server</strong> Benutzer steigt in<br />

allen drei vermessenen Konfigurationen. Ein<br />

schnellerer FSB entlastet den Prozessor, die »%<br />

Processor Time« ist bei 800 MHz FSB etwas<br />

niedriger und gleichermaßen auch die<br />

»Processor Queue Length«. Durch diese CPU-<br />

Reserve können mehr Benutzer mit dem<br />

<strong>Terminal</strong> <strong>Server</strong> arbeiten, bevor die Antwortzeiten<br />

sich verschlechtern und sich nicht mehr im<br />

zulässigen Rahmen befinden. Die Steigerung der<br />

Benutzeranzahl ist jedoch geringer als die<br />

Erhöhung der FSB-Taktfrequenz. <strong>Terminal</strong><br />

<strong>Server</strong> als Anwendung beansprucht nicht nur<br />

(Lastprofil V1, Microsoft Office 2003,<br />

Microsoft <strong>Terminal</strong> Services)<br />

Prozessorleistung, sondern zur Gesamtleistung trägt das Zusammenspiel aller Ressourcen wie Prozessor,<br />

Speicher, Netzwerk und Disk bei.<br />

Ab der PRIMERGY Generation mit Prozessoren der Serie Xeon 5500 (Nehalem EP) erfolgte ein Wechsel in<br />

der Systemarchitektur, weil die FSB Technologie hinsichtlich ihrer Komplexität, beispielsweise der Anzahl<br />

der im Chipset pro FSB benötigten Pins, zuletzt an Grenzen gestoßen ist: Intel Quick Path Interconnect<br />

(QPI) statt Front Side Bus (FSB). Der QPI verbindet Prozessoren untereinander, sowie Prozessoren und den<br />

für I/O zuständigen Chipsatz, mittels unidirektionaler, serieller Links. Für die Anbindung des Hauptspeichers<br />

sind die Prozessoren der Serie Xeon 5500 mit Speicher-Controllern ausgestattet, d.h. jeder Prozessor<br />

steuert unmittelbar eine Gruppe ihm zugeordneter Speichermodule. Die Leistungsfähigkeit des Quick-Path<br />

Interconnects wird in Gigatransfers pro Sekunde angegeben. Dabei erreichen die aktuellen Prozessoren der<br />

Xeon 5500 Serie mit einem QPI von bis zu 6.4 GT/s (entspricht bis zu 25.6 GByte/s) eine weit höhere<br />

Bandbreite als der stärkste Prozessor der Xeon 5400 Serie mit Hilfe der der Front-Side-Bus Architektur<br />

liefern konnte.<br />

© <strong>Fujitsu</strong> Technology Solutions 2009 Seite 17 (46)


White Paper <strong>Sizing</strong> <strong>Guide</strong> | <strong>Terminal</strong> <strong>Server</strong> <strong>Sizing</strong> <strong>Guide</strong> Version: 4.0, Oktober 2009<br />

Caches<br />

Ein Cache ist generell ein schneller Zwischenspeicher, der durch die Pufferung von Daten den Zugriff<br />

beschleunigt. Bei Intel-CPUs sind die Caches in mehreren Stufen kaskadiert. Man unterscheidet Level 1<br />

Cache, Level 2 Cache (auch Second Level Cache (SLC) genannt) und Level 3 Cache (Third Level Cache<br />

(TLC)). Meistens wird bei den Leistungsdaten der CPUs nur der jeweils letzte Cache genannt. Der Cache<br />

soll verhindern, dass der Prozessor auf Daten des langsameren Arbeitsspeichers warten muss. Je größer<br />

der Cache, umso weniger Speicherzugriffe sind nötig. Aus dieser Zeitersparnis resultiert wiederum eine<br />

höhere Rechenleistung.<br />

Vergleichende Messungen mit dem <strong>Terminal</strong><br />

<strong>Server</strong> Benchmark zeigten, dass eine<br />

Verdoppelung des Caches zu einer Entlastung<br />

der CPU führte. Bei sonst gleichen Bedingungen<br />

wurden jeweils zwei Prozessoren<br />

einmal mit 1 MB Cache und einmal mit 2 MB<br />

Cache eingesetzt. Wie nebenstehende Grafik<br />

zeigt, wird der Prozessor des <strong>Terminal</strong> <strong>Server</strong><br />

Systems bei dem größeren Cache weniger<br />

stark beansprucht. Daraus resultierte eine<br />

höhere Benutzeranzahl als Benchmark-<br />

Ergebnis.<br />

(Lastprofil V1, Microsoft Office XP, Citrix MetaFrame)<br />

Da beim 64-bit-Betriebssystem aufgrund der doppelt so großen Adressbreite mehr Daten verarbeitet werden<br />

müssen, hat die Größe des CPU-Caches hier einen größeren Einfluss.<br />

(Lastprofil V1, Microsoft Office 2003, Microsoft <strong>Terminal</strong> Services)<br />

Das gleiche PRIMERGY System<br />

wurde wahlweise mit Xeon<br />

Prozessoren mit 1 MB oder mit<br />

2 MB SLC ausgestattet. Wie<br />

nebenstehende Grafik zeigt, führt<br />

eine Verdoppelung des Caches<br />

auf beiden Plattformen zu einer<br />

höheren Performance. Das 64-<br />

bit-System profitiert am meisten<br />

von dem doppelt so großen<br />

Cache mit einem Performance-<br />

Gewinn von 25%. Das 32-bit-<br />

System gewinnt bis zu 15% mehr<br />

Leistung mit dem größeren<br />

Cache. Diese Messungen zeigen,<br />

dass ein 64-bit-System durch den<br />

Adress-Overhead einen größeren<br />

Cache benötigt.<br />

Eine generelle Empfehlung leitet sich aus diesen Ergebnissen ab: Für Systeme mit 64-bit-Betriebssystem<br />

sollten in jedem Fall Prozessorvarianten mit einem großen Cache eingesetzt werden. Dies ist wichtiger als<br />

eine geringfügig höhere Taktfrequenz.<br />

Allerdings sollte nicht der Fehler begangen werden, Cache-Größen von Prozessoren mit unterschiedlicher<br />

Architektur zu vergleichen. Die Caches der Prozessoren sind auf die Prozessorarchitektur abgestimmt. So<br />

haben z.B. aktuell Prozessoren der Serie Xeon 5500 (Nehalem) mit 256 kB per Core SLC und maximal<br />

8 MB TLC für alle vier Kerne nominell weniger Cache als Prozessoren der Serie Xeon 5400 (Harpertown) mit<br />

2 × 6 MB SLC. Trotzdem ist die Gesamtleistung der Prozessoren weit höher.<br />

© <strong>Fujitsu</strong> Technology Solutions 2009 Seite 18 (46)


White Paper <strong>Sizing</strong> <strong>Guide</strong> | <strong>Terminal</strong> <strong>Server</strong> <strong>Sizing</strong> <strong>Guide</strong> Version: 4.0, Oktober 2009<br />

Hyper-Threading<br />

Bei Hyper-Threading-Prozessoren sind einige Ressourcen auf dem Chip verdoppelt, so dass diese CPUs<br />

nun die Fähigkeit besitzen, zwei Threads parallel ausführen zu können. So werden zwei virtuelle bzw.<br />

logische CPUs simuliert. Dem Betriebssystem gegenüber stellt sich eine CPU mit Hyper-Threading als zwei<br />

CPUs dar und wird auch so angesteuert. Dies bringt einen Geschwindigkeitsvorteil, wenn Betriebssystem<br />

und Anwendungen dafür geeignet sind. Windows als Betriebssystem ist vom Design her Hyper-Threadingfähig<br />

und gerade in <strong>Terminal</strong> <strong>Server</strong> Umgebungen arbeiten viele einzelne Benutzer mit insgesamt vielen,<br />

meist kleineren Anwendungen parallel, so dass von Hyper-Threading eine Performance-Steigerung zu<br />

erwarten ist.<br />

Die meisten Intel Prozessoren der aktuellen Xeon 5500 Serie (Nehalem) unterstützen Hyper-Threading.<br />

AMD Prozessoren besitzen grundsätzlich kein Hyper-Threading.<br />

Messungen haben gezeigt, dass der Performance-Gewinn durch Hyper-Threading bei gering bis mittel<br />

belasteten Systemen am größten ist. Bei Systemen, die an ihrer Lastgrenze arbeiten, ist der Performance-<br />

Gewinn geringer. Auch ist die Leistungssteigerung auf einem Monoprozessorsystem höher als auf<br />

Multiprozessorsystemen.<br />

Eine Messreihe wurde auf einer PRIMERGY RX200 S1<br />

mit zwei Prozessoren durchgeführt, einmal mit<br />

eingeschaltetem Hyper-Threading und einmal mit<br />

abgeschaltetem Hyper-Threading. In beiden Fällen<br />

wurde die gleiche Anzahl von 101 Benutzern simuliert.<br />

Bei <strong>Terminal</strong> <strong>Server</strong> Anwendungen sorgt das Hyper-<br />

Threading für eine Entlastung des Systems, die CPU-<br />

Last konnte um 31% reduziert werden, wie die<br />

nebenstehende Grafik veranschaulicht. Bei der<br />

verwendeten PRIMERGY RX200 S1 und 101 Benutzern<br />

konnte man ohne Hyper-Threading schon einen CPU<br />

Engpass feststellen, die Antwortzeiten des <strong>Terminal</strong><br />

<strong>Server</strong>s waren nicht mehr im vorgegebenen Rahmen.<br />

Durch die CPU Entlastung durch Hyper-Threading<br />

erfüllte das System wieder die vorgegebene<br />

Reaktionszeit.<br />

(Lastprofil V1, Microsoft Office XP,<br />

Citrix MetaFrame)<br />

In einer weiteren Messreihe<br />

wurden die absoluten Benutzeranzahlen<br />

für Systeme mit und<br />

ohne Hyper-Threading ermittelt.<br />

Die nebenstehende Grafik zeigt<br />

die Messergebnisse. Das<br />

vermessene PRIMERGY System<br />

war eine PRIMERGY RX300 S2<br />

mit einem oder zwei Prozessoren<br />

mit verschiedenen Taktfrequenzen.<br />

Für diesen Vergleich<br />

wurden Prozessoren mit 1 MB<br />

SLC verwendet. Hyper-Threading<br />

war alternativ ein- (»HT on«) oder<br />

ausgeschaltet (»HT off«). Man<br />

erkennt deutlich, dass mit eingeschaltetem<br />

Hyper-Threading<br />

(Lastprofil V1, Microsoft Office 2003, Microsoft <strong>Terminal</strong> Services)<br />

eine höhere Anzahl Benutzer mit<br />

dem <strong>Terminal</strong> <strong>Server</strong> arbeiten können. Bei einem langsameren Monoprozessorsystem ist der Performance-<br />

Gewinn durch Hyper-Threading höher als bei einem schnellen Dualprozessorsystem.<br />

© <strong>Fujitsu</strong> Technology Solutions 2009 Seite 19 (46)


White Paper <strong>Sizing</strong> <strong>Guide</strong> | <strong>Terminal</strong> <strong>Server</strong> <strong>Sizing</strong> <strong>Guide</strong> Version: 4.0, Oktober 2009<br />

Anzahl Kerne<br />

Eine gängige Variante um die Leistungsfähigkeit eines Prozessors zu steigern, ist die Erhöhung durch die<br />

Taktfrequenz. Doch dies geht bei Frequenzen um 4 GHz mit einer nicht mehr sinnvoll handhabbaren<br />

Abwärme einher. Eine Möglichkeit der Fortentwicklung ist die Verwendung von Mehrkernprozessoren. Im<br />

Gegensatz zum »Hyper-Threading«, wo nur Teile eines Prozessors mehrfach auf dem Chip vorhanden sind<br />

um Threads parallel ausführen zu können, sind bei einem Mehrkernprozessor sämtliche Ressourcen des<br />

Prozessors repliziert. Mehrkernprozessoren haben zudem den Vorteil, dass die Kosten für den Einsatz eines<br />

einzelnen Chips mit mehreren Ressourcen häufig geringer sind als bei mehreren einzelnen Chips. Während<br />

bis zum Jahr 2005 die Einzelkernprozessoren dominierten, sind die aktuellen Prozessoren der Intel Xeon<br />

Reihe als 4-fach oder auch 6-fach Kerne ausgelegt. Zukünftige Prozessorgenerationen werden die Anzahl<br />

Kerne pro Chip noch vervielfachen.<br />

Die rein theoretische Leistungssteigerung beträgt maximal 100% (gegenüber einem einzelnen Kern) pro<br />

zusätzlichem Kern. In der Praxis hängt die Leistungssteigerung aber stark von dem Parallelisierungsgrad<br />

des ausgeführten Programms und des verwendeten Betriebssystems ab.<br />

Darüber hinaus lässt sich die Rechenleistung eines<br />

Systems durch den Einsatz mehrerer Prozessoren<br />

erhöhen. Man bezeichnet den Einsatz mehrerer<br />

gleicher physikalischer Prozessoren auch als<br />

»symmetric multiprocessing« (SMP). Die<br />

Skalierung mit wachsender Anzahl Prozessoren ist<br />

nur im Idealfall einer optimal parallelisierbaren<br />

Anwendung linear. Je mehr Zugriffe jedoch auf<br />

gemeinsame Ressourcen wie Arbeitsspeicher,<br />

Festplatten oder Netzwerk erfolgen, und somit eine<br />

Koordination zwischen den Prozessoren bedingen,<br />

umso mehr flacht die Skalierungskurve ab. Im<br />

Extremfall kann es bei einer sehr großen Anzahl<br />

Prozessoren und sehr hohem Koordinationsanteil<br />

der Prozessoren untereinander sogar zu einem<br />

»Umkippen« der Skalierung kommen. Schon 1967<br />

betrachtete Gene Amdahl die Beschleunigung von Programmen durch parallele Ausführung in einem<br />

mathematischen Modell und stellte fest, dass der Geschwindigkeitszuwachs vor allem durch den<br />

sequentiellen Anteil des Programms beschränkt ist (»Amdahls Gesetz«).<br />

Aktuelle Multiprozessorsysteme wirken dem entgegen, indem sie den Prozessoren große Caches beiseite<br />

stellen oder Gruppen von Prozessoren bilden und diesen eigenen Arbeitsspeicher und I/O-Komponenten<br />

zuordnen. Letzteres bedingt für optimale Performance darauf angepasste Betriebssysteme wie z.B.<br />

Windows <strong>Server</strong> 2003 Enterprise und Datacenter Edition mit »nonuniform memory access« (NUMA)<br />

Support.<br />

Wie schon im Kapitel Hyper-Threading ausgeführt,<br />

arbeiten in <strong>Terminal</strong> <strong>Server</strong> Umgebungen viele<br />

einzelne Benutzer mit insgesamt vielen, meist<br />

kleineren Anwendungen parallel – eine gute<br />

Voraussetzung, um viele Rechenkerne zu nutzen. Bis<br />

zu welcher Anzahl Kerne eine <strong>Terminal</strong> <strong>Server</strong><br />

Anwendung gut skaliert ist aber auch wieder<br />

anwendungsspezifisch und kann nicht verallgemeinert<br />

werden.<br />

Wie in der nebenstehende Grafik dargestellt, zeigten<br />

<strong>Terminal</strong> <strong>Server</strong> Messungen mit dem T4US Lastprofil<br />

V2 auf einer PRIMERGY RX300 S5 mit einem und<br />

zwei Xeon Quad-Core Prozessoren bei eingeschaltetem<br />

Hyper-Threading eine sehr gute<br />

Skalierung vom Faktor 1.7.<br />

(Lastprofil V2, Microsoft Office 2003,<br />

Microsoft <strong>Terminal</strong> Services)<br />

© <strong>Fujitsu</strong> Technology Solutions 2009 Seite 20 (46)


White Paper <strong>Sizing</strong> <strong>Guide</strong> | <strong>Terminal</strong> <strong>Server</strong> <strong>Sizing</strong> <strong>Guide</strong> Version: 4.0, Oktober 2009<br />

Arbeitsspeicher<br />

Den stärksten Einfluss auf die Leistungsfähigkeit des <strong>Terminal</strong> <strong>Server</strong>s übt der Arbeitsspeicher aus. Dabei<br />

spiegelt sich dies insbesondere in der Antwortzeit wider. Denn Windows verschafft sich bei Bedarf weiteren<br />

virtuellen Speicher durch Auslagern (Pagen) von momentan nicht benötigten Daten aus dem Arbeitsspeicher<br />

(RAM) in die Auslagerungsdatei (Pagefile) auf Festplatte. Da Plattenzugriffe aber mindestens um die<br />

Größenordnung 1000 langsamer sind als Speicherzugriffe, führt dies unmittelbar zum Zusammenbruch der<br />

Leistung und zu einem rapiden Anstieg der Antwortzeiten.<br />

Bei <strong>Terminal</strong> <strong>Server</strong> wächst der Speicherbedarf linear mit der Anzahl der Benutzer, unabhängig vom<br />

PRIMERGY Modell und gleichermaßen bei 32-bit- und 64-bit-Betriebssystemen, wie die beiden Grafiken<br />

veranschaulichen.<br />

Trägt man den belegten Speicher, den »Committed« Speicher und den »Working Set« grafisch auf, so<br />

erkennt man einen linearen Verlauf, der mit steigender Benutzeranzahl wächst. Während »Available<br />

MBytes« den aktuell freien physikalischen Hauptspeicher angibt, wird in »Committed Bytes« angegeben, wie<br />

viel virtueller Hauptspeicher den laufenden Anwendungen zugesagt wurde. Der »Working Set« einer<br />

Anwendung ist der Speicher, den sie bereits verwendet hat.<br />

Es soll auch nicht verschwiegen werden, dass 64-bit-Betriebssysteme und 64-bit-Anwendungen in der Regel<br />

mehr Arbeitsspeicher benötigen als die 32-bit-Versionen, denn alle Adresszeiger sind bei 64-bit doppelt so<br />

breit. Im Extremfall führt das bei 64-bit zu einem doppelten Speicherbedarf im Vergleich zu 32-bit.<br />

Wie die nebenstehende Grafik zeigt,<br />

belegt der gleiche Benutzer, der den<br />

Desktop gestartet hat und mit Microsoft<br />

Word 2003 arbeitet, auf dem 64-bit-<br />

System im Vergleich zum 32-bit-System<br />

ca. 60% mehr Arbeitsspeicher. Die<br />

Anwendung, mit der der <strong>Terminal</strong> <strong>Server</strong><br />

Benutzer arbeitet, ist in beiden Fällen<br />

Microsoft Word, welches heute nur als 32-<br />

bit-Version existiert.<br />

(Lastprofil V1, Microsoft Office 2003, Microsoft <strong>Terminal</strong> Services)<br />

Allgemeingültig ist jedoch die Tatsache, dass der Speicherbedarf linear nach der Formel<br />

anwächst.<br />

Man beachte dabei nur, dass der Speicherbedarf pro Benutzer stark von der verwendeten Anwendung<br />

abhängt und jeweils kundenspezifisch ermittelt werden muss. Kennt man jedoch den Speicherbedarf der<br />

Anwendung bei einem Benutzer, so lässt sich leicht der Gesamt-Speicherbedarf berechnen.<br />

© <strong>Fujitsu</strong> Technology Solutions 2009 Seite 21 (46)


White Paper <strong>Sizing</strong> <strong>Guide</strong> | <strong>Terminal</strong> <strong>Server</strong> <strong>Sizing</strong> <strong>Guide</strong> Version: 4.0, Oktober 2009<br />

Nach oben begrenzend wirken nur der maximal mögliche Speicherausbau des Systems sowie die<br />

Unterstützung des Betriebssystems (siehe Kapitel Limitierungen).<br />

Der maximale Speicherausbau eines Systems ist abhängig vom Modell.<br />

Die x86-basierten PRIMERGY <strong>Server</strong> haben unterschiedliche Architekturen. Die älteren Modelle (von Intel<br />

Pentium Pro Prozessor (1995) bis Intel Xeon 5400 (Harpertown)) entsprechen dem Prinzip des Symmetric<br />

Multiprocessing (SMP). Die Anbindung der Prozessoren an den Hauptspeicher ist durch einen Front-Side<br />

Bus realisiert ist. Auch bei der Bestückung mit nur einem Prozessor ist der gesamte Speicher nutzbar.<br />

Intel Xeon Prozessoren ab der Xeon 5500 Serie unterliegen einer anderen Architektur. Für die Anbindung<br />

des Hauptspeichers sind diese Prozessoren mit Speicher-Controllern ausgestattet, d.h. jeder Prozessor<br />

steuert unmittelbar eine Gruppe ihm zugeordneter Speichermodule. Gleichzeitig ist der Prozessor in der<br />

Lage, über den Quick Path Interconnect Speicherinhalte dem benachbarten Prozessor zur Verfügung zu<br />

stellen und solche selbst anzufordern (siehe Kapitel Memory-Anbindung). Durch die direkte Kopplung<br />

zwischen Prozessor und Speicher ist eine Steigerung der Speicher-Performance plausibel, jedoch mit dem<br />

Performance-Unterschied zwischen lokaler und ferner Anforderung, der die Klassifizierung dieser Architektur<br />

als NUMA rechtfertigt. Die Berücksichtigung von NUMA bei der Vergabe von physikalischem Speicher und<br />

beim Scheduling von Prozessen erfolgt durch das Betriebssystem. Soweit möglich, sollte die Gesamtmenge<br />

an Arbeitsspeicher symmetrisch über beide Prozessoren verteilt werden. Ist das System nur mit einem<br />

Prozessor bestückt, können auch nur die diesem Prozessor zugeordneten Speicherbänke genutzt werden.<br />

Weitere Performance-relevante Hinweise zu leistungsfähigen Speicherkonfigurationen der Xeon 5500<br />

basierten PRIMERGY Systeme finden sich im Dokument »Speicher-Performance Xeon 5500 (Nehalem EP)<br />

basierter PRIMERGY <strong>Server</strong>« [L4].<br />

Auch PRIMERGY Modelle mit AMD Opteron Prozessoren besitzen eine direkte Zuordnung des Speichers zu<br />

den Prozessoren. Jeder Prozessor hat »seinen« Speicher direkt angebunden, was in einem schnellen<br />

Zugriff resultiert. Aus dieser Systemarchitektur folgt umgekehrt, dass eine PRIMERGY, die lediglich mit<br />

einem AMD Opteron Prozessor bestückt ist, auch nur die Hälfte der Speicherbänke nutzen kann, da der<br />

zweite CPU-interne Memory Controller zur Ansteuerung fehlt.<br />

Bei der Kalkulation des Arbeitsspeichers für <strong>Terminal</strong> <strong>Server</strong> sollte man zwei Besonderheiten nicht außer<br />

Acht lassen:<br />

»Desktop« oder »Published Application«?<br />

Bei <strong>Terminal</strong> <strong>Server</strong> Umgebungen muss man dem Benutzer nicht den gesamten Desktop mit allen<br />

Anwendungen zur Verfügung stellen, man kann den Zugriff auch beschränken. Microsoft <strong>Terminal</strong><br />

<strong>Server</strong> kann man so konfigurieren, dass eine bestimmte Anwendung statt des Desktop gestartet wird.<br />

Bei Citrix Presentation <strong>Server</strong> kann man den Benutzern auch mehrere einzelne Anwendungen<br />

(»Published Application«) direkt zur Verfügung stellen, der Start der Applikation innerhalb des Desktop<br />

entfällt. Dabei werden pro Benutzer ungefähr 5 bis 10 MB an Hauptspeicher gespart, da der Explorer-<br />

Prozess nicht mit gestartet werden muss. Auch wenn es in einer bestimmten Umgebung vielleicht nicht<br />

um diesen kleinen Gewinn von Hauptspeicher geht; ein nicht zu vernachlässigender Vorteil dieser<br />

Konfiguration ist, dass der Benutzer nur die für ihn vorgesehenen Anwendungen auf dem <strong>Server</strong> laufen<br />

lassen kann. Man kann also die Aktionen der Benutzer besser vorhersagen und auch einschränken.<br />

Der Speicherbedarf eines Benutzers, der<br />

eine Anwendung über den Desktop startet,<br />

wurde mit dem Speicherbedarf eines<br />

Anwenders verglichen, der die gleiche<br />

Applikation direkt ohne Desktop startet. Die<br />

Anwendung Microsoft Word aus Microsoft<br />

Office 2003 wurde einmal über den Desktop<br />

und einmal über den RDP Client direkt<br />

gestartet. Wie nebenstehe Graphik deutlich<br />

zeigt, ist der Speichermehrverbrauch ohne<br />

Starten des Desktops geringer.<br />

(Lastprofil V1, Microsoft Office 2003,<br />

Microsoft <strong>Terminal</strong> Services)<br />

© <strong>Fujitsu</strong> Technology Solutions 2009 Seite 22 (46)


White Paper <strong>Sizing</strong> <strong>Guide</strong> | <strong>Terminal</strong> <strong>Server</strong> <strong>Sizing</strong> <strong>Guide</strong> Version: 4.0, Oktober 2009<br />

»Logoff« oder »Disconnect«?<br />

Es ist ein Unterschied, ob der Benutzer die Verbindung zum <strong>Terminal</strong> <strong>Server</strong> beendet, indem er sich<br />

abmeldet (»Logoff«) oder ob er mit einem »Disconnect« die Verbindung nur unterbricht. Im letzteren<br />

Fall läuft die Anwendung auf dem <strong>Terminal</strong> <strong>Server</strong> weiter und gibt ihre Ressourcen nicht frei. Der<br />

Benutzer kann seine Arbeit dann an dieser Stelle fortsetzen. Wenn der belegte Arbeitsspeicher des<br />

<strong>Server</strong>s analysiert wird, zählen die Verbindungen im Status »Disconnect« natürlich mit. Manche<br />

Anwendungen brauchen auch CPU-Ressourcen, während die Verbindung getrennt ist. Sowohl<br />

Microsoft als auch Citrix unterstützen »disconnected« Sessions.<br />

© <strong>Fujitsu</strong> Technology Solutions 2009 Seite 23 (46)


White Paper <strong>Sizing</strong> <strong>Guide</strong> | <strong>Terminal</strong> <strong>Server</strong> <strong>Sizing</strong> <strong>Guide</strong> Version: 4.0, Oktober 2009<br />

Disk-Subsystem<br />

Geht man davon aus, dass ein <strong>Server</strong> dediziert als <strong>Terminal</strong> <strong>Server</strong> eingesetzt wird, und nicht gleichzeitig<br />

noch als File <strong>Server</strong> oder Datenbank-<strong>Server</strong>, so werden an das Disk-Subsystem keine großen<br />

Anforderungen gestellt. Es muss im Wesentlichen nur das Betriebssystem, den Paging-Bereich und die den<br />

<strong>Terminal</strong> <strong>Server</strong> Clients zur Verfügung stehenden Applikationen beherbergen. Die Plattenzugriffe sind dabei<br />

gering. Auf das Betriebssystem und die Applikationen wird nur zugegriffen, wenn sie das erste Mal in den<br />

Speicher geladen werden. Der Paging-Bereich spielt prinzipiell auch keine Rolle, denn das System muss so<br />

konfiguriert sein, dass es nicht in starkes Pagen gerät, anderenfalls ist die Leistungsfähigkeit des Systems in<br />

jedem Fall erheblich beeinträchtigt.<br />

Die Benutzerdaten und Benutzerprofile werden typischerweise auf entsprechende Disk-Subsysteme oder<br />

externe File <strong>Server</strong> gelegt und nicht auf die lokalen Festplatten eines <strong>Terminal</strong> <strong>Server</strong>s.<br />

Wird ein <strong>Terminal</strong> <strong>Server</strong> auf moderner <strong>Server</strong>-Hardware mit Multi-Core-Architektur und ggf. einem 64-bit-<br />

Betriebssystem aufgebaut, so können damit mehr Benutzer arbeiten und somit muss auch das Disk-<br />

Subsystem wachsen, um diesen Anforderungen gerecht werden zu können. Durch mehr Benutzersitzungen<br />

finden mehr Zugriffe auf das lokale Pagefile und auf das Disk-Subsystem statt und beim 64-bit-<br />

Betriebssystem werden auch größere Datenmengen Richtung Pagefile geschrieben. Aus diesen Gründen<br />

muss das Disk-Subsystem entsprechend dimensioniert werden. Hinweise zum Monitoren des Disk-<br />

Subsystems finden sich im Kapitel Engpassanalyse.<br />

Um einen maximalen Durchsatz zu erreichen, sollten alle vorhandenen Controller- und Festplatten Caches<br />

(auch die Write-Caches) eingeschaltet werden. Write-Caches der Festplatten tragen erheblich zur<br />

Performance-Steigerung bei, und es empfiehlt sich, diese bei allen Festplatten vorhandene Funktionalität<br />

auch im produktiven Einsatz zu nutzen. Dabei ist die Verwendung einer USV zum Schutz gegen<br />

Stromausfälle und damit verbundenem Datenverlust empfehlenswert.<br />

Zum <strong>Sizing</strong> von Disk-Subsystemen wurde ein eigenes White Paper »Performance Report - Modular RAID für<br />

PRIMERGY« [L5] erstellt.<br />

Wird das <strong>Terminal</strong> <strong>Server</strong> System hingegen gleichzeitig noch als Datei- oder Datenbank-<strong>Server</strong> eingesetzt,<br />

so gelten für das Disk-Subsystem natürlich zusätzliche Kriterien, wie sie für Datei- oder Datenbank-<strong>Server</strong><br />

typisch sind. Von einer solchen Konstellation ist jedoch abzuraten, es sei denn, das System wird nur in<br />

einem sehr begrenzten Workgroup-Umfeld eingesetzt. Ansonsten sollten dedizierte Systeme für die<br />

einzelnen Aufgaben, wie <strong>Terminal</strong> <strong>Server</strong>, Datei-<strong>Server</strong>, Datenbank- oder Applikations-<strong>Server</strong>, aufgebaut<br />

werden. Nur so kann ein <strong>Server</strong>-System optimal für seinen Aufgabenbereich zugeschnitten werden.<br />

Je nach Anzahl Festplatten im <strong>Server</strong>-System gelten folgende Empfehlungen:<br />

Zwei Festplatten, Konfiguration für Sicherheit: Wenn nur zwei Festplatten zur Verfügung stehen und auf<br />

Sicherheit Wert gelegt wird, so sollte aus Sicherheitsgründen eine Spiegelung über RAID 1 eingerichtet<br />

werden. Dort befinden sich dann Betriebssystem, Paging-Bereich und Applikationen. Eine Spiegelung kann<br />

entweder mit den onboard RAID 1-Funktionalitäten, die fast alle PRIMERGY <strong>Server</strong> standardmäßig bieten,<br />

oder softwaremäßig mit Windows Mitteln realisiert werden. Alternativ kann auch ein RAID-Controller<br />

eingesetzt werden.<br />

Zwei Festplatten, Konfiguration für Performance: Um eine bessere Performance zu erreichen, sollte das<br />

Pagefile nicht auf einer gespiegelten Festplatte konfiguriert werden. Wenn nur zwei Festplatten zur<br />

Verfügung stehen, sollten das Betriebssystem und die Applikationen auf der ersten Festplatte gespeichert<br />

werden, während das Pagefile auf die zweite Festplatte gelegt werden sollte. Da die Festplatte des<br />

Betriebssystems nicht gespiegelt ist, sollte sichergestellt werden, dass dort keine Benutzerdaten abgelegt<br />

und dass regelmäßige Backups durchgeführt werden.<br />

Drei oder mehr Festplatten: Stehen insgesamt mindestens drei Festplatten zur Verfügung, sollte man zwei<br />

Festplatten mit Hilfe von RAID 1 spiegeln und dort das Betriebssystem und die Applikationen unterbringen.<br />

Der Paging-Bereich wird auf die dritte dedizierte Festplatte gelegt, da die Nutzung einer gespiegelten<br />

Festplatte durch das Pagefile beträchtliche Auswirkungen auf die Performance haben kann. Da diese Daten<br />

alle temporärer Natur sind, ist hier natürlich keine Absicherung durch RAID notwendig.<br />

© <strong>Fujitsu</strong> Technology Solutions 2009 Seite 24 (46)


White Paper <strong>Sizing</strong> <strong>Guide</strong> | <strong>Terminal</strong> <strong>Server</strong> <strong>Sizing</strong> <strong>Guide</strong> Version: 4.0, Oktober 2009<br />

Netzwerk<br />

Obwohl dem Thema Netzwerk im <strong>Terminal</strong> <strong>Server</strong> Umfeld eine wichtige Rolle zukommt, wird es im Rahmen<br />

dieses Papieres nicht ausführlich behandelt, da es ein eigenständiges Thema darstellt. Auch soll hier ein<br />

einzelner <strong>Terminal</strong> <strong>Server</strong> und nicht eine <strong>Terminal</strong> <strong>Server</strong> Farm im Focus stehen. In der Praxis sind zudem<br />

häufig schon Netzwerk-Topologien vorhanden, in die der <strong>Terminal</strong> <strong>Server</strong> zu integrieren ist.<br />

Bei der Betrachtung eines einzelnen <strong>Terminal</strong> <strong>Server</strong>s ist zu berücksichtigen, dass er bezüglich<br />

Netzwerkanbindung die benötigten Bandbreiten für alle Benutzer zur Verfügung stellt. Welche Bandbreiten<br />

für den <strong>Terminal</strong> <strong>Server</strong> benötigt werden, ist dabei stark vom Benutzer abhängig. Benutzer, die z.B. mehr im<br />

Office-Umfeld mit Textverarbeitung zu tun haben, benötigen weniger Bandbreite als Nutzer von 2D- oder 3D-<br />

Anwendungen. Ebenso spielt das verwendete Übertragungsprotokoll eine Rolle. Dabei hat sich das von<br />

Citrix entwickelte ICA-Protokoll als effizienter erwiesen als RDP von Microsoft.<br />

Aktuelle PRIMERGY <strong>Server</strong> bieten mit ihren Gigabit Ethernet Anschlüssen eine gute Voraussetzung, um<br />

einen <strong>Terminal</strong> <strong>Server</strong> performant zu betreiben.<br />

Bedingt es das Aufgabenszenario, dass die auf dem <strong>Terminal</strong> <strong>Server</strong> ablaufenden Anwendungen auf große<br />

Datenmengen, Datenbanken oder gar Host-Anwendungen zugreifen, so empfiehlt es sich, den <strong>Terminal</strong><br />

<strong>Server</strong> mit einer weiteren Netzwerkkarte für den dedizierten Zugriff auf diese <strong>Server</strong>-Dienste auszustatten,<br />

um so den Datenverkehr in dieser Three-Tier-Umgebung zwischen <strong>Server</strong>-<strong>Server</strong>- und Client-<strong>Server</strong>-<br />

Kommunikation zu trennen.<br />

Application <strong>Server</strong><br />

<strong>Terminal</strong> <strong>Server</strong><br />

Database <strong>Server</strong><br />

File <strong>Server</strong><br />

Network<br />

Network<br />

In einer <strong>Terminal</strong> <strong>Server</strong> Umgebung muss folgender Netzwerkverkehr berücksichtigt werden:<br />

<strong>Terminal</strong> <strong>Server</strong> und Active Directory<br />

Hauptsächlich während des Anmeldevorgangs der einzelnen Benutzer in die Domäne werden<br />

Informationen aus dem Active Directory benötigt. Dies wird in realen Konfigurationen oft auch über ein<br />

Netzwerksegment abgewickelt, das von den Client-Netzwerken getrennt ist.<br />

Clients und <strong>Terminal</strong> <strong>Server</strong><br />

Tastatur- und Mauseingaben werden zum <strong>Terminal</strong> <strong>Server</strong> gesendet, und die Änderungen der Bildschirmdarstellung<br />

werden zum Client übertragen.<br />

© <strong>Fujitsu</strong> Technology Solutions 2009 Seite 25 (46)


White Paper <strong>Sizing</strong> <strong>Guide</strong> | <strong>Terminal</strong> <strong>Server</strong> <strong>Sizing</strong> <strong>Guide</strong> Version: 4.0, Oktober 2009<br />

Infrastruktur<br />

In unseren Untersuchungen haben wir den <strong>Terminal</strong> <strong>Server</strong> immer isoliert betrachtet. In der Messumgebung<br />

gab es weitere Komponenten, mit denen der <strong>Terminal</strong> <strong>Server</strong> zusammen arbeitet, jedoch waren diese immer<br />

konstant und so ausgelegt, dass diese nicht der Engpass waren. In der Realität ist dies jedoch nicht immer<br />

der Fall. In diesem Abschnitt soll diskutiert werden, welche weiteren Komponenten der Infrastruktur einen<br />

Einfluss auf das Benutzerempfinden in einer <strong>Terminal</strong> <strong>Server</strong> Umgebung haben, was sich in einem<br />

negativen Gesamteindruck widerspiegeln könnte.<br />

Clients<br />

Neben den <strong>Server</strong>-Ressourcen und dem Netzwerk gehört natürlich auch der Client zur Gesamtumgebung<br />

des <strong>Server</strong>-based Computing. Also ist auch bzgl. des Clients die Frage berechtigt, welchen Einfluss dessen<br />

Leistungsfähigkeit auf die Gesamtkonfiguration hat. Da beim klassischen <strong>Server</strong>-based Computing die<br />

eigentliche Applikation auf dem <strong>Server</strong> abläuft, wird die CPU-Leistung des Clients nur für die Bedienung des<br />

Netzwerks und die vom Aufwand her nicht zu vernachlässigende Bildaufbereitung benötigt. Es wurde<br />

festgestellt, dass je nach verwendetem Client-System die Gesamt-Ausführungszeit einer Applikation<br />

durchaus variiert. Diese Unterschiede dürften sich im realen Betrieb aber allenfalls in einem subjektiven<br />

Performance-Eindruck des Benutzers widerspiegeln und haben keinen unmittelbaren Einfluss auf die<br />

Leistungsfähigkeit des <strong>Terminal</strong> <strong>Server</strong> Systems.<br />

Wie »thin« der Thin-Client sein darf, hängt in erster Linie von den Ansprüchen seitens der eingesetzten<br />

Applikationen an die Grafik ab, wie Auflösung, Farbtiefe und Komplexität (Text, Grafik) sowie von ggf.<br />

zusätzlichen Anforderungen an lokal auf dem Client ablaufende Anwendungen, die über das reine <strong>Server</strong>based<br />

Computing hinausgehen.<br />

Neben den ortsgebundenen (Thin-)Clients gibt es die Anforderungen auch mobile Geräte wie Notebooks<br />

oder PDAs an <strong>Terminal</strong> <strong>Server</strong> anzuschließen. Üblicherweise werden diese Geräte dann nicht mehr über<br />

kabelgebundene Netzwerke angeschlossen, sondern über Funk-LANs (W-LAN) oder mobile Funknetze (z.B.<br />

»General Packet Radio Services« (GPRS) oder »Universal Mobile Telecommunication System« (UMTS)).<br />

Dies stellt insbesondere beim Ressourcen sparenden ICA-Protokoll kein Problem dar. Den ICA-Client gibt es<br />

auch für viele gängige PDAs und das ICA-Protokoll ist durch sein Design besonders auch für langsame<br />

Verbindungen geeignet. Für Benutzer, die ständig und ausschließlich mit <strong>Terminal</strong> <strong>Server</strong> Anwendungen<br />

arbeiten, stellt solch ein Endgerät sicher nicht den idealen Client dar, aber jemand, der mobil arbeiten muss<br />

und nur gelegentlich Zugriff auf einen <strong>Terminal</strong> <strong>Server</strong> braucht, profitiert von der Flexibilität und<br />

Funktionalität dieser Lösung.<br />

Active Directory<br />

<strong>Terminal</strong> <strong>Server</strong> Benutzer authentifizieren sich im Normalfall in einer Domäne, d.h. der <strong>Terminal</strong> <strong>Server</strong><br />

überprüft die eingegebenen Benutzercredentials gegen das Active Directory. Außer in sehr kleinen<br />

Workgroup-Umgebungen sollten Active Directory und <strong>Terminal</strong> <strong>Server</strong> immer auf verschiedenen Systemen<br />

laufen und auf dem <strong>Terminal</strong> <strong>Server</strong> selbst sollten keine Benutzer verwaltet werden. An das Active Directory<br />

werden die gleichen Anforderungen gestellt wie in einer Umgebung ohne <strong>Terminal</strong> <strong>Server</strong>, es sollte aber<br />

weder das Active Directory noch das Netzwerk zwischen Active Directory und <strong>Terminal</strong> <strong>Server</strong> der Engpass<br />

sein.<br />

Benutzerprofile (User Profiles)<br />

In einem Benutzerprofil werden die individuellen Benutzereinstellungen gespeichert. Auch bei einem Login<br />

von <strong>Terminal</strong> <strong>Server</strong> Benutzern in einer Domäne in einem Active Directory Umfeld würden deren<br />

Benutzerprofile standardmäßig auf dem <strong>Terminal</strong> <strong>Server</strong> gespeichert. Insbesondere bei einer load-balanced<br />

<strong>Terminal</strong> <strong>Server</strong> Farm wird man die Benutzerprofile allerdings zentral auf einem <strong>Server</strong> im Netzwerk ablegen<br />

wollen, damit der Benutzer immer die gleichen Einstellungen vorfindet, unabhängig davon, auf welchem<br />

<strong>Terminal</strong> <strong>Server</strong> seine Sitzung ausgeführt wird. Diese Funktionalität ist bereits für so genannte »Wandernde<br />

Benutzer« (Roaming User) vorhanden, die sich an verschiedenen Arbeitsplätzen anmelden. Beim Einsatz<br />

von <strong>Terminal</strong> <strong>Server</strong>n ist zu beachten, dass ggf. verschiedene Benutzerprofile verwaltet werden müssen,<br />

wenn sich nämlich das lokale Betriebssystem des Arbeitsplatzes von dem des <strong>Terminal</strong> <strong>Server</strong>s<br />

unterscheidet bzw. wenn verschiedene Anwendungen vorhanden sind. Aus diesem Grunde kann man ein<br />

<strong>Terminal</strong> <strong>Server</strong> Benutzerprofil zusätzlich zu einem lokal zu ladenden Benutzerprofil konfigurieren. Eine<br />

besondere Variante des <strong>Server</strong>-basierten Benutzerprofils ist das Mandatory User Profile, ein Benutzerprofil,<br />

das der Benutzer nicht ändern kann. <strong>Server</strong>-basierte Benutzerprofile sollten generell möglichst klein sein.<br />

© <strong>Fujitsu</strong> Technology Solutions 2009 Seite 26 (46)


White Paper <strong>Sizing</strong> <strong>Guide</strong> | <strong>Terminal</strong> <strong>Server</strong> <strong>Sizing</strong> <strong>Guide</strong> Version: 4.0, Oktober 2009<br />

DNS<br />

Auch im <strong>Terminal</strong> <strong>Server</strong> Umfeld wird DNS verwendet, um die Namensauflösung von Verbindungen zu<br />

realisieren. Besonders im Load Balancing Umfeld wird auf diese Weise ein virtueller Name mit einer<br />

virtuellen oder realen IP-Adresse verknüpft, so dass sich eine <strong>Terminal</strong> <strong>Server</strong> Farm zum Benutzer hin wie<br />

ein <strong>Server</strong> darstellt. Daraus ergibt sich umgekehrt die Forderung, dass DNS immer erreichbar sein muss,<br />

damit ein Benutzer eine Verbindung zum <strong>Terminal</strong> <strong>Server</strong> aufbauen kann. DNS stellt im Allgemeinen keinen<br />

Engpass dar, dieser Dienst sollte nur ausfallsicher und redundant konzipiert sein.<br />

<strong>Terminal</strong> Services Licensing <strong>Server</strong><br />

Bei der Anmeldung eines Benutzers an einen <strong>Terminal</strong> <strong>Server</strong> wird dieser einen Lizenz-<strong>Server</strong> suchen und<br />

von ihm eine gültige Lizenz für den Zugriff über <strong>Terminal</strong> <strong>Server</strong> anfordern. In größeren Konfigurationen wird<br />

dieser Lizenz-<strong>Server</strong> ein eigenes System sein.<br />

Backend <strong>Server</strong><br />

Gerade in »load-balanced <strong>Terminal</strong> <strong>Server</strong> Farmen« werden die Dateien der Benutzer nicht auf den lokalen<br />

Festplatten der <strong>Terminal</strong> <strong>Server</strong> Systeme liegen, sondern auf File <strong>Server</strong>n oder NAS Systemen. Vermutlich<br />

werden in größeren Umgebungen auch weitere Dienste wie E-Mail, Datenbanken usw. benötigt, so dass<br />

man <strong>Server</strong> für Anwendungen wie zum Beispiel Exchange, SQL oder SAP R/3 zusammen mit dem <strong>Terminal</strong><br />

<strong>Server</strong> vorfinden wird. Wird für die Anbindung der Clients zum <strong>Terminal</strong> <strong>Server</strong> nur wenig<br />

Netzwerkbandbreite benötigt, so gilt dies nicht für die Anbindung der <strong>Terminal</strong> <strong>Server</strong> an die Backend<br />

<strong>Server</strong>. Hier sollte genügend Netzwerk- und Rechenkapazität zur Verfügung stehen. Für die einzelnen<br />

<strong>Server</strong> verweisen wir auf eigene Performance-Untersuchungen und <strong>Sizing</strong> <strong>Guide</strong>s, da dies den Rahmen<br />

dieses Papiers sprengen würde. Es wird nicht empfohlen, Backend-Dienste auf einem <strong>Terminal</strong> <strong>Server</strong> zu<br />

betreiben.<br />

© <strong>Fujitsu</strong> Technology Solutions 2009 Seite 27 (46)


White Paper <strong>Sizing</strong> <strong>Guide</strong> | <strong>Terminal</strong> <strong>Server</strong> <strong>Sizing</strong> <strong>Guide</strong> Version: 4.0, Oktober 2009<br />

Überlastverhalten<br />

Bei allen PRIMERGY <strong>Server</strong>n, insbesondere aber bei den leistungsfähigeren, kann man ein Verhalten<br />

beobachten, bei dem ein scheinbar normal ausgelastetes System durch das Hinzufügen einiger weniger<br />

Benutzer überlastet wird. Setzt man die Anzahl Benutzer, die CPU-Auslastung des Systems und die<br />

Antwortzeiten miteinander in Beziehung, so erkennt man, wie sich die Antwortzeiten des <strong>Terminal</strong> <strong>Server</strong>s<br />

bei steigender Auslastung verhalten. Während einer Messung über 25 Minuten wurde in den ersten 15<br />

Minuten die Benutzeranzahl kontinuierlich erhöht. Jeder Benutzer meldet sich erst an, danach arbeitet er mit<br />

Microsoft Word, um sich nach ca. 16 Minuten wieder abzumelden und wieder von vorn zu beginnen.<br />

Dadurch verteilen sich die<br />

Benutzeranmeldungen (blaue Kurve<br />

) auf einen relativ kurzen Zeitraum,<br />

was aber der Realität nahe kommt,<br />

wenn die Benutzer etwa zur gleichen<br />

Zeit ihre Arbeit aufnehmen. Die CPU<br />

<br />

Auslastung des <strong>Terminal</strong> <strong>Server</strong>s<br />

stieg ständig an (rote Kurve ) bis<br />

nah an 100%. Zwei signifikante<br />

Messergebnisse wurden beobachtet:<br />

<br />

Die Zeit, die der Benutzer brauchte,<br />

<br />

um sich am <strong>Terminal</strong> <strong>Server</strong><br />

<br />

anzumelden (violette Kurve ) und<br />

die Zeit, um in Microsoft Word ein<br />

Bild einzufügen (grüne Kurve ).<br />

Eine Anmeldung an den <strong>Terminal</strong><br />

<strong>Server</strong> beinhaltet nicht nur das Login<br />

selbst, sondern auch der Desktop<br />

des Benutzers wird gestartet. Dies<br />

belastet den <strong>Terminal</strong> <strong>Server</strong> mehr als das Einfügen des Bildes in Microsoft Word. Aktionen, die von sich aus<br />

den <strong>Terminal</strong> <strong>Server</strong> stark belasten, werden unter Hochlast stärker verlangsamt als weniger belastende<br />

Aktionen. Man erkennt drei Phasen der <strong>Terminal</strong> <strong>Server</strong> Auslastung:<br />

Die CPU-Belastung des <strong>Terminal</strong> <strong>Server</strong>s ist unter 70%. Die Antwortzeiten des <strong>Server</strong>s verlängern<br />

sich geringfügig, dies wird der Benutzer aber nicht realisieren.<br />

Die CPU-Belastung des <strong>Terminal</strong> <strong>Server</strong>s ist zwischen 70% und 90%. Aktionen, die den <strong>Server</strong><br />

stärker belasten, sind verlangsamt, aber die Antwortzeit ist für den Benutzer noch tolerierbar.<br />

Aktionen, die den <strong>Server</strong> nicht so stark belasten, haben im Durchschnitt die gleichen<br />

Reaktionszeiten, jedoch können Schwankungen auftreten.<br />

Wenn die CPU-Belastung des <strong>Terminal</strong> <strong>Server</strong>s über 90% ist, ist der <strong>Server</strong> deutlich überlastet. Je<br />

nach Benutzeraktion antwortet der <strong>Server</strong> wesentlich später, speziell Aktionen wie ein Login<br />

brauchen deutlich mehr Zeit. Aber auch einfachere Aktionen sind deutlich verlangsamt. Der<br />

Benutzer wird das Antwortzeitverhalten des <strong>Server</strong>s nicht mehr tolerieren.<br />

Anzahl Prozesse<br />

Auch wenn es paradox klingt: es kann Konstellationen geben, in denen, obgleich ausreichend CPU- und<br />

Speicher-Ressourcen zur Verfügung stehen, es zu Leistungsengpässen kommen kann. Auch Disk-I/O oder<br />

Netzwerke stellen in dieser Situation keinen Engpass dar, sondern quasi die Systemarchitektur. Diese<br />

Situation wird insbesondere von einer großen Anzahl an Benutzern, die viele Prozesse mit einer geringen<br />

gleichmäßigen Last induzieren, provoziert. Dabei spielt die Prozessor-Warteschlange eine nicht zu<br />

vernachlässigende Rolle. So gibt es in Abhängigkeit der Prozessor-Leistung und Prozessor-Anzahl einen<br />

Punkt, an dem das System keine weiteren Prozesse und somit Clients mehr bedienen kann. Im Prinzip ist<br />

hierbei das System nur noch damit beschäftigt, die Prozesse zu verwalten. Oder in »Fachchinesisch«<br />

ausgedrückt: In einem Multitasking-Betriebssystem erhält jeder Prozess eine Zeitscheibe, die er nicht schnell<br />

genug wieder frei gibt. Diese Situation könnte nur durch kleinere Zeitscheiben und somit größeren Turn-<br />

Around-Zeiten behoben werden. Dies hätte jedoch in anderen Lastsituationen negative Auswirkungen auf<br />

die Grundlast, die das Betriebssystem erzeugt. Die Anzahl Prozesse, ab der diese Situation eintritt, hängt<br />

neben der zur Verfügung stehenden CPU-Leistung und -Anzahl leider aber auch von der verwendeten<br />

Applikation ab, sodass keine generelle Formel hierfür angegeben werden kann. Bei Heavy Usern tritt dieser<br />

Effekt meist nicht zu Tage, da hier andere Ressourcen, wie Speicher und Rechenleistung die dominierenden<br />

Begrenzungsfaktoren sind.<br />

© <strong>Fujitsu</strong> Technology Solutions 2009 Seite 28 (46)


White Paper <strong>Sizing</strong> <strong>Guide</strong> | <strong>Terminal</strong> <strong>Server</strong> <strong>Sizing</strong> <strong>Guide</strong> Version: 4.0, Oktober 2009<br />

PRIMERGY Skalierung<br />

Die Leistungsfähigkeit des <strong>Terminal</strong> <strong>Server</strong>s ist durch CPU-Leistung und Hauptspeicher bestimmt.<br />

Den Speicherausbau kann man recht einfach anhand der Formel<br />

abschätzen. Werden verschiedene Applikationen gleichzeitig verwendet, so ist die Summe des Speicherbedarfs<br />

aller gleichzeitig verwendeter Applikationen zu bilden.<br />

Die Anzahl Benutzer bei einer vorgegebenen Speichermenge kann mit folgender Formel berechnet werden:<br />

Für die CPU-Leistung gilt leider keine so einfache Formel. Bei einem Medium oder Heavy User stellt im<br />

Allgemeinen die CPU-Leistung den begrenzenden Faktor dar. Für eine Klasse von Light Usern ist die<br />

maximale Benutzerzahl eher durch andere Systemressourcen begrenzt.<br />

Die Vielzahl an Prozessoren, mit denen jedes PRIMERGY-Modell ausgestattet werden kann, lässt bereits<br />

erahnen, dass es nicht eine bestimmte Anzahl Benutzer gibt, die ein PRIMERGY-Modell bedienen kann,<br />

sondern dass jedes PRIMERGY-Modell eine gewisse Bandbreite abdeckt. Auch gibt es keine scharfe<br />

Grenze, wo die Leistung eines Modells endet und die des nächst leistungsfähigeren beginnt. Vielmehr gibt<br />

es Überlappungen zwischen den Systemen. Die folgenden auf Basis unserer Messreihen gewonnenen<br />

Ergebnisse können also nur einen Eindruck für den Leistungsbereich vermitteln.<br />

© <strong>Fujitsu</strong> Technology Solutions 2009 Seite 29 (46)


White Paper <strong>Sizing</strong> <strong>Guide</strong> | <strong>Terminal</strong> <strong>Server</strong> <strong>Sizing</strong> <strong>Guide</strong> Version: 4.0, Oktober 2009<br />

Da die Systeme mit unterschiedlichen Lastprofilen vermessen wurden, sind keine absoluten<br />

Benutzeranzahlen angegeben. Vielmehr soll die relative Leistung der Systeme unter <strong>Terminal</strong> <strong>Server</strong><br />

Anwendungen aufgezeigt werden. In dieser Darstellung wird die PRIMERGY RX300 S3 als Bezugssystem<br />

genommen und die auf dem System gemessenen Anzahl Benutzer zu 100% gesetzt. Alle anderen Systeme<br />

werden in Relation zum Bezugsystem angegeben, wobei die unterschiedlichen Lastprofile entsprechend<br />

berücksichtigt sind.<br />

Wenn Sie einen <strong>Terminal</strong> <strong>Server</strong> oder eine <strong>Terminal</strong> <strong>Server</strong> Farm planen, sollten Sie sich die Zeit nehmen,<br />

das Benutzerverhalten vorher genau zu analysieren.<br />

Welche Anwendungen müssen generell über den <strong>Terminal</strong> <strong>Server</strong> zur Verfügung gestellt werden?<br />

Welcher Benutzer nutzt wann und wie oft welche Anwendung?<br />

Wie intensiv wird die Anwendung verwendet?<br />

Welche Bildschirmauflösung und Farbtiefe verwendet der Client?<br />

Welches Netzwerk und Protokoll wird verwendet?<br />

Welche Antwortzeiten werden erwartet?<br />

Bei größeren Konfigurationen sollte auf eine Pilotphase unter realen Bedingungen nicht verzichtet werden.<br />

© <strong>Fujitsu</strong> Technology Solutions 2009 Seite 30 (46)


White Paper <strong>Sizing</strong> <strong>Guide</strong> | <strong>Terminal</strong> <strong>Server</strong> <strong>Sizing</strong> <strong>Guide</strong> Version: 4.0, Oktober 2009<br />

Analysewerkzeuge<br />

Bei Performance-Problemen oder auch vor der Migration von Systemen ist es hilfreich, die <strong>Terminal</strong> <strong>Server</strong><br />

Umgebung zu analysieren. Je nach gewünschtem Detaillierungsgrad eignen sich verschiedene mehr oder<br />

weniger aufwändige Methoden, um sich einen Überblick über die aktuelle Situation zu verschaffen oder<br />

einen zeitlichen Ablauf der Systemauslastung aufzuzeichnen. Im Folgenden werden für die Analyse von<br />

Systemen nützliche Werkzeuge kurz vorgestellt. Eine ausführliche Beschreibung der Tools würde den<br />

Rahmen dieses Papiers sprengen.<br />

Task-Manager<br />

Am bekanntesten ist der Windows Task-Manager »taskmgr.exe«, den man<br />

in allen Windows <strong>Server</strong> Betriebssystemen, aber auch in Windows XP findet.<br />

Mit dem Task-Manager kann man sich einen schnellen Überblick über die<br />

aktuelle Systemauslastung verschaffen, weiterhin können laufende Anwendungen<br />

bzw. Prozesse und die Netzwerkauslastung angezeigt werden. Als<br />

Administrator kann man auch Prozesse beenden oder deren Prioritäten verändern.<br />

Zum Aufrufen klickt man mit der rechten Maustaste auf eine leere<br />

Stelle in der Taskbar und dann klickt man auf »Task-Manager«. Das Programm<br />

selbst stellt eine ausführliche Online-Hilfe bereit; weitere<br />

Informationen findet man auch bei Microsoft im Internet. Auf <strong>Terminal</strong> <strong>Server</strong><br />

Systemen empfiehlt es sich, unter »Prozesse« die Einstellung »Prozesse<br />

aller Benutzer anzeigen« zu selektieren. Hilfreich kann auch bei<br />

»Systemleistung« unter »Ansicht« die Einstellung »Kernel-Zeiten anzeigen«<br />

sein, um den CPU-Verbrauch des Kernels einzeln zu überwachen.<br />

Sysinternals Process Explorer<br />

Detailreichere Informationen bietet das Freeware-Programm »Process<br />

Explorer«, das von den beiden Windows Spezialisten Mark<br />

Russinovich und Bryce Cogswell kostenlos unter<br />

www.sysinternals.com bereitgestellt wird. Es bietet eine wesentlich<br />

größere Funktionalität als der Windows Task-Manager. Hervorzuheben<br />

sind die Baumansicht der Prozesse, die gerade bei <strong>Terminal</strong><br />

<strong>Server</strong> Systemen eine einfache Zuordnung von Prozessen zu<br />

Benutzern ermöglicht, und die erweiterte »System Information«-<br />

Anzeige. Der »Process Explorer« muss nicht installiert werden, kann<br />

aber auch an Stelle des Task-Managers in Windows integriert werden.<br />

Dieses Programm liefert eine Online-Hilfe mit, aber auch die<br />

Sysinternals-Web-Seite liefert nützliche Informationen.<br />

Performance Monitor<br />

Um den Verlauf des Ressourcenverbrauchs zu dokumentieren<br />

und zu speichern, sind o.g. Tools weniger geeignet. Hierzu gibt es<br />

in allen aktuellen Windows Versionen den System Monitor, oder<br />

auch Performance Monitor genannt, mit dem man über einen<br />

längeren Zeitraum so genannte Performance Counter beobachten<br />

kann. Performance Counter sind Objekt-spezifisch gruppiert,<br />

teilweise gibt es sie auch in verschiedenen Instanzen, wenn ein<br />

Objekt mehrfach vorhanden ist. Beispielsweise gibt es für das<br />

Objekt »Prozessor« einen Performance Counter »%Processor<br />

Time«, wobei dann bei einem Multiprozessorsystem eine Instanz<br />

pro CPU existiert. Nicht alle Performance Counter sind in<br />

Windows bereits vorhanden, sondern viele Anwendungen wie z.B.<br />

Citrix Presentation <strong>Server</strong> bringen ihre eigenen Performance<br />

Counter mit, die sich in das Betriebssystem integrieren und über den Performance Monitor abgefragt werden<br />

können. Die Performance-Daten kann man entweder am Bildschirm verfolgen oder, besser, in eine Datei<br />

schreiben und offline analysieren. Es können nicht nur Performance Counter des lokalen Systems<br />

ausgewertet werden, sondern auch von entfernten <strong>Server</strong>n, die entsprechenden Zugriffsrechte<br />

vorausgesetzt. Das Programm, das sich unter »perfmon.exe« aufrufen lässt, ist in der Windows Hilfe oder in<br />

© <strong>Fujitsu</strong> Technology Solutions 2009 Seite 31 (46)


White Paper <strong>Sizing</strong> <strong>Guide</strong> | <strong>Terminal</strong> <strong>Server</strong> <strong>Sizing</strong> <strong>Guide</strong> Version: 4.0, Oktober 2009<br />

Microsoft Artikeln im Internet beschrieben, weiterhin gibt es für jeden einzelnen Performance Counter unter<br />

»Erklärung« eine Erläuterung.<br />

Zu beachten ist, dass der Performance Monitor auch eine Windows Anwendung ist, die Rechenzeit benötigt.<br />

Es kann vorkommen, dass der Performance Monitor bei extremer <strong>Server</strong>-Überlastung selbst keine<br />

Performance-Daten ermitteln und anzeigen kann, dann sind die entsprechenden Werte 0 oder leer.<br />

Windows Performance Toolkit<br />

Mit dem Windows Performance Tools (WPT) Kit stellt Microsoft eine offizielle Sammlung von Tools zur freien<br />

Verfügung. Sie eignen sich zum Vermessen und Analysieren von System- und Anwendungsverhalten sowie<br />

des Ressourcenverbrauchs auf Windows Vista, Windows <strong>Server</strong> 2008 und späteren Windows<br />

Betriebssystemen. Diese Tools beruhen auf dem Event Tracing for Windows (ETW) und verursachen daher<br />

nur sehr geringen Overhead. Durch das ETW können Events des Kernels oder der Applikationen, wie z.B.<br />

Context Switches, Interrupts, Thread Creation und viele mehr, in Trace-Dateien aufgezeichnet und zu einem<br />

späteren Zeitpunkt ausgewertet und als übersichtliche Graphen oder Tabellen dargestellt werden. Sie<br />

ermöglichen daher eine sehr detaillierte Analyse eines Windows Systemverhaltens.<br />

Aktuell enthält die Sammlung drei Programme, die von der Kommandozeile aus ausgeführt werden können:<br />

Xperf<br />

Xperfview<br />

Xbootmgr<br />

Event tracing durchführen und auswerten<br />

Visionalisierung der Performance-Daten<br />

Erstellen eines Traces des Bootvorganges<br />

Die grundsätzliche Vorgehensweise erfolgt in vier Schritten:<br />

1) Starten des Event Tracing durch Aufruf von »xperf«; über Parameter kann genau gesteuert<br />

werden, was getraced werden soll.<br />

2) Durchführen der zu analysierenden Szenerie.<br />

3) Stoppen des Event Tracing durch Aufruf von »xperf«; alle zur Analyse notwendigen Daten<br />

werden ins Trace-File geschrieben.<br />

4) Auswerten des Trace-Files mittels »xperf« oder auch Visionalisierung über »xperfview«; kann<br />

auch auf einer anderen Maschine erfolgen.<br />

Beispiel eines Xperfview-Graph für CPU-Sampling:<br />

© <strong>Fujitsu</strong> Technology Solutions 2009 Seite 32 (46)


White Paper <strong>Sizing</strong> <strong>Guide</strong> | <strong>Terminal</strong> <strong>Server</strong> <strong>Sizing</strong> <strong>Guide</strong> Version: 4.0, Oktober 2009<br />

Beispiel eines Xperfview-Graph für Disk IO Sampling:<br />

Das Windows Performance Tool Kit ermöglicht eine sehr viel mehr in die Tiefe gehende Analyse eines<br />

Systemverhaltens als der Performance Monitor. Dadurch, dass die Aufzeichnung der Events über einen<br />

längeren Zeitraum oder auf einem durch viele Prozesse stark belasteten System zu sehr großen Trace Files<br />

führt, ist dieses Tool aber eher für die Analyse einer Momentaufnahme geeignet, während z.B. der<br />

Performance Monitor zur Analyse eines Systemverhalten über einen längeren Zeitraum, z.B. einen Tag oder<br />

eine Nacht eingesetzt werden kann.<br />

Windows Performance Analyzer kann nur eingeschränkt auf Windows XP bzw. Windows <strong>Server</strong> 2003<br />

eingesetzt werden. Es können zwar auch Event Traces geschrieben werden, allerdings müssen alle<br />

Analysen, die Trace-Dekodierung enthalten – das beinhaltet auch die graphische Aufbereitung mittels<br />

»Xperfview« – auf einem Windows Vista bzw. Windows <strong>Server</strong> 2008 System erfolgen.<br />

© <strong>Fujitsu</strong> Technology Solutions 2009 Seite 33 (46)


White Paper <strong>Sizing</strong> <strong>Guide</strong> | <strong>Terminal</strong> <strong>Server</strong> <strong>Sizing</strong> <strong>Guide</strong> Version: 4.0, Oktober 2009<br />

Citrix Resource Manager<br />

In größeren <strong>Terminal</strong> <strong>Server</strong> Konfigurationen<br />

mit Citrix Presentation <strong>Server</strong> Enterprise<br />

Edition kommt vielleicht auch der Resource<br />

Manager von Citrix zum Einsatz. Er bietet<br />

eine benutzerfreundlichere Sicht auf die für<br />

den Citrix Presentation <strong>Server</strong> relevanten<br />

Performance Counter und darüber hinaus<br />

noch eine Schwellwertüberwachung mit Benachrichtigung<br />

des Administrators. Die<br />

Schwellwerte sind schon auf bestimmte<br />

Werte voreingestellt, können aber bei Bedarf<br />

angepasst werden. Da diese Schwellwerte in<br />

der Citrix Resource Manager Software fest<br />

eingestellt sind, ist es fraglich, ob sie der<br />

Vielzahl der heute verfügbaren Leistungsvarianten<br />

von <strong>Server</strong>-Systemen ohne individuelle<br />

Anpassung gerecht werden können.<br />

Auf einem Citrix Presentation <strong>Server</strong> 4.0 <strong>Terminal</strong> <strong>Server</strong> unter Windows <strong>Server</strong> 2003 Enterprise Edition 32-<br />

bit mit 16 GB Hauptspeicher und Gigabit LAN sind beispielsweise folgende Werte voreingestellt:<br />

Objekt Counter Warnung Fehler<br />

Citrix MetaFrame<br />

Presentation <strong>Server</strong><br />

Data Store Connection<br />

Failure 6 60<br />

Logical Disk % Disk Time 400 600<br />

Logical Disk % Free Space 10 5<br />

Memory Available Bytes 858924851 343569940<br />

Memory Pages/sec 3000 5000<br />

Network Interface Bytes Total/sec 3000000 4000000<br />

Paging File % Usage 40 50<br />

Processor % Interrupt Time 0.3 0.4<br />

Processor % Processor Time 80 90<br />

System Context Switches/sec 120000 14000<br />

<strong>Terminal</strong> Services Active Sessions 50 100<br />

<strong>Terminal</strong> Services Inactive Sessions 10 20<br />

Wenn die Schwellwerte jedoch auf den Normalbetrieb (Baseline) eines Citrix Systems angepasst werden,<br />

dann lösen Überschreitungen rechtzeitig eine Warnung oder einen Alarm aus und helfen dem Administrator,<br />

einen Engpass frühzeitig zu erkennen. Für den Citrix Resource Manager sei auf die Dokumentation von<br />

Citrix verwiesen.<br />

© <strong>Fujitsu</strong> Technology Solutions 2009 Seite 34 (46)


White Paper <strong>Sizing</strong> <strong>Guide</strong> | <strong>Terminal</strong> <strong>Server</strong> <strong>Sizing</strong> <strong>Guide</strong> Version: 4.0, Oktober 2009<br />

Microsoft Operations Manager (MOM) 2005<br />

Microsoft stellt mit dem Produkt<br />

Microsoft Operations Manager<br />

(MOM) 2005 eine leistungsfähige<br />

Software zur Verfügung, mit der<br />

Ereignisse und Systemleistung<br />

verschiedener <strong>Server</strong>-Gruppen im<br />

Firmennetzwerk überwacht werden<br />

können. MOM bietet proaktive<br />

Benachrichtigungen im Warnungs-<br />

und Fehlerfall und erstellt<br />

Berichte und Trendanalysen.<br />

MOM bedient sich dabei existierenden<br />

Windows Mitteln wie der<br />

Ereignisanzeige, liest die Performance<br />

Counter aus und überwacht<br />

Dienste, jedoch komfortabel<br />

für ganze Gruppen von <strong>Server</strong>n.<br />

Die Ergebnisse werden in einer SQL Datenbank gespeichert.<br />

Zusätzliche Management Packs für MOM werden von Microsoft und anderen Anbietern für ihre Produkte zur<br />

Verfügung gestellt und hinterlegen weitere System- oder Anwendungs-spezifische Regelwerke in der MOM-<br />

Datenbank. So kann MOM nicht nur <strong>Terminal</strong> <strong>Server</strong>, sondern eine Vielzahl von verschiedenen <strong>Server</strong>-<br />

Typen gleichzeitig überwachen.<br />

Für die <strong>Terminal</strong> Services kann das »Microsoft <strong>Terminal</strong> <strong>Server</strong> MOM 2005 Management Pack« hinzugefügt<br />

werden, das <strong>Terminal</strong> <strong>Server</strong>-spezifische Regeln und Berichte für die folgenden Komponenten mitbringt<br />

<strong>Terminal</strong> Services<br />

<strong>Terminal</strong> Services Licensing <strong>Server</strong><br />

Session Directory <strong>Server</strong><br />

sowie ein Performance Monitoring anbietet.<br />

Beispielsweise wird eine Warnung ausgegeben, wenn mehr als 520 <strong>Terminal</strong> <strong>Server</strong> Sessions aktiv sind<br />

oder die Prozessorauslastung einer Session über einen Zeitraum von 15 Minuten über 80% liegt. Ein Fehler<br />

wird angezeigt, wenn mehr als 20 <strong>Terminal</strong> <strong>Server</strong> Sitzungen inaktiv sind oder die Cachetrefferrate weniger<br />

als 99% beträgt. Diese vordefinierten Regeln müssen an die kundenspezifischen Gegebenheiten angepasst<br />

werden.<br />

Weiterhin können aktive und inaktive Sitzungen über gewisse Zeiträume beobachtet werden, so dass hieraus<br />

Aussagen über das Benutzerverhalten gewonnen werden können.<br />

Eine Beschreibung der Features von MOM würde den Rahmen dieses Dokumentes sprengen. Zu MOM und<br />

den einzelnen Management Packs gibt es im Internet detaillierte Beschreibungen von Microsoft.<br />

© <strong>Fujitsu</strong> Technology Solutions 2009 Seite 35 (46)


White Paper <strong>Sizing</strong> <strong>Guide</strong> | <strong>Terminal</strong> <strong>Server</strong> <strong>Sizing</strong> <strong>Guide</strong> Version: 4.0, Oktober 2009<br />

Engpassanalyse<br />

Um eine Vorhersage zu treffen, wie sich eine existierende <strong>Terminal</strong> <strong>Server</strong> Umgebung verhält oder um bei<br />

einer Pilotinstallation die Auslastung eines <strong>Terminal</strong> <strong>Server</strong>s beurteilen zu können, ist es notwendig, selbst<br />

eine Engpassanalyse durchzuführen oder durch unseren Professional Service durchführen zu lassen.<br />

Performance-Werte aufzuzeichnen oder zu überwachen ist weniger das Problem, als die richtigen Schlüsse<br />

aus den Messwerten zu ziehen. Bevor wir im Folgenden einige wichtige Performance Counter zu den<br />

verschiedenen Performance-relevanten <strong>Server</strong>-Objekten diskutieren, werden kurz einige typische<br />

Verhaltensweisen von Performance Countern dargestellt. Wenn man einen Engpass auf einem <strong>Server</strong>-<br />

System analysiert, ist es nicht einfach, aus einem Schnappschuss von der Engpasssituation Rückschlüsse<br />

zu ziehen. Von Vorteil ist es, wenn man Erfahrungen hat, wie sich das <strong>Server</strong>-System unter verschiedenen<br />

Lasten verhält und eine Baseline zum Vergleich erstellt hat.<br />

Während man einige Messwerte wie den Netzwerkdurchsatz in Relation zum theoretisch erreichbaren<br />

Maximalwert, z.B. bei einer 100 MBit-Netzwerkverbindung, setzen kann, ist dies bei anderen Messwerten,<br />

wie z.B. Anzahl Context Switches pro Sekunde, nicht möglich.<br />

Es gibt folgende typische Kurvenverläufe bei synthetischer Last:<br />

Linear:<br />

Konstant:<br />

Die Performance-Werte steigen im gleichen<br />

Verhältnis zur Last. Kein Engpass.<br />

Logarithmisch:<br />

Die Performance Counter sind nicht abhängig von<br />

der Last, sondern konstant. Eventuell bilden sich<br />

bei unterschiedlicher Last verschiedene Stufen<br />

einer Treppenfunktion aus.<br />

Exponentiell:<br />

Bei steigender Last steigen die Performance<br />

Counter nicht weiter, sondern erreichen eine<br />

Sättigung. Dies kann ein Indiz für einen Engpass<br />

sein.<br />

Im unteren Lastbereich steigt die Kurve relativ<br />

flach an, während sie bei steigender Last<br />

überproportional wächst. Im Extremfall kann hier<br />

bereits ein weiterer Benutzer das »Fass zum<br />

Überlaufen« bringen.<br />

Im Folgenden werden einzelne Performance Counter, nach Systemkomponenten gruppiert, beschrieben und<br />

diskutiert. Im Anschluss daran ist ein Beispielskript eingefügt, das nach geringen Anpassungen direkt für ein<br />

<strong>Terminal</strong> <strong>Server</strong> System übernommen werden kann.<br />

© <strong>Fujitsu</strong> Technology Solutions 2009 Seite 36 (46)


White Paper <strong>Sizing</strong> <strong>Guide</strong> | <strong>Terminal</strong> <strong>Server</strong> <strong>Sizing</strong> <strong>Guide</strong> Version: 4.0, Oktober 2009<br />

Rechenleistung/System<br />

Die wichtigsten Performance Counter sind:<br />

\Processor(*)\% Processor Time bzw. \Processor(_Total)\% Processor Time<br />

\System\Processor Queue Length<br />

»% Processor Time« ist die insgesamt verbrauchte Rechenzeit. Auf jedem Windows System läuft ein<br />

»Leerlaufprozess«, den man mit dem Task-Manager oder Process Explorer auch sehen kann. Alle CPU Zeit,<br />

die dieser idle Prozess nicht bekommt, ist »% Processor Time«. Bei »% Processor Time« gibt es mehrere<br />

Instanzen, eine pro logische CPU, die Windows kennt. Unsere unten aufgeführte Beispielkonfiguration<br />

zeichnet mit dem Objekt »Processor(*)« alle vorhandenen Prozessoren auf und deren Summe. Die<br />

Auslastung der einzelnen Prozessoren muss nicht immer gleich hoch sein, gerade im Niedriglastbereich und<br />

mit Hyper-Threading ist das oft der Fall. Weiterhin wird beim normalen Arbeiten mit <strong>Terminal</strong> <strong>Server</strong><br />

Anwendungen selten eine in Summe 100%ige CPU-Auslastung erreicht. Je mehr logische Prozessoren<br />

parallel arbeiten, desto niedriger kann sich der Durchschnittswert der CPU-Auslastung darstellen, auch wenn<br />

der <strong>Terminal</strong> <strong>Server</strong> bereits überlastet ist.<br />

»Processor Queue Length« bezeichnet die Anzahl Threads, die auf ihre Ausführung warten. Dieser<br />

Counter ist nur einmal pro System vorhanden, also nicht CPU-spezifisch. Daher sollte dieser Wert die<br />

Anzahl der Prozessoren nicht dauerhaft übersteigen.<br />

Normalerweise steigen »% Processor Time« und<br />

»Processor Queue Length« (PQL) bei Belastung<br />

des <strong>Server</strong>s gemeinsam an. Nebenstehende Grafik<br />

zeigt einen typischen Verlauf der CPU Zeit und der<br />

»Processor Queue Length«, während die Last auf<br />

dem <strong>Terminal</strong> <strong>Server</strong> zunehmend gesteigert wird.<br />

Kritisch sind % CPU-Zeiten ab 80% zusammen mit<br />

hohen Peaks der PQL-Kurve, die dann auch<br />

dauerhaft auf einem höheren Niveau bleibt.<br />

Es kann jedoch auch Situationen geben, wo eine<br />

Vielzahl von kleinen Prozessen auf ihre Ausführung<br />

wartet und das System allein schon durch die<br />

Verwaltung der Prozesse überlastet wird, obwohl<br />

die benötigten CPU-Ressourcen noch verfügbar wären.<br />

Zusätzliche Performance Counter:<br />

\System\Context Switches/sec<br />

\System\System Calls/sec<br />

\System\Processes<br />

\Processor(*)\Interrupts/sec bzw. \Processor(_Total)\Interrupts/sec<br />

»System Calls/sec« zählt die Anzahl Aufrufe an das System pro Sekunde. »Context Switches/sec« zählt<br />

die Anzahl Kontextwechsel pro Sekunde, also Wechsel zwischen Threads oder zwischen<br />

Benutzerprogrammen und Kernel-Aktivitäten. »Processes« ist die Anzahl der aktuell ausgeführten<br />

Prozesse. »Interrupts/sec« ist ein Counter, den es pro Prozessorinstanz und als Durchschnitt aller<br />

Prozessoren gibt. Interrupts sind meist durch Hardware wie Netzwerkkarten, Tastatur, Maus, Systemuhr,<br />

usw. initiierte Ereignisse, die der Prozessor bearbeiten muss. Zu beachten ist, dass das Windows in der x64<br />

Edition deutlich höhere Werte bei Interrupts/sec anzeigt als das 32-bit Windows. Dieser Unterschied liegt<br />

allerdings einzig in der Zählung der Interrupts, da das 64-bit Windows auch die Interrupt-Weiterleitungen<br />

zwischen den Prozessoren dokumentiert, die unter dem 32-bit Windows nicht mitgezählt wurden.<br />

Diese Counter steigen normalerweise zusammen mit der benötigten Rechenleistung an. Bedenklich ist es,<br />

wenn diese Kurven eine Sättigung erreichen, was bedeutet, dass das System nicht mehr von diesen<br />

Ereignissen verarbeiten kann. Eine Sättigung kann am besten über einen längeren Zeitraum beurteilt<br />

werden, im Zusammenhang mit den anderen Performance Countern. Die Anzahl Benutzer steigt deutlich<br />

steiler als der aufgezeichnete Performance Counter.<br />

Ein CPU-Engpass kann auch durch fehlerhafte Anwendungen ausgelöst werden, siehe Kapitel<br />

Applikationen.<br />

© <strong>Fujitsu</strong> Technology Solutions 2009 Seite 37 (46)


White Paper <strong>Sizing</strong> <strong>Guide</strong> | <strong>Terminal</strong> <strong>Server</strong> <strong>Sizing</strong> <strong>Guide</strong> Version: 4.0, Oktober 2009<br />

Arbeitsspeicher<br />

Die wichtigsten Performance Counter<br />

bzgl. der Arbeitsspeicherauslastung<br />

sind:<br />

\Memory\Available MBytes<br />

\Memory\Pages Input/sec<br />

\Process(_Total)\Working Set<br />

»Available MBytes« ist der aktuell<br />

freie physikalische Hauptspeicher in<br />

MB. »Pages Input/sec« zeigt die<br />

Anzahl der Seiteneinlagerungen pro<br />

Sekunde. Der »Working Set« einer<br />

Anwendung ist der Speicher, den sie<br />

bereits verwendet hat.<br />

Nebenstehende Performance-<br />

Aufzeichnung wurde auf einem<br />

PRIMERGY <strong>Server</strong> erstellt, der<br />

absichtlich in einen Hauptspeicherengpass<br />

getrieben wurde. Eine<br />

Eigenschaft des Windows Betriebssystems ist hierbei zu erkennen: wenn genügend Hauptspeicher zur<br />

Verfügung steht, wird auch mehr Speicher belegt. Erst wenn der freie Speicher unter einen bestimmten<br />

Schwellwert fällt, wird »aufgeräumt« und der Speicher außerhalb des »Working Set« ausgelagert. So kann<br />

man an einem System, das nicht im Speichergrenzbereich betrieben wird, den wirklichen Speicherbedarf<br />

nicht unbedingt ablesen. In der hier provozierten Engpasssituation werden jedoch exzessive Paging-<br />

Aktivitäten sichtbar. Der Speicherengpass deutet sich bereits an, wenn »Available MBytes« unter einen<br />

Schwellwert fällt und Windows deshalb den »Working Set« verkleinert. Gleichzeitig steigen die Paging-<br />

Aktivitäten (»Pages Input/sec«) an. Wenn nun noch weiterer Speicher gebraucht wird, dann wird schrittweise<br />

der »Working Set« weiter verkleinert und die Paging-Vorgänge steigen deutlich an. Auch der Performance<br />

Counter »Paging File\%Usage« steigt entsprechend an.<br />

Auch die folgenden Performance Counter können weiteren Aufschluss über die Auslastung des Arbeitsspeichers<br />

geben:<br />

\Memory\Committed Bytes<br />

\Memory\Pages Output/sec<br />

\Memory\Pages Faults/sec<br />

\Paging File(\??\C:\pagefile.sys)\% Usage<br />

In »Committed Bytes« wird angegeben, wie viel virtueller Hauptspeicher den laufenden Anwendungen<br />

zugesagt und im Pagefile reserviert wurde. Hieran kann man ablesen, ob das System in einen Engpass mit<br />

dem virtuellen Adressraum gerät.<br />

»Pages Output/sec« zeigt die Anzahl der Seitenauslagerungen pro Sekunde, durch die physikalischer<br />

Hauptspeicher freigegeben wird, indem die Daten auf die Festplatte geschrieben werden. Auch wenn<br />

ausreichend Arbeitsspeicher vorhanden ist, findet eine moderate Zahl von Auslagerung statt. Erst wenn<br />

dieser Wert sprunghaft ansteigt, liegt ein Speicherengpass vor. Insbesondere ist darauf zu achten, dass<br />

dieser Wert mit der Leistungsfähigkeit der Festplatte harmoniert, auf der das Pagefile liegt.<br />

»Pages Faults/sec« ist ein Durchschnittswert der Seitenfehler pro Sekunde, beinhaltet aber sowohl<br />

Seiteneinlagerungen aus dem physikalischen Hauptspeicher (»soft fault«) als auch Zugriffe auf die<br />

Festplatte (»hard fault«).<br />

»Paging File\%Usage« des Pagefiles ist dessen Belegung in Prozent. Eine geringe Belegung des Pagefiles<br />

ist normal, auch wenn genügend RAM vorhanden ist. Wenn diese jedoch signifikant ansteigt, könnte ein<br />

Hauptspeicherengpass vorliegen. Dies wird durch die anderen Performance Counter der Paging-Aktivitäten<br />

untermauert.<br />

Ein Engpass des Arbeitsspeichers geht direkt Hand in Hand mit einem Ansteigen der Disk Counter auf der<br />

Festplatte, die das Pagefile beherbergt (siehe Kapitel Engpassanalyse - Disk-Subsystem).<br />

© <strong>Fujitsu</strong> Technology Solutions 2009 Seite 38 (46)


White Paper <strong>Sizing</strong> <strong>Guide</strong> | <strong>Terminal</strong> <strong>Server</strong> <strong>Sizing</strong> <strong>Guide</strong> Version: 4.0, Oktober 2009<br />

Betriebssystemressourcen<br />

Der wichtigste Performance Counter, an dem man die Gesundheit des Betriebssystems ablesen kann, ist:<br />

\Cache\Copy Read Hits %<br />

»Copy Read Hits %« ist der prozentuale Anteil der erfolgreichen Lesevorgänge aus dem Systemcache.<br />

Werden Daten im Systemcache gefunden, so erübrigt sich ein Festplattenzugriff, was in einem enormen<br />

Performance-Gewinn resultiert. Laut Microsoft sollte dieser Anteil immer über 95% liegen. Allerdings kann<br />

sich bei diesem Performance Counter bereits eine Verschlechterung von wenigen Prozentpunkten durch<br />

eine verzögerte Reaktion des <strong>Terminal</strong> <strong>Server</strong>s bemerkbar machen. Im Idealfall liegt »Copy Read Hits %«<br />

während des eingeschwungenen <strong>Server</strong>-Betriebs über 99%. Ein 32-bit-Betriebssystem hat im Vergleich zum<br />

64-bit-Betriebssystem durch den limitierten Kernel-Adressraum auch einen kleineren Systemcache.<br />

Da speziell Engpässe des Betriebssystems im <strong>Terminal</strong> <strong>Server</strong> Umfeld untersucht werden, sollten folgende<br />

zusätzliche Performance Counter auf jeden Fall mit betrachtet werden:<br />

\Memory\Free System Page Table Entries<br />

\Memory\Pool Nonpaged Bytes<br />

\Memory\Pool Paged Bytes<br />

»Free System Page Table Entries« zeigt die Anzahl der freien Einträge in der System Page Table. Ein<br />

Engpass dieser Betriebssystemressource ist erreicht, wenn nur noch wenige 1000 Einträge frei sind. »Pool<br />

Nonpaged Bytes« ist die Anzahl Bytes, die aktuell für den Nonpaged Pool verwendet werden. Im Nonpaged<br />

Pool speichert das Betriebssystem alle Daten, die immer im Hauptspeicher gehalten werden müssen und<br />

nicht in das Pagefile geschrieben werden dürfen. »Pool Paged Bytes« ist die Anzahl Bytes, die aktuell für<br />

den Paged Pool verwendet werden. Im Paged Pool liegen die Systemspeicherbereiche, die in das Pagefile<br />

ausgelagert werden können. Auf Windows <strong>Server</strong> 2003 32-bit-Betriebssystemen sind diese<br />

Speicherbereiche limitiert und nicht erweiterbar, so dass diese an ihre Grenzen stoßen können, wenn viele<br />

Benutzer auf dem <strong>Terminal</strong> <strong>Server</strong> arbeiten. Ein größerer Speicherausbau führt nicht zu größeren Kernel-<br />

Strukturen, sondern es wird im Gegenteil noch mehr Kernel-Speicher durch die Verwaltung und die<br />

Adressierung dieser Datenbereiche belegt.<br />

Nebenstehende Grafik zeigt eine solche<br />

Situation, bei der bei einem <strong>Terminal</strong><br />

<strong>Server</strong> ein Engpass der Betriebssystemressourcen<br />

durch kontinuierliche<br />

<br />

Erhöhung der Benutzerlast provoziert<br />

<br />

wurde. Zur Verdeutlichung wird<br />

zusätzlich der Performance Counter<br />

»Working Set« dargestellt. Man erkennt<br />

vier Phasen bei der <strong>Server</strong>-Belastung. In<br />

<br />

der ersten Phase ist der <strong>Terminal</strong> <strong>Server</strong><br />

performant, die Trefferrate im<br />

Systemcache liegt fast bei 100% , es<br />

sind noch genug freie PTEs <br />

<br />

vorhanden und der Working Set sowie<br />

der Paged Pool und der Nonpaged<br />

Pool kann mit der Anzahl Benutzer<br />

<br />

gesteigert werden. In der zweiten Phase<br />

fällt die Trefferrate des Systemcaches<br />

ab. Der Paged Pool erfährt eine<br />

Sättigung. Die Performance wird sich<br />

langsam verschlechtern. In der dritten Phase ist die Effizienz des Systemcaches deutlich herabgesetzt.<br />

während durch Paging-Aktivitäten noch Paged Pool Ressourcen freigeschaufelt werden konnten. Die<br />

<strong>Terminal</strong> <strong>Server</strong> Performance wird durch fehlende Kapazitäten im Systemcache gemeinsam mit erhöhten<br />

Plattenaktivitäten jedoch nicht mehr befriedigend sein. Überlastet man das System über diese Phase hinaus,<br />

dann erkennt man die Sättigung des Paged Pools. Auch der »Working Set« kann nicht mehr gesteigert<br />

werden und die freien PTEs sind auf einem Minimalwert angekommen. Neben einer schlechten <strong>Terminal</strong><br />

<strong>Server</strong> Performance wird sich ein Teil der Benutzer auch nicht mehr anmelden können, oder Anwendungen<br />

können nicht mehr gestartet oder bedient werden. Das System hat, im Gegensatz zu dem im Abschnitt<br />

Arbeitsspeicher gezeigten Fall eines Hauptspeicherengpasses, jedoch noch genügend freien physikalischen<br />

Speicher. In diesem Fall hatte das System am Ende der Aufzeichnung noch 26 GB von 32 GB<br />

physikalischem Hauptspeicher frei.<br />

© <strong>Fujitsu</strong> Technology Solutions 2009 Seite 39 (46)


White Paper <strong>Sizing</strong> <strong>Guide</strong> | <strong>Terminal</strong> <strong>Server</strong> <strong>Sizing</strong> <strong>Guide</strong> Version: 4.0, Oktober 2009<br />

Disk-Subsystem<br />

Der wichtigste Performance Counter zur<br />

Beurteilung der Festplattenauslastung ist:<br />

\PhysicalDisk(*)\Avg. Disk Queue Length<br />

bzw.<br />

\LogicalDisk(*)\Avg. Disk Queue Length<br />

Hierbei zeichnen die Performance Counter für die<br />

»PhysicalDisk« alle Aktivitäten an einem<br />

physikalischen Laufwerk auf, während das<br />

»LogicalDisk« Objekt diese nach den einzelnen<br />

Partitionen, z.B. C: oder D:, unterteilt. Wird ein<br />

RAID-Controller, SAN oder iSCSI verwendet, so<br />

bezieht sich der Counter »PhysicalDisk« jedoch<br />

nicht, wie der Name suggeriert, auf die physikalische Platte, sondern auf den RAID-Verband bzw. die LUN.<br />

Der Counter »Avg. Disk Queue Length« ist der Durchschnitt der Festplattenwarteschlange für Lese- und<br />

Schreibaufträge, man kann aber auch für Lese- und Schreiboperationen getrennte Counter aktivieren.<br />

Dieser Performance Counter ist ein signifikanter Indikator für die Belastung des Disk-Subsystems und sollte<br />

nicht dauerhaft größer sein als 1 pro Festplatte, die netto zur Verfügung steht. In einem RAID 1 Verband aus<br />

zwei Festplatten also nicht dauerhaft größer als 1, in einem RAID 1+0 aus 6 Festplatten nicht dauerhaft<br />

größer als 3. Die Beispielgrafik zeigt die »Avg. Disk Queue Length« für eine Konfiguration mit einer<br />

Festplatte, bei der der Wert unter 1 liegen sollte. Während im ersten Zeitraum dieser Aufzeichnung die<br />

Festplatte nicht wesentlich belastet wird, so ist gegen Ende der Messung das Disk-Subsystem deutlich<br />

überlastet.<br />

Die Performance des Disk-Subsystems, auf dem das Pagefile liegt, sollte immer gemeinsam mit dem<br />

Arbeitsspeicher betrachtet werden. Wenn der Arbeitsspeicher knapp wird, lagert Windows Teile des<br />

Speichers in das Pagefile auf der Festplatte aus und liest diese später wieder ein, was zu deutlich erhöhten<br />

Plattenaktivitäten auf der Festplatte führt, auf der das Pagefile liegt.<br />

Zusätzliche Performance Counter des \PhysicalDisk(*) bzw. \LogicalDisk(*) Objektes, die weiteren<br />

Aufschluss über die Plattenaktivität geben können:<br />

Avg. Disk Bytes/Read<br />

Durchschnitt der Auftragsgröße beim Lesen<br />

Avg. Disk Bytes/Write<br />

Durchschnitt der Auftragsgröße beim Schreiben<br />

Avg. Disk sec/Read<br />

Durchschnittswert der pro Leseauftrag benötigte Zeit in Sekunden<br />

Avg. Disk sec/Write<br />

Durchschnittswert der pro Schreibauftrag benötigte Zeit in Sekunden<br />

Disk Read Bytes/sec<br />

Gesamtanzahl der gelesenen Bytes pro Sekunde<br />

Disk Reads/sec<br />

Gesamtanzahl der Lesevorgänge pro Sekunde<br />

Disk Write Bytes/sec<br />

Gesamtanzahl der geschriebenen Bytes pro Sekunde<br />

Disk Writes/sec<br />

Gesamtanzahl der Schreibvorgänge pro Sekunde<br />

Der vielfach verwendete Counter »% Disk Time« ist nicht zu empfehlen, da er in heutigen Windows<br />

Versionen genau dem Hundertfachen von »Avg. Disk Queue Length« entspricht.<br />

© <strong>Fujitsu</strong> Technology Solutions 2009 Seite 40 (46)


White Paper <strong>Sizing</strong> <strong>Guide</strong> | <strong>Terminal</strong> <strong>Server</strong> <strong>Sizing</strong> <strong>Guide</strong> Version: 4.0, Oktober 2009<br />

Aus diesen Performance Countern lässt sich das Zugriffsmuster auf die Festplatten ablesen, d.h. die<br />

gelesenen und geschriebenen Blockgrößen, und die Latenzzeiten (»Avg. Disk sec«) beim Lesen und<br />

Schreiben. Diese Messwerte sollten in dem Fall als Zusatzinformation ausgewertet werden, wenn die »Avg.<br />

Disk Queue Length« auf einen Festplattenengpass hindeutet. Mit der Anzahl von Schreib- und<br />

Leseaufträgen pro Sekunde können in Verbindung mit der im Durchschnitt genutzten Auftragsgröße und<br />

dem verwendeten RAID-Level ebenfalls Rückschlüsse auf die Auslastung des Disk-Subsystems getroffen<br />

werden. Zum <strong>Sizing</strong> von Disk-Subsystemen wurde ein eigenes White Paper »Performance Report – Modular<br />

RAID für PRIMERGY« [L5] erstellt.<br />

Zu beachten ist auch, dass ein Disk-Subsystem, das über iSCSI angeschlossen ist, zusätzlich zu den<br />

Performance Countern der Festplattenobjekte bei den Performance Countern der Netzwerkkarte auftaucht,<br />

die im Folgenden beschrieben werden.<br />

Netzwerk<br />

Für einen ersten Blick auf die Netzwerkauslastung reicht der Task-Manager aus. Auf der Seite »Netzwerk«<br />

(»Networking«) erhält man schnell einen Überblick über die »Netzwerkauslastung« (»Network Utilization«)<br />

der einzelnen Netzwerkkarten und deren »Übertragungsrate« (»Link Speed«).<br />

Bei einer Performance Monitor-Aufzeichnung sollten die folgenden Performance Counter mit berücksichtigt<br />

werden:<br />

\Network Interface(*)\Bytes Sent/sec<br />

\Network Interface(*)\Bytes Received/sec<br />

»Bytes Sent/sec« und »Bytes Received/sec« zählen die aus Sicht des <strong>Server</strong>s gesendeten und<br />

empfangenen Daten in Bytes.<br />

Zusätzlich ist es auch sinnvoll die Performance Counter<br />

\Network Interface(*)\Packets Received/sec<br />

\Network Interface(*)\Packets Sent/sec<br />

zu betrachten. »Packets Sent/sec« und »Packets Received/sec« sind die Anzahl der aus Sicht des<br />

<strong>Server</strong>s gesendeten und empfangenen Datenpakete. Aus dem Verhältnis der Datenbytes und der Anzahl<br />

der Pakete lässt sich die durchschnittliche Paketgröße ermitteln.<br />

Je größer die Netzwerkpakete, desto höher die mögliche Netzwerkauslastung.<br />

Die Protokolle RDP oder ICA, die ein <strong>Terminal</strong> <strong>Server</strong> zwischen Client und <strong>Server</strong> verwendet, beinhalten<br />

nicht sehr große Datenpakete. Eine 100% Auslastung eines 100 MBit-Netzwerkes wird sich daher kaum<br />

beobachten lassen. Das ICA-Protokoll des Citrix Presentation <strong>Server</strong> ist dabei noch etwas sparsamer als<br />

das RDP-Protokoll des Microsoft <strong>Terminal</strong> Services.<br />

Neben der Client-<strong>Server</strong>-Kommunikation entsteht in den meisten Anwendungsszenarien jedoch auch<br />

weiterer Netzwerkverkehr zu Back-End-<strong>Server</strong>, ins Internet, oder bei Verwendung eines Netzwerk-basierten<br />

Disk-Subsystem, wie NAS oder iSCSI Datentransfer zum Disk-Subsystem. Es ist dringend zu empfehlen,<br />

dass für diese unterschiedlichen Datenströme dedizierte Netzwerkinterfaces verwendet werden.<br />

Die verschiedenen Netzwerkinterfaces können anstelle des (*) im Performance Monitor auch einzeln mit<br />

ihrem Namen selektiert werden. Wenn (*), wie im Beispiel oben, als Netzwerkkartenbezeichnung angegeben<br />

wird, dann werden alle im System verfügbaren Netzwerkkarten aufgezeichnet. Hierzu gehört auch das<br />

Loopback-Interface, auf dem normalerweise nicht viel Netzwerkverkehr stattfindet.<br />

Zu beachten ist, dass sich mit dem Performance Monitor oder dem Task-Manager nur die Auslastung des<br />

Netzwerkes aus Sicht des <strong>Terminal</strong> <strong>Server</strong>s analysieren lässt. Datenverkehr anderer <strong>Server</strong> und Clients auf<br />

dem Netzwerk kann nicht erfasst werden. Oft ist jedoch nicht das <strong>Server</strong>-seitige Netzwerk selbst zu klein<br />

dimensioniert, sondern die Probleme können beispielsweise von fehlerhaften oder falsch konfigurierten<br />

Komponenten herrühren oder durch vielfältige Problemen bei der Verbindung dieser Komponenten<br />

entstehen. An dieser Stelle sollte man einen Netzwerkspezialisten hinzuziehen.<br />

© <strong>Fujitsu</strong> Technology Solutions 2009 Seite 41 (46)


White Paper <strong>Sizing</strong> <strong>Guide</strong> | <strong>Terminal</strong> <strong>Server</strong> <strong>Sizing</strong> <strong>Guide</strong> Version: 4.0, Oktober 2009<br />

<strong>Terminal</strong> <strong>Server</strong><br />

Der Microsoft <strong>Terminal</strong> <strong>Server</strong> selbst liefert nicht viele Performance Counter. Jedoch bietet der <strong>Terminal</strong><br />

<strong>Server</strong> unter dem Objekt »<strong>Terminal</strong> Services Sessions« Performance Counter pro Session für eine<br />

detaillierter Auswertung einzelner Sitzungen an.<br />

Die Anzahl <strong>Terminal</strong> <strong>Server</strong> Verbindungen sollte immer mitgeschrieben werden, um die anderen<br />

Performance Counter in Relation zur Anzahl verbundenen Benutzer setzen zu können:<br />

\<strong>Terminal</strong> Services\Active Sessions<br />

Es ist ein Unterschied, ob der Benutzer die Verbindung zum <strong>Terminal</strong> <strong>Server</strong> beendet, indem er sich<br />

abmeldet (»Logoff«) oder ob er mit einem »Disconnect« die Verbindung nur unterbricht. Im letzteren Fall<br />

läuft die Anwendung auf dem <strong>Terminal</strong> <strong>Server</strong> weiter und gibt ihre Ressourcen nicht frei. Der Benutzer kann<br />

seine Arbeit dann an dieser Stelle fortsetzen. Manche Anwendungen brauchen auch CPU-Ressourcen,<br />

während die Verbindung getrennt ist. Daher sollte die Anzahl der inaktiven Verbindungen (»Inactive<br />

Sessions«)<br />

\<strong>Terminal</strong> Services\Inactive Sessions<br />

ebenfalls mitprotokolliert werden.<br />

Diese beiden Parameter gelten gleichwohl für die Microsoft <strong>Terminal</strong> Services als auch für den Citrix<br />

Presentation <strong>Server</strong>.<br />

Citrix selbst liefert auch Performance-Objekte mit verschiedenen Performance Countern mit. Folgende<br />

Performance Objekte werden installiert:<br />

»Citrix CPU Utilization Mgmt User«<br />

Counter für das Feature »CPU Utilization Management«<br />

»Citrix IMA Networking«<br />

Counter für Anzahl Verbindungen und Netzwerklast<br />

»Citrix MetaFrame Presentation <strong>Server</strong>«<br />

Counter u.a. für Data Store, Local Host Cache, Licensing<br />

»ICA Session« (für einzelne Sessions oder gesamt »_<strong>Server</strong> Total«)<br />

Counter spezifisch für ICA-Session<br />

Diese sind jedoch eher für spezielle Auswertungen geeignet und weniger für eine allgemeine Performance-<br />

Analyse eines <strong>Terminal</strong> <strong>Server</strong>s.<br />

© <strong>Fujitsu</strong> Technology Solutions 2009 Seite 42 (46)


White Paper <strong>Sizing</strong> <strong>Guide</strong> | <strong>Terminal</strong> <strong>Server</strong> <strong>Sizing</strong> <strong>Guide</strong> Version: 4.0, Oktober 2009<br />

Applikationen<br />

Eine fehlerhafte Anwendung kann eine CPU zeitweise oder permanent voll belasten, und gerade auf einem<br />

<strong>Terminal</strong> <strong>Server</strong> kann das fatale Auswirkungen auf die Gesamtleistung des Systems haben, da diese<br />

Anwendung auch mehrfach gestartet sein kann. Wenn die Anwendung einen Thread besitzt, der z.B. in einer<br />

Endlosschleife läuft oder »aktiv wartet«, dann belegt dieser maximal »100% / #CPUs« Prozessorzeit. Auf<br />

einem System mit zwei logischen Prozessoren also 50%, auf einem System mit vier logischen CPUs 25%.<br />

Je mehr logische CPUs das System hat, desto weniger fällt so ein Programm auf. Bei CPU-Engpässen sollte<br />

immer überprüft werden, ob es solche Anwendungen gibt, die dauerhaft genau diese Prozentzahl an CPU-<br />

Leistung benötigen. Kurzfristige Lastspitzen einer Anwendung sind hingegen völlig normal. Einen ersten<br />

Blick auf die Anwendungen ermöglicht der Task-Manager bzw. der Process Explorer. Folgender Screenshot<br />

zeigt einen synthetischen Lastsimulator auf einem PRIMERGY System mit acht logischen Prozessoren, der<br />

eine Endlosschleife simuliert. Der Process Explorer weist 12.50% CPU Last aus, d.h. diese eine Anwendung<br />

lastet einen Prozessorkern vollständig aus.<br />

Ein solches Verhalten ist oft in Desktop-Anwendungen zu finden, die für einen einzelnen Benutzer geschrieben<br />

und daher für eine <strong>Terminal</strong> <strong>Server</strong> Umgebung nur bedingt geeignet sind. Wenn Citrix Presentation<br />

<strong>Server</strong> 4.0 eingesetzt wird, dann kann man solche Anwendungen auch in ihrer Rechenleistung beschränken.<br />

Diese Einschränkung greift nur, wenn insgesamt zu wenig CPU Ressourcen zur Verfügung stehen.<br />

Auch der Speicherbedarf einer Applikation sollte überprüft werden. Unser synthetischer Lastsimulator hat ca.<br />

1.5 GB virtuellen Speicher belegt, allerdings ist der »Working Set« nur 5.3 MB groß. Diese Anwendung hat<br />

zwar eine Menge Speicher reserviert, hat ihn jedoch nicht in Verwendung. Erst wenn die Anwendung auf<br />

dem Speicher arbeitet, vergrößert sich der »Working Set« und der im System verfügbare Speicher<br />

»Available Mbytes« nimmt ab.<br />

Mit dem Performance Monitor kann man viele Performance Counter statt für das Gesamtsystem auch für<br />

einzelne laufende Anwendungen anzeigen lassen. Hierzu verwendet man das Objekt »Process« und als<br />

Instanz dann den zu überwachenden Prozess.<br />

© <strong>Fujitsu</strong> Technology Solutions 2009 Seite 43 (46)


White Paper <strong>Sizing</strong> <strong>Guide</strong> | <strong>Terminal</strong> <strong>Server</strong> <strong>Sizing</strong> <strong>Guide</strong> Version: 4.0, Oktober 2009<br />

Performance Monitor-Konfigurationsskript<br />

An dieser Stelle möchten wir eine Beispielkonfiguration mit den aussagekräftigsten Performance Countern<br />

aufführen, die bei Bedarf erweitert werden kann. Normalerweise stellt man die Auswahl der Performance<br />

Counter mit dem Performance Montitor Programm zusammen und speichert diese dann als »Protokolle der<br />

Ablaufverfolgung (Counter Log)« als *.htm Datei ab. Diese HTML-Datei kann man auch wieder in einer<br />

anderen Umgebung einlesen, jedoch sind einige Parameter ggf. systemspezifisch einzustellen, und die<br />

Performance Counter sind neu zu nummerieren, wenn Performance Counter hinzugefügt oder entfernt<br />

werden.<br />

Beim remote Monitoring ist<br />

der Name des <strong>Server</strong>s im<br />

Format »\\« vor den<br />

Performance Counter zu<br />

stellen, z.B. für den <strong>Server</strong><br />

»server«: »\\server\<strong>Terminal</strong><br />

Services\Active Sessions«.<br />

Neben einem einzelnen<br />

<strong>Server</strong> können beim remote<br />

Monitoring auch mehrere<br />

<strong>Server</strong> gleichzeitig überwacht<br />

werden.<br />

Alternativ kann man die Konfiguration<br />

der Performance<br />

Counter auch in eine Textdatei<br />

schreiben und mit dem<br />

»logman« Kommando laden.<br />

Hierzu siehe die Hilfe des<br />

»logman« Kommandos mit<br />

»logman -?«.<br />

Ein fertiges Konfigurationsskript<br />

ist nebenstehend abgebildet.<br />

Es kann als HTML-<br />

Datei, z.B. mit dem Namen<br />

»perf.htm«, am besten mit<br />

einem Text-Editor wie Notepad,<br />

angelegt werden und<br />

dann im Performance<br />

Monitor mit »Neue Protokolleinstellungen<br />

von... (New<br />

Log Settings From ...)« importiert<br />

werden. Besonders<br />

wichtige Parameter sind farblich<br />

unterlegt, während der<br />

fett gedruckte Laufwerksbuchstabe<br />

ggf. an den<br />

Speicherort des Pagefiles<br />

angepasst werden muss.<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

© <strong>Fujitsu</strong> Technology Solutions 2009 Seite 44 (46)


White Paper <strong>Sizing</strong> <strong>Guide</strong> | <strong>Terminal</strong> <strong>Server</strong> <strong>Sizing</strong> <strong>Guide</strong> Version: 4.0, Oktober 2009<br />

Messwerkzeuge<br />

Da es für <strong>Terminal</strong> <strong>Server</strong> keinen Standard-Benchmark gibt, existiert eine Reihe von verschiedenen<br />

proprietären Messwerkzeugen und -methoden zur Skalierung von <strong>Terminal</strong> <strong>Server</strong>n. Neben <strong>Fujitsu</strong><br />

Technology Solutions benutzen auch Microsoft und Citrix eigene Software und auch der bekannte Microsoft-<br />

Press-Autor und <strong>Terminal</strong> <strong>Server</strong> Experte Dr. Bernhard Tritsch hat Untersuchungen mit eigenem<br />

Lastsimulator durchgeführt. Die 2002 gegründete Firma LoginConsultants stellt auf ihren Internet-Seiten ein<br />

kostenloses Tool zum Messen von <strong>Server</strong>-based Computing Sessions zur Verfügung.<br />

Die nachfolgende Tabelle charakterisiert die verschiedenen Werkzeuge.<br />

Microsoft<br />

<strong>Terminal</strong><br />

<strong>Server</strong><br />

Scalability<br />

Planning Tool<br />

Citrix<br />

CSTK /<br />

Citrix ICAMark<br />

3.0<br />

<strong>Fujitsu</strong><br />

Technology<br />

Solutions<br />

T4US<br />

visionapp<br />

Remote<br />

Desktop +<br />

vRD Load<br />

Edition<br />

Login<br />

Consultants<br />

Login Virtual<br />

Session<br />

Indexer (VSI)<br />

Eine Lastsimulator-Suite von Microsoft (http://www.microsoft.com), die Bestandteil des<br />

Windows <strong>Server</strong> 2003 Resource Kit ist.<br />

Arbeitet nur mit Microsoft <strong>Terminal</strong> Services (RDP-Protokoll)<br />

bis zu 20 Benutzer pro Lastgenerator<br />

Knowledge Worker arbeitet mit einem Remote Desktop und verschiedenen<br />

Anwendungen (Microsoft Excel, Outlook, Internet Explorer, Word)<br />

Eingaben per Tastatur, 35 Wörter pro Minute<br />

Aufzeichnung von Performance Countern mit dem Windows Performance Monitor<br />

CSTK ist ein Lastsimulator von Citrix (http://www.citrix.com/cdn).<br />

Citrix ICAMark 3.0 ist ein Citrix-internes Tool, das auf dem CSTK basiert.<br />

Nur für Citrix Presentation <strong>Server</strong> / XenApp (ICA-Protokoll).<br />

Produziert Last, aber ermittelt keine Antwortzeiten von einzelnen Aktionen, nur die<br />

Gesamtlaufzeit für ein komplettes Skript ist messbar.<br />

Light User: Microsoft Excel, ca. 20 Wörter pro Minute<br />

Heavy User: Microsoft Excel, Microsoft Access, Microsoft PowerPoint (sequentiell)<br />

ca. 40 Wörter pro Minute<br />

Aufzeichnung von Performance Countern mit dem Windows Performance Monitor<br />

Eigenentwicklung von <strong>Fujitsu</strong> Technology Solutions<br />

Sowohl für Microsoft <strong>Terminal</strong> Services als auch für Citrix Presentation <strong>Server</strong><br />

Bis zu 40 Benutzer pro Lastgenerator<br />

Überwachung der Antwortzeiten für alle Benutzer bei verschiedenen Aktionen, Vergleich<br />

mit Referenzmessung<br />

Medium Lastprofil:<br />

Login + Desktop + Office-Anwendungen + Logoff<br />

Eingabe per Tastatur und Maus; Lesen und Schreiben von Daten<br />

Aufzeichnung von Performance Countern mit dem Windows Performance Monitor<br />

Eigenentwicklung von visionapp (http://www.visionapp.com/de)<br />

Messungen mit Microsoft <strong>Terminal</strong> Services (RDP-Protokoll)<br />

Bis zu 40 Benutzer pro Lastgenerator<br />

Desktop + Applikationen:<br />

Notepad: Textdatei, 8.4 KB<br />

Microsoft Word: Word Dokument, 3.1 MB<br />

Acrobat Reader 7: PDF-Datei, 3.8 MB<br />

Abgesehen von der Benutzeranmeldung finden während des Tests keine Eingaben statt,<br />

es werden keine Daten durch die Anwendungen angelegt<br />

Messung der Logon-Zeiten sowie der Anzahl der gestarteten Verbindungen und<br />

Applikationen<br />

Aufzeichnung von Performance Countern mit dem Windows Performance Monitor<br />

Eigenentwicklung von LoginConsultants (http://www.loginconsultants.com)<br />

VSI: kostenlose Version mit einem (Medium) Lastprofil, nicht anpassbar<br />

VSIpro: Lizenzpflichtige customize-fähige Version, verschiedene Lastprofile<br />

Messungen erfolgen auf dem SUT, daher Protokoll-unabhängig<br />

Medium Lastprofil: Login, Outlook, Internet Explorer, Word, Excel, PowerPoint,<br />

PDFWriter Aktionen<br />

Kontinuierliches Starten von Benutzer-Sessions und Messen von Reaktionszeiten<br />

Ergebnis VSI: die maximale Anzahl Virtual Sessions anhand der Reaktionszeiten<br />

© <strong>Fujitsu</strong> Technology Solutions 2009 Seite 45 (46)


White Paper <strong>Sizing</strong> <strong>Guide</strong> | <strong>Terminal</strong> <strong>Server</strong> <strong>Sizing</strong> <strong>Guide</strong> Version: 4.0, Oktober 2009<br />

Literatur<br />

[L1]<br />

[L2]<br />

[L3]<br />

[L4]<br />

[L5]<br />

[L6]<br />

[L7]<br />

[L8]<br />

[L9]<br />

[L10]<br />

[L11]<br />

Allgemeine Informationen zu Produkten von <strong>Fujitsu</strong> Technology Solutions<br />

http://de.ts.fujitsu.com<br />

Allgemeine Informationen zur PRIMERGY Produktfamilie<br />

http://www.primergy.de<br />

PRIMERGY Benchmarks - Performance Reports und <strong>Sizing</strong> <strong>Guide</strong>s<br />

http://de.ts.fujitsu.com/products/standard_servers/primergy_bov.html<br />

Speicher-Performance Xeon 5500 (Nehalem EP) basierter PRIMERGY <strong>Server</strong><br />

http://docs.ts.fujitsu.com/dl.aspx?id=3ba9fc71-4b0d-493f-b842-02a1d3645be0<br />

Performance Report - Modular RAID für PRIMERGY<br />

http://docs.ts.fujitsu.com/dl.aspx?id=2d0d20d8-7c14-407c-b904-6112f4c7821c<br />

Microsoft Windows 2003 und <strong>Terminal</strong> <strong>Server</strong><br />

http://www.microsoft.com/terminalserver<br />

Windows <strong>Server</strong> 2003 <strong>Terminal</strong> <strong>Server</strong> Capacity and Scaling<br />

http://www.microsoft.com/windowsserver2003/techinfo/overview/tsscaling.mspx<br />

Remote Desktop Services Windows <strong>Server</strong> 2008 R2<br />

http://www.microsoft.com/windowsserver2008/en/us/rds-product-home.aspx<br />

Citrix<br />

http://www.citrix.de<br />

Sysinternals Tools<br />

www.sysinternals.com<br />

Microsoft Windows Performance Toolkit<br />

http://msdn.microsoft.com/en-us/performance/cc752957.aspx<br />

Kontakt<br />

PRIMERGY Hardware<br />

PRIMERGY Product Marketing<br />

mailto:Primergy-PM@ts.fujitsu.com<br />

PRIMERGY Performance und Benchmarks<br />

PRIMERGY Performance und Benchmarks<br />

mailto:primergy.benchmark@ts.fujitsu.com<br />

Lieferung vorbehaltlich Verfügbarkeit, technische Änderungen ohne<br />

Vorankündigung möglich, Korrektur von Irrtümern und Auslassungen<br />

vorbehalten.<br />

Alle angegebenen Konditionen (TCs) sind empfohlene Einstandspreise in<br />

Euro ohne MwSt. (sofern im Text nicht anderweitig angegeben). Sämtliche<br />

verwendete Hardware- und Software- Namen sind Handelsnamen und/oder<br />

Warenzeichen ihrer jeweiligen Hersteller.<br />

Copyright © <strong>Fujitsu</strong> Technology Solutions GmbH 2009<br />

Herausgegeben durch:<br />

Enterprise Products<br />

PRIMERGY <strong>Server</strong><br />

PRIMERGY Performance Lab<br />

mailto:primergy.benchmark@ts.fujitsu.com<br />

Internet:<br />

http://ts.fujitsu.com/primergy<br />

Extranet:<br />

http://partners.ts.fujitsu.com/com/products/serv<br />

ers/primergy

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!