Outlook langsam: Daten werden abgerufen

Beachten Sie auch die Hinweise von Microsoft im folgenden KB-Artikel
940226 How to troubleshoot performance issues in Outlook 2007

Seit Outlook XP gibt es einen neue Funktion, die Benutzer eher irritiert als unterstützt: Outlook meldet Verzögerungen bei der Kommunikation mit einer Meldung wie folgender:

Outlook 2000 und älter hat einfach "gewartet" und der Anwender hat sich in Geduld üben müssen. Das hatte zwar den Vorteil, dass bei Verzögerungen von wenigen Sekunden der Anwender eigentlich nichts gemerkt hat aber umgekehrt Sie als Betreiber auch nicht wirklich sicher sein konnten, dass ihr Exchange "schnell" ist. Denn wer hat das schon nachgeprüft. ?

Outlook 2003 hingegen zeigt das Fenster nicht mehr so offensichtlich an, sondern nutzt eine Meldung in der Taskleiste

Manchmal bekommt man auch ein viel sagendes "Ein Clientvorgang ist fehlgeschlagen". Seit Exchange 2003 und Outlook 2003 gibt es ja auch erst den entsprechenden Performance Counter, um die Antwortzeiten auf dem Client zu müssen. Ein anderes Tool ist natürlich ExMon, um die Performance der Clients zu ermitteln.

Ursachenforschung

Sehr viele Administratoren glauben, dass es nur am langsamen Exchange Server liegt, aber dem ist meistens nichts so. Natürlich trifft dies zu, wenn der Anwender wirklich eine Mail in seinem Postfach öffnet und die lange dauert, weil der Server beschäftigt ist. Aber sehr oft sind es andere Probleme, die man vielleicht sonst gar nicht vermutet.

Fakt ist, dass die Meldung von Outlook generiert wird, wenn es länger als erwartet auf eine Antwort eines Servers warten muss. Ich schreibe absichtlich "eines" Servers, denn Outlook ist sehr kommunikativ und spricht mit vielen Servern. Um die eigentliche Ursache zu finden, sollten Sie die Kommunikationen von Outlook auf dem Client z.B.: mit Packetyzer oder einem anderen Programm untersuchen.

