Mit den Tipps und Workshops im ADMIN-Magazin 03/2013 sichern Administratoren ihre Webserver und Netze gegen Angriffe ab: gegen Abhören sensibler Informationen, ... (mehr)

TKperf-Testszenarien

Für SSDs stehen ein Bandbreiten-, ein IOPS-, ein Latenz- und ein Sättigungstest zur Auswahl. Listing 1 zeigt die Ausgabe von TKperf während der Tests einer Intel DC S3700 200 GByte SSD.

Listing 1

TKperf-Resultat

 

Die Tests zu Bandbreite, IOPS und Latenz zeigen einige Gemeinsamkeiten, die sich auch in den aufbereiteten Grafiken widerspiegeln. Für diese Tests gilt, dass sie rundenbasiert ablaufen und in jeder Runde Messgrößen aufgezeichnet werden. Unter Einbeziehung einer sogenannten Dependent Variable wird errechnet, ob sich die SSD in einem stabilen Zustand befindet. Dadurch sollen Messungen im "Fresh out of the Box" oder in undefinierten Übergangsphasen zwischen unterschiedlichen Workloads nicht zu den Messergebnissen beitragen. Nur wenn die Werte der Dependent Variable über die letzten Runden hinweg stabil ist, gehen die Werte dieses "Measurement Windows" ins Testresultat ein.

IOPS gemessen

Am Beispiel einer IOPS-Messung erläutern die folgenden Abschnitte des Artikels den Ablauf eines Tests: vom Secure Erase über die Prüfung des stabilen Zustands bis hin zur Darstellung der Ergebnisse. Zu Beginn eine Definition jener Begriffe, die für die rundenbasierten Tests von Bedeutung sind:

  • Dependent Variable: Sie ist für die Prüfung nötig, ob der Stable State erreicht wurde. Diese Variable wird von der Spezifikation vorgegeben und setzt sich aus einer Workload- und Block-größen-Kombination zusammen. Für den IOPS-Test ist diese Variable gleich den erreichten IOPS beim zufälligen Schreiben mit einer Blockgröße von 4 KByte (KB).
  • Steady State: Der Zustand, in dem die zuletzt gemessenen Werte nicht allzu sehr voneinander abweichen. Die Parameter für die Entscheidung, ob der Steady State erreicht wurde, sind zum einen die Steigung der Geraden, die den nächsten Wert vorhersagt, als auch die Differenz zwischen dem größten und kleinsten gemessenen Wert. Die Messwerte der vorher gehenden fünf Runden dienen als Bezugsvariablen für den Steady State. Der Steady State Verification Plot zeigt die Entwicklung der Dependent Variable und belegt, dass sich die SSD in einem stabilen Zustand befindet (Abbildung 1). Der Pseudo-Code des IOPS-Test veranschaulicht, welche Operationen in einer Runde durchgeführt werden (Listing 2).

Listing 2

Pseudo-Code des IOPS-Tests

 

Abbildung 1: Der Steady State Verification Plot belegt den stabilen Zustand der SSD, der in einem Test-Setup erreicht werden muss, damit die Ergebnisse der Spezifikation genügen.

Im Detail bedeuten die einzelnen Schritte:

1. Ein Secure Erase garantiert, dass sich die SSD in einem definierten Ausgangszustand befindet.

2. Zur Präkonditionierung wird das Device zwei Mal (sequentielle Zugriffe mit 128 KByte Blockgröße) überschrieben.

3. Solange der Steady State nicht erreicht ist, werden in jeder Runde verschiedene Kombinationen aus Mixed Workloads und Blockgrößen gestartet. Ein Workload von 100 bedeutet 100 Prozent Lesezugriffe, 95 steht für 95 Prozent Lese- und 5 Prozent Schreibzugriffe und so weiter. Für den IOPS-Test werden dabei immer zufällige Zugriffe (Random I/Os) verwendet. Als Dependent Variable werden die IOPS beim Schreiben mit 4 KByte Blockgröße genutzt. Der Steady State Convergence Plot zeigt die Entwicklung aller Blockgrößen (inklusive der Dependent Variable) für zufälliges Schreiben (Abbildung 2).

Abbildung 2: Der Steady State Convergence Plot zeigt die Entwicklung der Dependent Variable (schwarze Linie), als auch die anderen Blockgrößen für zufälliges Schreiben.

Befindet sich das Device in einem stabilen Zustand, werden der Testlauf beendet und die Messwerte für die Diagramme aufbereitet. Dazu berechnet TKperf für die Messgrößen (Workloads und Blockgrößen) den Mittelwert im Measurement Window. Die berechneten Werte stellt der Measurement Plot gesammelt dar (Abbildung 3).

Abbildung 3: Der Measurement Plot zeigt die errechneten Mittelwerte im Measurement Window.

Das vorhergehende Beispiel des IOPS-Tests hat den grundlegenden Ablauf gezeigt, in dem die Messergebnisse ermittelt werden. Für den Bandbreiten- und den Latenztest gelten andere Workloads, Blockgrößen und Dependent Variablen. Welche das sind, zeigt Tabelle 1.

Tabelle 1

Testparameter für Bandbreiten- und Latenz-Test

Test

Workloads

Blockgrößen

Dependent Variable

Bandbreite (Throughput)

Sequentiell: 100 (nur lesen), 0 (nur schreiben)

1024 KByte, 64 KByte, 8 KByte, 4 KByte, 512 Byte

Sequentielles Schreiben mit 1024 KByte Blockgröße

Latenz (Latency)

Zufällig: 100, 65, 0

8 KByte, 4 KByte, 512 Byte

Zufälliges Schreiben mit 4 KByte Blockgröße

Ähnliche Artikel

comments powered by Disqus

Artikel der Woche

Eigene Registry für Docker-Images

Wer selber Docker-Images herstellt, braucht auch eine eigene Registry. Diese gibt es ebenfalls als Docker-Image, aber nur mit eingeschränkter Funktionalität. Mit einem Auth-Server wird daraus ein brauchbares Repository für Images. (mehr)
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Konfigurationsmanagement

Ich konfiguriere meine Server

  • von Hand
  • mit eigenen Skripts
  • mit Puppet
  • mit Ansible
  • mit Saltstack
  • mit Chef
  • mit CFengine
  • mit dem Nix-System
  • mit Containern
  • mit anderer Konfigurationsmanagement-Software

Google+

Ausgabe /2019