Optimierung der Terminalservices-Anmeldezeiten

Kürzere Kaffeepause

15. April 2008, 22:00 Uhr | Tarkan Koçoglu, Thomas Berger/wg Tarkan Koçoglu und Thomas Berger arbeiten bei Citrix Systems im Bereich Consulting Services.

Der Anmeldevorgang ist der erste Eindruck, den ein Benutzer einer Terminalservicesumgebung erhält, wenn er eine bereitgestellte Anwendung startet. Erscheint die Wartezeit während der Anmeldung als zu lang, senkt dies die Akzeptanz von Terminalservices drastisch. Dieser Artikel stellt die Komponenten vor, die den Anmeldeprozess beeinflussen, und erläutert Optimierungspotenziale.

Fragt man einen Administrator nach den größten Herausforderungen in einer
Terminalservicesumgebung, so wird dieser wohl die Themen "Drucken" und "Benutzerprofile" – bezogen
auf den An- und Abmeldeprozess – an erster Stelle nennen. Gerade bei letzterem Thema sind die
Prozesse, die im Hintergrund bis zum Start einer Anwendung ablaufen, für die meisten
Administratoren ein eher unbekanntes Terrain. Dementsprechend schwierig gestaltet sich eine
gezielte Fehlersuche oder gar die Optimierung des Ablaufs.

Anmeldeprozess

Grob vereinfacht läuft der Anmeldeprozess für einen Benutzer, nachdem er seine Kennung
eingegeben hat, folgendermaßen ab:

Der Benutzer startet eine per Terminalserver bereitgestellte Anwendung oder
einen Desktop.

Falls Citrix Presentation Server (CPS) Advanced oder Enterprise Edition im
Einsatz ist, lenkt eine Lastverteilung den Benutzer auf den am wenigsten ausgelasteten Server.

Die Microsoft Terminalservices Client Access License (TSCAL) wird überprüft
oder eine neue allokiert.

Der Benutzer wird an der Domäne authentifiziert.

Ein gültiges Benutzerprofil wird ermittelt und geladen.

Die Gruppenrichtlinien kommen zur Anwendung.

Die Anmeldeskripte werden ausgeführt.

Terminalserver- oder CPS-spezifische Aktionen wie das Verbinden von
Peripheriegeräten des Benutzerarbeitsplatzes oder das Ausführen der usr- logon.cmd laufen an.

Die Anwendung wird geöffnet.

Der Leser mag sich nun fragen: Warum wird der Anmeldeprozess hier nicht im vollen Detailgrad
dargestellt? Die Antwort darauf ist gleichermaßen einfach wie ernüchternd: Die Komplexität, gerade
wenn es um CPS – neuerdings "Xenserver" genannt – geht, ist einfach zu hoch. Der anerkannte
Terminalservices-Fachmann Brian Madden hat ein umfassendes Ablaufdiagram erstellt, das im
DIN-A3-Format ausgedruckt gerade noch leserlich ist und die Reihenfolge aller 176 Schritte sowie
deren gegenseitige Abhängkeiten erläutert (Bild 1).

Diagnose

Um einen Einblick in die ablaufenden Windows-Prozessschritte zu erlangen, hat Microsoft in seine
Windows-Betriebssysteme ein sehr hilfreiches Werkzeug eingebaut, das jedoch nicht allen Lesern
bekannt sein dürfte. Die Rede ist hier vom so genannten "User Environment Debugging", das bei einer
Standardinstallation deaktiviert ist. Zum Aktivieren ist ein Schlüssel namens "UserEnvDebugLevel"
als REG_DWORD Eintrag unter dem Pfad "HKEY_LOCAL_MACHINE\Software\ Microsoft\Windows
NT\CurrentVersion\ Winlogon" zu erstellen. Die wichtigsten Werte für diesen neuen Schlüssel
sind:

0x00000000 (Protokollierung deaktiviert),

0x00010000 (Logfile schreiben / aktivieren),

0x00000001 (normale Protokollierung),

0x00000002 (erweiterte Protokollierung).

Zum aktivieren der erweiterten Protokollierung, müssen die Werte 0x00010000 und 0x00000002
addiert werden. Der Schlüsselwert wäre somit 0x00010002.

