Jetstress

Jetstress und ESP (Exchange Stress and Performance Tool) sind unterschiedliche Programme

Sie finden hier sowohl Bilder von JetStress 2004 als auch die neuere Jetstress Versionen. Die aktuelle Version ist eher im Stil von ExBPA und anderen Tools. Die Bedingung ist aber so oder so sehr einfach.

Ein wichtiger Schritt bei der Installation eines Exchange Servers ist ein Test der Hardware im Hinblick auf die Performance (Siehe auch Exchange Leistungstest). Nun gibt es mehrere Programme, um verschiedene Komponenten zu testen. Einige testen einzelne Hardwarekomponenten wie DT Performance Messung und NETIO, IPERF und TTCP. Andere Tools wie MMB2 testen den MAPI-Benchmark. JetStress hingegen simuliert einfach den Zugriff eines Exchange Servers auf die Festplattensubsysteme und ist damit ein guter Gradmesser für die Leistung eines Systems und besonders den Vergleich zweiter Systeme. Zudem ist es ein Belastungs- und Stabilitätstest. Ich setze Jetstress daher gerne ein bei:

Allerdings testet JetStress nur das Subsystem mit einer typischen Exchange Belastung. Der Test ist daher nur bedingt repräsentativ aber für Größenordnungen und vor allem als Stabilitätstest wichtig. Am Ende dieser Seite liste ich ähnlich wie bei  DT einige Messergebnisse mit Standardeinstellungen auf. Ich würde mich über ihre Messergebnisse freuen.

Jetstress auf einem bestehenden Server

Es ist eher ungewöhnlich einen Server zu "stressen", auf dem Exchange schon installiert ist. Es ist aber dennoch möglich, wenn Sie die passenden DLLs vom Exchange Programmverzeichnis  in das JetStress-Verzeichnis kopieren. Relevant sind dabei

Wenn Sie später dann allerdings JetStress deinstallieren, dann werden die Performance Counter irrtümlicherweise entfernt. aber auch das kann wieder duch zwei Aufrufe in der DOS-Box gelöst werden.

C:\> unlodctr ESE
C:\> lodctr esperf.ini

Voraussetzungen und Installation

Jetstress ist kein "mal eben so"-Testprogramm, sondern läuft mehrere Stunden und belegt mehrere Gigabyte. Schnellere Aussagen zur Festplatten und Netzwerken erhalten mit DT  und NETIO. Allerdings sind diese natürlich dann nicht speziell auf Exchange abgestimmt.

Um Jetstress einsetzen zu können müssen einige Vorbedingungen erfüllt sein

JetStress
http://www.Microsoft.com/downloads/details.aspx?FamilyId=94B9810B-670E-433A-B5EF-B47054595E9C&displaylang=en

Microsoft Exchange Server Jetstress Tool (64 bit)
http://www.microsoft.com/downloads/details.aspx?familyid=73dfe056-0900-4dbb-b14a-0932338cecac&mg_id=10095&displaylang=en

Übrigens: Unter "231619 How to use the SQLIOSim utility to simulate SQL Server activity on a disk subsystem" gibt es ein ähnliches Programm für SQL.

JetStress ist danach schon einsatzbereit und Sie haben die Wahl zwischen einer Kommandozeile (JetStress.exe) und einer grafischen Version "JetStressUI.exe".

Nach dem Start von JetStressUI werden die erforderlichen Startvoraussetzungen geprüft und Fehler entsprechend angezeigt. Ist auf ihrem Server noch kein Exchange installiert, dann müssen Sie die ESE-Dateien kopieren und JetStress registriert auch die erforderlichen Performance Counter für Sie.

Danach zeigt sich JetStress sehr aufgeräumt und mit einem "Start" würde der Test auch sofort los laufen, wenn da nicht noch der IIS-Admin Dienst wäre. Dieser muss bei der Nutzung von "JetStress" gestoppt sein.

Allerdings sind die Standardwerte natürlich etwas gefährlich, da 100 MByte mit 4000 Benutzern eben 400 Gigabyte Datenbanken ergeben. Das ist zwar ein guter Performance und Lasttest aber sicher nur für wenige Systeme eine sinnvolle Größe. Daher werden die Tests mit kleineren Werten durchgeführt. Allerdings warnt JetStress, wenn die Datenbank kleiner als 512 Megabyte wird. Zudem ist es erforderlich, dass Datenbank und Transaktionsdateien auf unterschiedlichen Laufwerken liegen. Dies ist meist der Fall. Ansonsten müssen Sie die Kommandozeilenversion JetStress.EXE nutzen. (Siehe Dokumentation zu JetStress). Alternativ können Sie über die Checkbox "NAS Device" eben diese Prüfung abschalten, aber dann nutzt JetStress auch nicht mehr die Performance Counter "Physical Disk" sondern die Counter von ESE, welcher natürlich nicht so genau sein können.

