Disktest

Alle Skripte sind Muster ohne jede Gewährleistung oder Funktionsgarantie. für Schäden bin ich nicht verantwortlich.

VBScript und 64Bit !
Viele 32bit COM-Objekte lassen sich auf einem 64bit System nur instanziieren, wenn die 32bit Version von CSCRIPT/WSCRIPT genutzt wird, welcher unter C:\Windows\SysWOW64\cscript.exe liegt.

Disktest ist ein kleines handliches VBScript, welches einfach eine Testdatei im aktuellen Verzeichnis beschreibt und misst, wie viele 100k Lücke innerhalb einer Sekunden geschrieben werden können. Sicher gibt es sehr viele andere Testprogramme wie DT, NETIO, IOMETER etc. Um vergleichbare Tests zu entwickeln, aber diese Programme versuchen eine längere Zeit Daten zu schreiben und dann am Ende einen Performancewert auszugeben.

Bei diesen Messungen bleiben aber kurze Aussetzer oder Performanceeinbrüche unbemerkt. So kann ich von einem Supportfall berichten, bei dem sogar ein sehr leistungsfähiges SAN manchmal für wenige Sekunden "pausiert" hat. Das war im laufen Betrieb kaum zu bemerken und letztlich haben Anwender sich beschwert, dass manchmal das öffnen einer Datei auf dem Dateiserver länger gedauert hat. Erst ein Test mit kontinuierlicher Last hat die Einbrüche angezeigt. Interessant war, dass bei dieser Pause die Performance Counter (Disk Queue Length) nicht nach oben sondern auf 0 gegangen sind.

Um den Fehler einzukreisen wurde der Test dann auch auf anderen Servern am SAN durchgeführt mit dem Ergebnis, dass diese auch das gleiche Verhalten haben und es letztlich am Storage gelegen hat. Der "Fehler" ist aber bei den anderen Server gar nicht vorher aufgefallen. Selbst die Überwachung der SAN-Belastung hat ja keine Überlastung der Verbindungen gezeigt sondern man hätte eher auf "Pausen" achten müssen.

Ich habe darauf gelernt, noch intensiver den Massenspeicher einem Test zu unterziehen.

Download

Das Testskript ist wieder einmal in VBScript geschrieben und kann daher von ihnen ganz einfach eingesehen, kontrolliert und verändert werden

disktest.1.1.vbs.txt

Laden Sie das Skript einfach herunter und ändern Sie die Erweiterung in VBS ab.

Einsatz

Der Aufruf erfolgt dann in einer DOS-Box mit "CSCRIPT.EXE". Der Aufruf mit WSCRIPT (z.B.: mit einem Doppelklick) bewirkt, dass Sie jede Bildschirmausgabe als Popup erhalten. Starten Sie das Skript daher unbedingt mit CSCRIPT.EXE

Das Skript erwartet noch eine Bestätigung durch die "ENTER"-Taste, ehe es startet. 

Disktest DOS-Box

Das Skript läuft endlos und sie müssen es daher mit CTRL-C abbrechen. Vergessen Sie nicht danach die Datei "DISKTEST.TMP" zu löschen. Die Bildschirmausgabe zeigt sowohl numerisch den Durchsatz als auch als kleines Balkendiagramm.

Statistische Auswertung

Seit der Version 1.1 schreibt das Skript die aktuellen Durchsatzraten zusammen mit einem Zeitstempel in eine CSV-Datei, welche man dann später z.B. mit Excel auch auswerten kann.

Durchsatzchart

Natürlich können Sie das Skript auch einfach etwas anpassen, so dass es nach einer definierten Zeit sich einfach beendet, oder immer mal wieder eine Pause einlegt und nur Stichproben misst. Mit etwas VBScript Kenntnissen ist es sehr einfach, so etwas zu ergänzen. für mich ist es ein nur kleines Dauertestskript.

Weitere Links