Die entsprechende Protokolldatei wird unter "%Systemroot%\Debug\UserMode\ Userenv.log" angelegt.
Bild 2 zeigt einen Mitschnitt des Ladens eines lokalen Benutzerprofils. Da das Dokumentieren
sämtlicher Anmeldeprozesse ein zeit- und ressourcenaufwändiger Vorgang ist, sollte man das User
Environment Debugging nur im Bedarfsfall einschalten. Nähere Informationen bietet die Microsoft
Knowledge Base im Artikel 221833.

Ein weiteres sehr hilfreiches Werkzeug in einer Terminalservicesumgebung mit CPS ist die
Verwendung von Citrix Edgesight. Damit kann ein Administrator auftretende Performance-Probleme
suchen und beheben, da Edgesight eine benutzerorientierte Sicht auf die Bereitstellung von
Anwendungen bietet. Neben den genannten Werkzeugen können Administratoren sowohl den Windows
Performance Monitor, Win-dows Sysinternals Regmon und Filemon sowie Befehlszeilenanweisungen wie
Ping, Tracert und Nslookup einsetzen.

Widmen wir uns nun im Detail den "üblichen Verdächtigen" für Problemfälle und den entsprechenden
Stellschrauben.

Problemquelle Domänen-Controller

Ein Domänen-Controller, Herzstück jedes Active Directorys, ist die erste und auch in
nachfolgenden Prozessschritten zentrale Komponente einer Benutzeranmeldung. Während eine
großangelegte Optimierung eines solchen Systems ein ganzes Buch füllen könnte, wollen wir an dieser
Stelle auf eine kleine, aber wichtige Optimierung hinweisen: Stellen Sie sicher, dass die
Domänen-Controller über ausreichend Systemressourcen verfügen. Dieser Hinweis klingt auf den ersten
Blick banal. Doch dieser Tipp sollte leicht nachvollziehbar sein angesichts der Tatsache, dass bei
einer zentralisierten Umgebung alle Last, die bei Benutzeranmeldungen entsteht, in der
Active-Directory-Site der Terminalserver abzuarbeiten ist und nicht mehr wie in dezentralisierten
Landschaften am Standort des Benutzers. Das Erreichen dieses Ziels hängt maßgeblich von einem
ausgereiften Design des Active Directorys und weniger von der puren Rechen-Power der einzelnen
Domänen-Controller ab. So können zum Beispiel dedizierte Sites für die Terminalserver und die
Arbeitsplätze die Wahrscheinlichkeit einer Überlast verringern. Des Weiteren sollte der
Systemverwalter die einwandfreie Funktionalität von DNS sicherstellen, da DNS der primäre
Namensauflösungdienst von Windows Server 2003 und eine Kernkomponente von Windows Server 2003
TCP/IP ist. Probleme in diesem Bereich können ebenfalls zur Verzögerung der Anmeldung führen, da
zum Beispiel ein Domänen-Controller erst lokalisiert werden muss. Hinzu kommt natürlich eine
detaillierte Systemüberwachung, auch und gerade zu Spitzenlastzeiten, um mithilfe von
Trendauswertungen Engpässe frühzeitig erkennen und diesen entgegenwirken zu können.

Benutzerprofile stellen einem Benutzer ihre eigene Umgebung zur Verfügung – abhängig von der
Benutzerprofilstrategie, die den Anmeldeprozess maßgeblich beeinflussen kann: Ein Mehr an
Funktionalität geht auf Kosten der Anmeldezeit.

Benutzerprofile und GPOs

Dies kann bei so genannten "servergespeicherten Profilen" (Roaming Profiles) der Fall sein,
besonders wenn diese außer Kontrolle geraten – insbesondere wenn Benutzer uneingeschränkt über ihr
Profil verfügen können und zum Beispiel hochaufgelöste Hintergrundbilder verwenden oder große
Dateimengen im Profil ablegen. Aus diesem Grund sollten Administratoren darauf besonders achten und
zunächst eine für ihre Umgebung passende Profilstrategie festlegen, bevor sie Optimierungsmaßnahmen
ergreifen.