Die Funktion "Backup Path" erlaubt es, eine Musterdatenbank immer wieder als Quelle zu verwenden, so dass die Testergebnisse auch nachvollziehbar sind. Während des Tests protokolliert JetStress die Daten auf dem Bildschirm und in eine Textdatei. Interessant hierbei ist natürlich auch ein Blick auf Perfmon und hier insbesondere auf die Festplattenwerte:

Sowohl die Warteschlangenlänge als auch die mittlere Zeit für Schreib und Lesezugriffe sind hierbei interessant. Eine lange Warteschlange ist ein Zeichen dafür, dass viel Last ansteht. Sie sollte aber bald wieder sinken. Die Zeit ist eine Maß, wie lange eine Operation auf die Ausführung warten muss. Dies ist besonders bei Transaktionsprotokollen kritisch und wichtig für die Performance.

Folgende Werte nutze ich für die nachfolgenden Tests

Alle anderen Werte bleiben gleich. Mit diesen Werten legt JetStress eine 10 Gigabyte Datenbank (Anzahl der Mailboxen x Mailboxgröße) an. Während des Tests benötigen Sie aber Platz für Transaktionsdateien, so dass Sie insgesamt 7,5 GB * 1,67 = 12,525 GB bereitstellen müssen.

Ergebnisse

JetStress dient zum einen zur Ermittlung der Diskperformance, aber kann quasi nebenbei auch die Zuverlässigkeit des Systems prüfen. JetStress legt ja einige Datenbanken an und prüft am Ende auch deren Konsistenz. Hier muss die "Null Toleranz-Regel" gelten: (Datei DBChecksum_yyyy_m_t_hh_mm_ss.html)

Jetstress Checksum Result

In der zweiten Datei "Performance_yyyy_m_t_hh_mm_ss.html" finden Sie die interessanten Performance Counter

Jetstress Performance Report

Hier interessiert zum einen die durchschnittliche Wartezeit für IOs als auch die Gesamtzahl der IOs.

Folgende Testergebnisse sind ermittelt worden und können als Vergleich herhalten.

Datum
MM/JJ
System
CPU/Takt
Controller
RAID-Level:Disk
I/O pro Sec
08/05 FSC RX100S2
DualP4/3GHz
LSI Embedded SATA
RAID1: 2x150 GB SATA
 
Jun 06 HP DL380 G4
Dual Intel Xeon 3,4GHz
HP Smart Array 6i im Simplex Modus
Raid1:2 x 72 GB 15k SCSI (System + Log)
Raid 5: 4 x 72 GB 15k SCSI (Daten)
319,62
Details: JetStress Test01
Jun 06 Dual Intel Xeon 3
2 3 GB Ram
DB und Logs auf einer EVA 4000 Storage
40 300 GB SCSI Disks
418,09
Details: Jetstress Test02
Jun 08 2xQuadXean 3 GHz
Windows 64bit 32GB Ram
Emulex 4 GBit SAN auf HP EVA 6000 mit RAID10 5681 IOPS
Dez 09 DELL R710
2x Intel Xeon E5530 2,4GHz, 12GB Ram
Disk1 Intern HD 2x 146GB SAS 15K Raid1
Disk2 4x600GB SAS 15K RAID10 auf ext. SAS Storage MD3000
217 IOPS

 

, 8MB Cache, 5,86GT/s QPI, Turbo, HT) 12GB Memory for 2CPU (6x2GB Dual Rank RDIMMs) 1066MHz Disk1 Interne HD 2x 146GB SAS 15K Raid1  (OS und LOG auf gleicher Partition) Disk2 4x 600GB SAS 15K RAID10 auf ext. SAS Storage MD3000

 

 

Die Testergebnisse sollten Sie nicht als Referenz verstehen, sondern nur als grobe Richtwerte. Viele Server lassen sich an vielen Stellen tunen, z.B. Schreibcache auf dem Controller, Änderung der RAID-Level etc. Insofern ist allein das Ergebnis I/O pro Sekunde kein alleiniges Vergleichskriterium.

Sie können mir gerne ihre Messwerte und Erfahrungen mitteilen.

Weitere Links

Keywords:Test JetStress