Exchange 2000/2003 Systemoptimierung
Exchange 2000 optimiert sich in weiten Bereichen selbst. Das ist z.B. schon daran zu erkennen, dass es die "Leistungsoptimierung" von Exchange 5.5 nicht mehr gibt. Es liegt daher in der Hand des Administrators, das System gekonnte einzurichten.
Datenbanken
Im wesentlichen ist hier das Augenmerk auf die Anordnung und Konfiguration der Festplatten zu wenden. Exchange 2000 verlagert keine Datenbanken alleine. Die umschichtung der Datenbanken entsprechend der Festplatten führen Sie mit dem Exchange Systemmanager durch. Der Systemmanager verschiebt alleine die Dateien auf die Zielfestplatten.
Hauptspeicher
Das größte Fragezeichen mit Exchange ist der exorbitante Speicherverbrauch, der Exchange gerne nachgesagt wird. Nun ja ein gutes Pferd darf schon gut im Futter stehen, aber erschreckend ist schon, wenn ein Server mit 512 MByte Speicher auch nach einem Tag auf 700 MByte Speicherbedarf angewachsen ist.
Exchange 2000 schaut sich das System an und entscheidet dann, wie viele Ressourcen es für sich nutzen darf. Gegen wir mal davon aus, dass Exchange funktioniert und kein Bug ein Speicherloch produziert, so kann man im Performance Monitor schön nachsehen, wie hoch die Cache Trefferrate des Dateisystems (Serverdienst) und der Exchange Datenbank (MSEXCHANGEIS) ist. Und Ziel sollte es sei, dass beide Werte hoch sind. Wenn auf ihrem Server noch weitere Dienste gestartet sind (z.B. SQL) , dann sollten auch diese eine reale Chance haben, mit etwas Hauptspeicher zu arbeiten. Denn "langsam" in einem Server ist immer die Festplatte. Es liegen Potenzen zwischen der Zugriffszeit auf Cache, Speicher und Festplatte.
Dazu zählt auch die Auslagerungsdatei. Kein Server kann ohne Programmcode laufen, aber oft gibt es Anteile davon, die sehr selten gebraucht werden. Und diese sind schneller ausgelagert und auch wieder eingelagert, als dass diese "entladen" werden und bei Anfrage erst im Dateisystem gesucht werden, geladen und initialisiert werden müssen. Daher ist es keineswegs "kritisch", wenn ein Server mehrere hundert Megabyte Code "auslagert". Die Größe der Auslagerungsdatei und die Nutzung ist viel weniger wichtig, als eine Aussage zur Aktivität auf der Auslagerungsdatei. Kritisch wird es erst, wenn die Festplatte durch häufiges Ein und Auslagern so beschäftigt wird, dass andere Prozesse darunter leiden.
Daher: Wenn ihr Server mehr Speicher belegt, als sie eingebaut haben, dann lagert er selten genutzte Teile aus. Das ist nicht schlimm, solange der Server nicht nur permanent auslagern muss. Ein Windows NT Server mit Exchange wir immer mehr Speicher belegen, als sie eingebaut haben.
Aber oftmals haben Sie auf einem Server auch andere Programme, von denen Exchange nicht wissen kann, wie viel Speicher diese brauchen. Und dann wünschen wir uns schon, dass wir dem Exchange Server bestimmte Grenzwerte setzen können. Dazu gibt es einen Artikel von Microsoft, anhand Sie hier steuernd eingreifen können.:
Mit dem Programm ADSIEDIT auf den Windows 2000 Support Tools kann man im AD den Maximalspeicher festlegen, den Exchange 2000 nutzen soll. Es wird die Anzahl der 4KByte Seiten angegeben. Die Zahl 128000 steht dann für 500 MB. http://www.Microsoft.com/germany/library/xml/technet/download/d_09_tt1.doc Es ist auch hilfreich, an anderen Stellen einfach nach der Variable "msExchESEParamCacheSizeMax" zu suchen. Sie wird an mehreren Stellen der TechNet beschrieben.
Exchange 2003 Optimierung
Mit Exchange 2003 haben Sich einige Dinge geändert. So meldet Exchange 2003 selbst, wenn aus seiner Sicht die Speicherkonfiguration nicht optimal ist. Allerdings wird die Konfiguration nicht angepasst.
Die Eventlog Meldung verweist direkt auf den entsprechenden Artikel in der TechNet.
Obergrenzen
Auch Exchange 2000/2003 hat einige wichtige Obergrenzen, die Sie wissen sollten:
- 4 GB Ram
Exchange kann nur 2 GB und mit der Option /3GB bis zu 3 Gigabyte Hauptspeicher nutzen. Exchange unterstützt noch nicht PAE oder andere Funktionen - Maximal 8 CPUs
Exchange kann zwar auf Systemen mit mehr als 8 CPUs laufen, aber auch davon nur bedingt gebraucht machen. Insofern sind mehr CPUs nur interessant, wenn andere Prozesse ebenfalls auf dem Server laufen. Sie sollten dann (Windows Datacenter) einstellen, welche CPU von welchem Prozess genutzt wird.
Selbst dann ist es noch ein Problem, wenn die CPUs schneller sind. Exchange kann z.B.: eine 8 CPU Maschine mit 2 GHz eigentlich gar nicht vernünftig nutzen, weil andere Engpässe, z.B.: Festplatte, Bussysteme etc, die Grenze vorgeben.
Windows und Pagefile
Neben dem physikalischen Speicher, der naturgemäß begrenzt ist, nutzt Windows selbst aber eine virtuelle Speicherverwaltung. So hat jeder Prozess auf einem 32-bit Windows 2 Gigabyte bzw. 3 Gigabyte Hauptspeicher zur Verfügung, selbst wenn dieser physikalisch nicht zur Verfügung steht. Brauchen Programme nun mehr Speicher als real vorhanden ist, dann fängt Windows an, Speicher in das Pagefile (auch Swapfile genannt) auszulagern. Im Laufe der Entwicklung gab es verschiedene Empfehlungen für die Größe des Pagefile
- Windows NT4: 12 Megabyte mehr als Hauptspeicher vorhanden war
- Windows 2000: 1,5 fache des physikalischen RAM
Heute im Zeichen der Server mit Gigabytes Hauptspeicher gibt es keine sinnvolle Vorgabe mehr, außer einer Aussage, die schon immer richtig ist:
Der Server braucht immer etwas mehr Speicher, als die Anwendungen benötigen. (Frank Carius)
Denn immer wenn der reale Speicher knapp wird und ein Betriebssystem das "Swappen" anfängt, geht die Performance in den Keller. Und das ist bei den Preisen von Hauptspeicher nicht wirklich eine gute Wahl.
Denken Sie nur eine Sekunden mal nach, was Sie mit einem Pagefile von 1 Gigabyte real anfangen wollen. Wenn ein Prozess z.B. 500 Megabyte RAM anfordert, dann muss Windows erst 500 Megabyte Speicher "auslagern". Selbst mit ganz schnellen Festplatten dauert dies sehr lange. Windows 2000/2003 hat folgende Regel bei einer automatischen Verwaltung des Pagefile:
Pagefilegröße = Minimum von physikalischer Hauptspeicher* 1,5 oder 2GB
Oder als Tabelle:
Physikalischer Hauptspeicher | Pagefile | Resultierender Gesamtspeicher |
---|---|---|
256MB |
384 MB |
640 MB |
512 MB |
768 MB |
1280 MB |
1024 MB |
1536 MB |
2560 MB |
1536 MB |
2048 MB |
3584 MB |
2048 MB |
2048 MB |
4096 MB |
3072 MB |
2048 MB |
5120 MB |
4096 MB |
2048 MB |
6144 MB |
Bei Servern mit mehr als 3,5 GB RAM kann es passieren, dass Speicher bis 4GB nicht immer komplett genutzt werden kann. Die Nutzung von mehr als 3 GB Speicher für einzelne Prozesse funktioniert natürlich weiterhin nur über die PAE-Option oder mit 64bit.
Ich würde ein Pagefile von 2 GB einrichten und die Speicherbenutzung des Servers mit MOM2005 überwachen. Bei Bedarf lässt sich sicher ein Speicherriegel addieren.
Wenn Sie wirklich mehr als 2 GB Pagefile benötigen, dann sollten Sie diese auf verschiedenen Festplatten verteilen, um die Performance nicht allein von dem Durchsatz einer Festplatte abhängig zu machen. Zudem erlaubt Windows normalerweise nur ein Pagefile a 2 GByte pro Partition.
Aber erinnern Sie sich immer daran: Ein Prozess (und die Exchange Datenbank mit dem STORE.EXE ist ein Prozess) kann sowieso nie mehr als 3 GB Speicher direkt adressieren.
- 237740 How to overcome 4,095-MB paging file size limit in Windows
- Pushing the Limits of Windows: Virtual Memory
http://blogs.technet.com/b/markrussinovich/archive/2008/11/17/3155406.aspx
Sehr guter und lesenwerter Artikel - RAM, Virtual Memory, PageFile and all that stuff
http://members.shaw.ca/bsanders/WindowsGeneralWeb/RAMVirtualMemoryPageFileEtc.htm - Artikel zur Pagefilegröße: Pagefile = RAM + 10MB
http://windowsitpro.com/article/articleid/99394/paging-file-sizing-in-exchange-server-2007.html
Weitere Links
- 4GB Ram
-
Understanding the Mailbox Database Cache
http://technet.microsoft.com/en-us/library/ee832793.aspx - Exchange 2000-Interna: Anleitung zur schnellen Optimierung
Optimieren Sie das Leistungsverhalten eines Exchange 2000-Servers auf Basis des lokalen Betriebssystems. http://www.Microsoft.com/germany/technet/inhalte/overview.asp?siteid=284946 -
http://www.Microsoft.com/exchange/techinfo/administration/2000/Tuning.doc
Mit den Parametern kann man den Speicherbedarf extrem senken!
Interessant sind "Store Database Cache Size" und LogBuffers -
3 Basics of Exchange Server Performance
http://msdn.Microsoft.com/library/default.asp?URL=/library/en-us/dnw2kmag01/html/ExchangeServer.asp -
Microsoft Exchange 2000 Internals: Quick Tuning Guide
http://www.Microsoft.com/exchange/techinfo/administration/2000/E2KTuning.asp -
Exchange 2003 Memory Configuration change für Windows 2003 (PAE Support)
http://blogs.technet.com/b/exchange/archive/2005/07/05/407330.aspx - Exchange Kernel Memory, 3GB
http://blogs.technet.com/b/exchange/archive/2005/12/07/415733.aspx - Excessive paging on Exchange 2007 servers when working sets are trimmed
http://blogs.technet.com/mikelag/archive/2007/12/19/working-set-trimming.aspx
Gute Information wie man Paging analysieren kann. - Limiting Exchange 2010 SP1 Database Cache
http://eightwone.com/2011/04/06/limiting-exchange-2010-sp1-database-cache/ - 555223 RAM, Virtual Memory, Pagefile and all that stuff
- 237740 How to overcome 4,095-MB paging file size limit in Windows
176520 XADM: Limiting Memory usage of Exchange Server (nur 5.x) - 189293 XADM: Enabling 4GT Switch When using Windows NT/Enterprise
- 182505 XADM: Memory usage of Store.exe Is Higher in Exchange 5.5
- 257397 XADM: Cannot Set the Maximum Memory Cache Size Smaller Than 2 MB
- 266096 XGEN: Exchange 2000 Requires /3GB Switch with More Than 1 Gigabyte of Physical RAM
- 266768 XSTR: How to Modify the Store Database Maximum Cache Size
- 266650 Information About BackOffice Program Support on Windows 2000 Datacenter Server-Based Computers
- 267551 XGEN: Modifying Exchange 2000 Server File Handle Cache Parameters
- 267551 XGEN: Modifying Exchange 2000 Server File Handle Cache Parameters
- 267255 XADM: Store.exe Threads use up Available Memory
- 272537 XADM: Virtual Memory Notification Is Calculated Incorrectly
- 276081 XADM: Information Store Service Responds Sluggishly and Consumes 90 to 100 Percent of CPU Time
- 283037 Large memory support is available in Windows 2000 and Windows Server 2003
- 291988 A description of the 4 GB RAM Tuning feature and the Physical Address Extension switch
- 296073 XADM: Monitoring für Exchange 2000 Memory Fragmentation
- 298064 XGEN: Scalability Planning für Exchange 2000 Server
- 302254 XADM: Computer That Is Running Exchange 2000 and Windows 2000 Server May Run Out of Virtual Memory with Event ID 12800
- 300573 Exchange 2000 Enterprise server support on Windows 2000 Datacenter Server
- 325044 HOW TO: Troubleshoot Virtual Memory Fragmentation in Exchange 2003 and Exchange 2000
- 328882 Exchange Memory use and the /3GB Switch
- 815372 How to Optimize Memory usage in Exchange Server 2003
- 823440 You must use the /3GB switch when you iInstall Exchange Server 2003 on a Windows Server 2003-based system
- 827281 CPU and Memory Scalability für Exchange 2000 and Exchange 2003
- BLOG: Why is Exchange Store.exe so RAM hungry? http://blogs.msdn.com/exchange/archive/2004/08/02/206012.aspx
- Tuning Windows Server 2003 on IBM System x Servers http://www.redbooks.ibm.com/redpapers/pdfs/redp3943.pdf
Sie können hier dann bestimmte Werte (z.B. Anzahl der Benutzer) eingeben, so dass Exchange sparsamer mit Speicher umgeht. Sie sollten aber wissen, was sie tun.