# ISO 14756

Die ISO-Norm ISO 14756 beschreibt eine methodische Vorgehensweise zur Messung und Bewertung der Software-Effizienz von DV-Systemen. Performance-Analysen im Multi-User-Betrieb können durch Softwarelösungen mit Unterstützung der ISO-Methode durchgeführt werden. Dadurch lassen sich Engpässe, Performance-, Konfigurations- und Synchronisationsprobleme aufdecken und analysieren.

## Geschichte

Ende 1991 erfolgte die Festlegung von Teil 1 als nationale Norm DIN 66273: „Messung und Bewertung der Leistung von DV-Systemen; Mess- und Bewertungsverfahren“, die unter Beteiligung von Großanwendern und Herstellern entwickelt wurde. Im Jahr 1999 wurde diese in die ISO 14756: „Information technology – Measurement and rating of performance of computer-based software systems“ überführt.

## Ziel der Norm

Seit 1991 gibt es die nationale Norm DIN 66273, die inzwischen in die internationale Norm ISO 14756 überführt wurde, Teil 1, mit dem Titel: "Messung und Bewertung der Leistung von DV-Systemen". Sie beschreibt ein Mess- und Bewertungsverfahren für die Performance von IT-Anwendungen. Die Norm wurde unter Beteiligung von Großanwendern und Herstellern entwickelt.
Die ISO 14756 ist eine methodische Vorgehensweise der Leistungsbeurteilung von komplexen IT-Systemen. Die Bewertung erfolgt gegen ein theoretisches Referenzmodell aus Sicht der Anwenderschaft. Es werden Antwortzeiten von Tätigkeiten vorgegebener Nutzungs-Szenarien bzw. Use-Cases gemessen und die Ergebnisse mit entsprechend definierten Grenzwerten verglichen. Die Methode DIN/ISO unterstützt bei der Modellierung und Generierung von Lasttest-Szenarien der statistischen Auswertung von Lastmessungen. Durch die Auswertung gegen ein Zeitklassenschema für die erwarteten Antwortzeiten erhält man nicht nur statistische Informationen über das Antwortzeitverhalten, sondern eine Bewertung der Messergebnisse, die eine eindeutige Beurteilung der Leistungsfähigkeit des vermessenen IT-Systems zulässt.

## Durchführung einer Leistungsmessung nach ISO

Eine Leistungsmessung nach ISO wird in 3 Stufen durchgeführt:
* Erstellung des Anforderungsprofils
* Durchführung der Messung
* Auswertung und Berechnung der ISO-Bewertungsgrößen

### Erstellung eines Anforderungsprofils

Das Anforderungsprofil umfasst die Beschreibung der auf dem Zielsystem arbeitenden Endbenutzer (user). Zunächst müssen die einzelnen Aufträge (task), die dem IT-System zu übergeben sind, genau beschrieben werden. Dies erfolgt in der Regel durch ein Manuskript mit den notwendigen Aktionen. Dazu müssen auf Basis des Benutzerverhaltens Zeitvorgaben gemacht werden: Wie lange soll nach einer Bildschirmausgabe gewartet werden, bis ein neuer Auftrag (task) über die Tastatur oder die Maus eingegeben wird? Mit diesen Wartezeiten, auch Denkzeiten genannt (preparation time), werden unvermeidliche Denkpausen, Arbeitspausen und andersartige Tätigkeiten (z. B. Gespräch mit einem Kunden am Bankschalter) nachgebildet. Schließlich soll festgelegt werden, wie lange die Bearbeitung eines Auftrags (execution time) dauern darf. Dabei sollen sinnvolle Zeitforderungen vorgegeben werden: Bei einem Kundengespräch in einem Reisebüro stört eine Bearbeitungszeit für eine Platzbuchung von 5 bis 10 Sekunden sicher niemanden, wogegen eine Bearbeitungszeit von einer hundertstel Sekunde wenig praktischen Nutzen hat. Die Antwortzeitforderungen werden bei der ISO 14756 in Form von Zeitklassenschemata (timeliness function) vorgegeben, in denen angegeben wird, welcher Anteil der Antwortzeiten welchen Grenzwert nicht überschreiten darf.
ISO-14756-Elemente müssen daher zur Durchführung von Leistungsmessungen gemäß den Kundenvorgaben konfiguriert und parametrisiert werden.
Folgende Konfiguration der Lastdefinition werden mittels
* User Type = Benutzergruppe
* Chain Type = Kette von Aufträgen
* Task Type = Auftragsart, Festlegung durch Durchlaufzeitforderung und Denkzeit
* Preparation Time = Denkzeit
sowie der Antwortzeitvorgaben durch
* Timeliness Function = Durchlaufzeitforderung
beschrieben.
Beispiel: Antwortzeitforderung (timeliness function) für Auftragsart (activity type) Flugbuchung
Beispiel: Antwortzeitforderung (timeliness function) für die Auftragsart (activity type) Flugbuchung
* 40 % nicht länger als 5 sec
* 80 % nicht länger als 15 sec
* 100 % nicht länger als 30 sec
Die Anzahl der Zeitklassen, die in einer Antwortzeitforderung (timeliness function) verwendet werden (im Beispiel sind es 3), kann der Anwender entsprechend seinen Bedürfnissen frei wählen. Nicht jeder Benutzer einer Benutzergruppe (user type) soll die gleiche Folge von Aufträgen (task) mit jeweils gleichen Denkzeiten (preparation time) eingeben. Dies würde einem völlig praxisfremden Synchronarbeiten der Benutzer entsprechen. Vielmehr werden die Aufträge aus einem bestimmten Vorrat zufällig zusammengestellt und auch die Denkzeiten werden – unter Vorgabe eines Mittelwertes und einer Streuung – von einem Zufallsgenerator ermittelt. Dabei muss selbstverständlich die Tatsache berücksichtigt werden, dass bestimmte Aufträge nur in einer bestimmten Reihenfolge durchführbar sind, was durch die Bildung von Auftragsketten (Chain Type) gewährleistet wird.