Folgende Kommunikationen könnten Outlook bei einer Störung zur Meldung veranlassen:

  • Namensauflösung DNS
    Outlook muss natürlich seine Server finden. Es ist gar nicht mal so ungewöhnlich, dass DNS noch alte Einträge hat. Und das führt natürlich Outlook aufs Glatteis.
  • DC und GC
    Outlook fragt tatsächlich direkt die Domain Controller. Bei Exchange 5.5 war der Exchange Server zugleich auch der Verzeichnisdienst, aber seit Exchange 2000/2003 hat diese Funktion der DC übernommen. Zwar fragt ein Client auch noch den Exchange Server, wird aber abhängig von dessen Version zum DC weitergereicht. (Siehe auch Outlook und GC)
  • WAN-Bandbreite
    Ein anderes nicht von Exchange zu vertretendes Problem sind natürlich WAN-Bandbreiten bzw. gerade nicht vorhandene Bandbreite im Online Betrieb. Hier kann natürlich der Offline Betrieb oder besonders der Cached Mode Entspannung bringen. (Siehe auch Outlook 2003 Cached Mode)
  • Netzwerkanbindung
    Es wäre nicht das erste Mal, dass ein Admin auf dem Server die Ethernet Geschwindigkeit "FIX" eingestellt hat und auf dem Switch ein Autodetect ist. Auch defekte Kabel sind oft schon Ursache für schlechte Leistungen gewesen.
  • Public Folder, Free/Busy, Forms, OAB, "Outlook Security Settings" und Ordner in anderen Standorten
    Einige Zugriff von Outlook gehen auf öffentlichen Ordner. Hierbei dürfen Sie nicht nur an die Ordner denken, die der Benutzer selbst auswählt und die hoffentlich für den Client gut erreichbar sind. Viel interessanter sind die Ordner, die Outlook weiterhin benötigt wie z.B.: die Frei/Belegt Zeiten, Offline Adressbuch und Formulare. Besonders wenn Sie mehrere Server haben oder sogar mehrere Standorte mit Routinggruppenconnectoren, dann wird oft vergessen, diese Ordner in die jeweiligen Standorte zu replizieren. Und dank der "Clientzugriff, Referral und Affinity" ist es natürlich kein Problem für Outlook, dann eben über das WAN auf entfernte Server zuzugreifen. Oft fällt das nicht mal auf.
  • Exchange beschäftigt
    Natürlich kann ein Clientvorgang auch länger als geplant dauern, weil Exchange im Hintergrund gerade sein Bestes versucht, um die Daten aus der Datenbank zu lesen. Aber wenn da noch ein Virenscanner, eine langsames Subsystem, ein Backup um die gleichen Zugriffe streiten, dann kann es schon etwas länger dauern. Das sollten Sie aber erkennen können.
    TechNet Blogs > Mark's Blog > The Compound Case of the Outlook Hangs
    http://blogs.technet.com/b/markrussinovich/archive/2010/08/24/3351213.aspx
  • Exchange und ACLs
    Auch Probleme mit den Zugriffslisten kann Exchange Ausbremsen. Speziell wenn nicht mehr existente Benutzer noch berechtigt sind, dann wird Exchange versuchen diese ACL zu lösen und das dauert manchmal ebenfalle etwas länger.
  • Viele Elemente
    Häufiger Grund für "langsame" Zugriffe sind auch extrem viele Elemente in einem Ordner. Es gibt einige KB-Artikel, die auf Probleme mit Ordnern, wenn mehr als 3500 bis 5000 Elemente in einem Ordner liegen.
  • Defekte Datenbanken
    Es kann aber auch sein, dass wirklich ein Defekt der Datenbank (Logisch oder z.B. 1018 den Exchange Server vor unlösbare Probleme stellen. Auch das sollte sich im Eventlog niederschlagen.
  • Exchange Client Throttling
    Exchange 2007 hat eine Funktion. Um eine Überlastung durch einzelne Clients zu verhindern. Erst Outlook 2007 versteht die erweiterte Rückmeldung. Outlook 2003 und älter werden die bekannte Meldung liefern. Siehe auch "Exchange 2007 understanding Client Throttling" http://technet.microsoft.com/en-us/library/cc540454(EXCHG.80).aspx
  • OST-Datei
    Eine Performancebremse ist auch die OST-Datei, die sich aber nicht über diese Meldung mitteilt. Immer, wenn ihre OST-Datei aber in den Bereich über 10GB kommt (oder 10 GB ab Outlook 2007 SP2) , dann wird Outlooks mit größerer OST-Datei immer träger ohne das eine Warnung oder Information erscheint. Siehe auch Offline: Wie wird repliziert ?

Alles in allem ist der Hinweis, dass Daten vom Server abgerufen werden, ein Signal für den Administrator seinen Servern genauer auf die Finger zu schauen. Sei es mit Perfmon, Eventlog oder anderen Tools aus dem Bereich Überwachung von Exchange oder natürlich die Konfiguration genau zu prüfen. ExBPA ist hier sicher ein Anfang aber letztlich können Sie mit der Analyse des Clientverkehrs sehr einfach den Server ausfindig machen.

Eingrenzen der Performanceprobleme.

Nachdem sie mit ExBPA Konfigurationsfehler ausgeschlossen haben, können Sie mit ExPTA bzw. ExTRA weitere Assistenten zur Suche eines Engpasses heranziehen.

Manuelle Optionen stehen natürlich auch offen:

Komponente Test Ergebnis

Server oder Client

Zuerst sollten wir prüfen, ob es der Server oder der Client ist. Starten Sie dazu Outlook und öffnen sie den fraglichen Ordner. wenn es langsam geht, dann öffnen Sie ihn nach kurzer Zeit noch einmal. öffnen Sie den Ordner auch einmal von einem anderen PC. Geht das schneller, wen es das erste mal langsam war, dann könnte das ein Hinweis darauf sein, dass Exchange die Daten nun im Cache hat.
Melden Sie sich schnell ab und wieder an und Starten Sie Outlook, so dass eine neue Anmeldung erfolgt. Es sollte nun immer noch deutlich schneller sein. Ansonsten könnte es auch ein Problem der Authentifizierung sein.

LAN-Anbindung des Servers

Kopieren Sie mal mehrere Gigabyte auf den Server oder kontrollieren Sie die Laufzeit ihrer Datensicherung über LAN. Auch eine Kontrolle der Einstellungen und ein Test mit NETIO, IPERF und TTCP kann hier Klarheit bringen. Prüfen Sie auch die "Offload"-Einstellungen der Karte und den seit Windows 2003 SP2 aktivierten "Scalable Networking") (Siehe auch Windows Server.

WAN-Bandbreite

Nutzen Sie den Outlook Cached Mode. Dabei sollte der Zugriff auf das Postfach "immer" schnell gehen und nur Zugriff auf nicht replizierte öffentliche Ordner und andere Postfächer (Stellvertreter) sollten langsam sein. Wenn auch der Zugriff auf das Postfach langsam ist, kann es nun eine Outlook Clientkomponente sein, z.B.: ein Add-on oder ein Virenscanner.

Elementanzahl

Kontrollieren Sie, ob alle Ordner langsam sind oder ob die schlechte Performance auf bestimmte Ordner begrenzt ist. Siehe dazu auch

Understanding the Performance Impact of High Item Counts and Restricted Views (http://technet.microsoft.com/en-us/library/cc535025(EXCHG.80).aspx)

Pre-Loading

Mit dem Tool End2End-Mailbox habe ich ein Programm, welches ich einsetze, um bestimmtem Ordner alle paar Sekunden immer wieder zu lesen. So kann ich nicht nur die Zeit dafür müssen sondern indirekt hält Exchange diese Ordner dann im Hauptspeicher. können nun die anderen Anwender "schnell" auf die Inhalte zugreifen, dann liegt es eher am Server. Natürlich ist es nun keine Lösung mit dem Skript alle Ordner immer wieder einzulesen. Hier hilft dann nur mehr RAM als Cache oder schnellere Platten.

Virenscanner

Ist die Performance häufig "morgens" langsam, also dann wenn ein Virenscanner ein Update in der Nacht bekommen hat und daher alle Elemente erneut zu scannen sind ?

Client Throttling und Outlook 2003

Outlook 2007 und Outlook 2010 sollten diese Meldung nicht bringen, wenn der Server "bescheid" sagt. Exchange 2007 und besonders Exchange 2010 können Funktionen um eine Überlastung durch einzelne Clients zu verhindern. Wenn ein Client sein Budget erschöpft hat, dann sagt der Server dies dem Client und er drosselt seine Aktivität. Allerdings kann Outlook 2003 diese Meldungen noch nicht verstehen.

Temporär abschalten

Es ist zwar keine Lösung aber Sie können dieses Fenster über eine Einstellung der Registrierung auf den Clients erst später oder gar nicht erscheinen lassen.

Dialogbox komplett unterdrücken

Über folgenden Eintrag können Sie das Fenster komplett unterdrücken und damit das Verhalten von Outlook 2000 und früher nachbilden: Outlook wartet einfach und es scheint, als wäre Outlook vielleicht eingefroren.

Windows Registry Editor Version 5.00
[HKEY_CURRENT_User\Software\Microsoft\Office\10.0\Outlook\CancelRPC]
"Disable"=dword:00000001

[HKEY_CURRENT_User\Software\Microsoft\Office\11.0\Outlook\CancelRPC]
"Disable"=dword:00000001

[HKEY_CURRENT_User\Software\Microsoft\Office\12.0\Outlook\CancelRPC]
"Disable"=dword:00000001

Speichern Sie die drei Zeilen einfach als "disable.reg" und importieren Sie diese mit REGEDIT.

Analog dazu sollten Sie wissen, dass die gleiche Einstellung auch über Gruppenrichtlinien gesetzt werden kann. Über die Office Vorlagen können Sie den Wert dann an folgender Stelle setzen:

Windows Registry Editor Version 5.00
[HKEY_CURRENT_User\Software\Policies\Microsoft\Office\10.0\Outlook]
"CancelRPC"=dword:00000001

[HKEY_CURRENT_User\Software\Policies\Microsoft\Office\11.0\Outlook]
"CancelRPC"=dword:00000001

[HKEY_CURRENT_User\Software\Policies\Microsoft\Office\12.0\Outlook]
"CancelRPC"=dword:00000001

Beachten Sie, dass ein Import dieser Zeilen per REGEDIT nur temporär funktioniert, da Richtlinien bei jedem Anmelden neu aufgebaut werden

Timeout einstellen

Alternativ können Sie natürlich einfach das Zeitintervall etwas entspannen, bis Outlook diese Meldung anzeigt.

Windows Registry Editor Version 5.00
[HKEY_CURRENT_User\Software\Microsoft\Office\10.0\Outlook\CancelRPC]
"TimeToShowCancelDialog"=dword:00010000

[HKEY_CURRENT_User\Software\Microsoft\Office\11.0\Outlook\CancelRPC]
"TimeToShowCancelDialog"=dword:00010000

[HKEY_CURRENT_User\Software\Microsoft\Office\12.0\Outlook\CancelRPC]
"TimeToShowCancelDialog"=dword:00010000

Dieses Beispiel verzögert die Meldung um 10000 Millisekunden = 10 Sekunden.

Auch diese Einstellung kann über Gruppenrichtlinien konfiguriert werden, was sich dann an folgender Stelle auswirkt:

Windows Registry Editor Version 5.00
[HKEY_CURRENT_User\Software\Policies\Microsoft\Office\10.0\Outlook\CancelRPC]
"TimeToShowCancelDialog"=dword:00010000

[HKEY_CURRENT_User\Software\Policies\Microsoft\Office\11.0\Outlook\CancelRPC]
"TimeToShowCancelDialog"=dword:00010000

[HKEY_CURRENT_User\Software\Policies\Microsoft\Office\12.0\Outlook\CancelRPC]
"TimeToShowCancelDialog"=dword:00010000

Weitere Links