Die aus Administratorensicht ideale Profillösung ist ein verbindliches Profil (Mandatory
Profile), das jedoch Benutzern keine Personalisierung erlaubt. Dabei wird ein vom Administrator
angepasstes Benutzerprofil als Standard für einen Großteil oder alle Benutzer definiert und
implementiert. Benutzer können zwar zur Laufzeit Änderungen durchführen, falls dies durch
Gruppenrichtlinien gestattet ist, jedoch werden diese Änderungen bei der Abmeldung verworfen. Man
kann jedoch Benutzern eine eingeschränkte Personalisierung mithilfe von Profillösungen gestatten,
so zum Beispiel mit dem Appsense Environment Manager, Sepagos Sepagoprofile oder Messerknechts
Jumpingprofiles. Damit steht ein stabiles und vor allem schlankes Benutzerprofil zur Verfügung, das
sich bei der Anmeldung zügig laden lässt. Neben dem Profil selbst kann sich auch dessen Platzierung
auf einem Fileserver maßgeblich auf die Anmeldung auswirken, da jeder zusätzliche Subnetz-Hop, die
DNS-Auflösung zur Aufsuche des Fileservers sowie dessen Auslastung eine Verzögerung bedeuten. Falls
verbindliche Profile zum Einsatz kommen, kann man dieses Problem umgehen, indem man diese lokal auf
dem Terminalserver speichert.

Gruppenrichtlinien (Group Policy Opjects, GPOs) erlauben Administratoren die sehr granulare
Steuerung einer Active-Directory-(AD-)basierten Umgebung. Jedoch sollten Systemverwalter sie
maßvoll einsetzen und auf das notwendige Minimum reduzieren, da das Abarbeiten der Richtlinien den
Anmeldeprozess deutlich verlangsamen kann. Dabei kommt es weniger auf die Anzahl der
Gruppenrichtlinienobjekte als vielmehr auf die Menge der verschiedenen Einstellungen an. Um auch
mit GPOs schnelle Anmeldezeiten erreichen zu können, sollte man Folgendes berücksichtigen:

keine unnötigen Einstellungen konfigurieren,

nicht benötigte Bereiche deaktivieren,

nur benötigte administrative Vorlagen (ADM) importieren und

WMI-Filter nur im Ausnahmefall benutzen.

Ein Administrator kann GPOs in AD-Domänen an verschiedenen Stellen (Site, Domäne, OU, etc.)
konfigurieren und sie mithilfe von "Loopback"-Richtlinien aus verschiedenen Lokationen
zusammenführen. Deshalb sollte man mithilfe des Richtlinienergebnissatzes (Resultant Set of Policy,
RSoP) alle effektiv wirkenden Gruppenrichtlinien und -einstellungen ermitteln.

In Zeiten von über 100.000 aktiven Schadprogrammen ist eine Antivirenlösung in jedem Unternehmen
Pflicht. Eine typische Standardkonfiguration einer solchen Software kann jedoch den Anmeldeprozess
und auch den späteren TS-/CPS-Betrieb stark verlangsamen.

Antivirensoftware

Grundsätzlich empfehlen sich in einer CPS-Umgebung folgende Einstellungen:

nur beim Schreiben von Dateien scannen,

nur lokale Laufwerke scannen sowie

.DAT-Dateien ausschließen.

Lassen es die Sicherheitsanforderungen des Unternehmens zu, kann es einen zusätzlichen
Geschwindigkeitsgewinn bringen, nur Dateitypen auf Viren zu überprüfen, die ausführbaren Code
enthalten können. Weitere Informationen finden sich in der Citrix Knowledge Base im Artikel
CTX114522.

Weitere Faktoren können den Anmeldeprozess beeinflussen. Ein Beispiel wäre das Verbinden von
Client-Ressourcen wie lokalen Laufwerken, Audio-, COM- oder LPT-Ports, da der Benutzer erst nach
erfolgreicher Verbindung dieser Ressourcen zu seiner Anwendung oder seinem Desktop gelangt. Einen
Einfluss hat auch die Anzahl gleichzeitiger Benutzeranmeldungen, da die ablaufenden Prozesse sehr
viel auf die Festplatte schreiben: Kopieren der Benutzerprofile, Verbinden von Client-Ressourcen
etc. Hier kann man entgegenwirken, indem man schnellere Festplatten einsetzt oder RAID-Controller
mit batteriegepuffertem Schreib-/Lese-Speicher verwendet.

Auch wenn Benutzerprofile auf den ersten Blick eine einfache Thematik zu sein scheinen, benötigt
doch eine Profillösung eine detaillierte Planung und kontinuierliche Pflege und Optimierung. Die
vorgestellten Werkzeuge und Techniken können dabei helfen, sind jedoch an die jeweilige
IT-Landschaft anzupassen.


Lesen Sie mehr zum Thema


Jetzt kostenfreie Newsletter bestellen!

Weitere Artikel zu Lampertz GmbH & Co. KG

Matchmaker+