### Durchführung einer Messung

Die Durchführung einer Messung kann durch Lasttreibersysteme vereinfacht werden, die eine Messung nach ISO unterstützen.
Bei der Durchführung der Messung sind einige statistische Elemente zu beachten. Der Lasttreiber simuliert das statistische Verhalten einer realen Benutzerschaft.
* Anteil (Auftrittswahrscheinlichkeit) einer Auftragskette eines Benutzers
* Vorgabe der (Denkzeit) durch Mittelwert und Standardabweichung
* Freilaufender Zufallsgenerator mit entsprechender Parametrisierung

### Auswertung einer Messung

Geeignete Testtreibersysteme beinhalten entsprechende Auswertesoftware, die aus den Aufzeichnungen einer Messung sämtliche Bewertungsgrößen nach ISO 14759 berechnen. Die ISO 14759 kennt drei Bewertungsgrößen:
$R_{TH}$, ($L_{1}$) : Durchsatz
$R_{ME}$, ($L_{2}$) : Auftragsdurchlaufzeit (Antwortzeit)
$R_{TI}$, ($L_{3}$) : Termintreue
Alle drei Bewertungsgrößen sind Relativzahlen im Verhältnis zu Referenzwerten. Die Referenzwerte werden für eine theoretische Referenzmaschine ermittelt. Das ist ein System, das in seinem Antwortzeitverhalten genau den aufgestellten Antwortzeitforderungen entspricht. Die Größe RTH beschreibt die Anzahl der bearbeiteten Aufträge in der Zeiteinheit (relativ zur Referenzmaschine), die Größe RME gibt die mittlere Antwortzeit im Verhältnis zur Referenzmaschine wieder und die Größe RTI gibt den Anteil der termingerecht erledigten Aufträge im Verhältnis zur Anzahl der erteilten Aufträge an.
Die ISO-Bewertungsgrößen sollten nicht unter einem Wert von 1.0 liegen. Ein Wert unter 1.0 bedeutet, dass für die betrachtete Auftragsart das System nicht den vorher im Anforderungsprofil aufgestellten Forderungen entspricht.
Um die Grenzlast eines Systems zu ermitteln führt man eine Messreihe durch, bei der die Zahl der simulierten Benutzer so lange gesteigert wird, bis mindestens eine der ISO-Bewertungsgrößen unter 1.0 fällt. In Abbildung 1 ist in einem Beispiel der Verlauf der ISO-Bewertungsgrößen abhängig von der Benutzerzahl dargestellt. Die jeweils drei unterschiedlichen Kurven 1, 2 und 3 stellen den Verlauf für 3 verschiedene Auftragsarten dar. Diejenige ISO-Bewertungsgröße, die bei der niedrigsten Benutzerzahl unter 1 sinkt, ist die Antwortzeitbewertung RME von Auftragsart drei (bei etwa 270 Benutzern).
Neben den eigentlichen Bewertungsgrößen enthält eine ISO-Auswertung noch eine Reihe von Kontrollwerten, welche die Funktion des Treibers und die statistische Qualität der Messung beurteilen. So muss nach geprüft werden, ob die als Vorgabe gemachten Denkzeit-Verteilungen (Mittelwert und Standardabweichung) tatsächlich eingehalten worden sind. Außerdem müssen die Anteile der verschiedenen Auftragsketten, die jeder simulierte Benutzer in zufälliger Folge abgesetzt hat, den für die jeweilige Benutzergruppe vorgegebenen Mittelwerten entsprechen. Zur Beurteilung der statistischen Qualität der Messung wird das Konfidenzintervall des Mittelwertes der Antwortzeit berechnet. Über die Größe der noch hinnehmbaren Abweichungen des Treibers bei Denkzeiten und Auftragsanteilen, sowie über die maximale Breite des Konfidenzintervalls und die Höhe des Konfidenzniveaus macht die ISO 14759 keine Zahlenangaben. Die Zahlenwerte sollen aber vor der Messung festgelegt werden und bei Messreihen und unterschiedlichen Messobjekten immer gleich bleiben.