Annahmen zu Nutzungsprofilen im Wirkbetrieb
R 2.2.0
Voraussetzungen
Wie im Thema Leistungseffizienz beschrieben kann es notwendig werden, mögliche Rahmenbedingungen wie erwartete Zugriffs- oder Nutzerzahlen für die Tests zu schätzen. Eine Schätzung oder Berechnung der erwarteten Werte dieser nicht-funktionalen Anforderungen ist - inkl. einer gewissen Schwankung - durchaus möglich.
Realistische Tests, die eine hinreichende Analysetiefe bieten, sind wesentliche Bestandteile „guter“ Performancetests. Es geht nicht nur darum, eine große Anzahl von Transaktionen zu simulieren, sondern auch darum, reale Benutzerszenarien in Modellen vorwegzunehmen, die einen Einblick in die Leistung Ihres Produkts im Live-Betrieb geben. Performancetests erzeugen riesige Datenmengen. Gut geplante Tests ermöglichen eine schnelle und genaue Analyse auftretender Leistungsprobleme und ihrer Ursachen.
Benötigt werden dafür:
-
Zu erstellende (Test-)Datenmenge
-
Definition der nicht-funktionalen Anforderungen in messbarer Form
-
Informationen über zu erwartende Zugriffshäufigkeiten (z.B. Zugriffe pro Stunde)
-
Erwartete Zugriffsgeschwindigkeit (z.B. Antwortzeit des Systems maximal 3 Sekunden pro Anfrage)
-
Speichernutzung (z.B. Arbeitsspeicherverbrauch von Transaktionen in GB usw.)
-
-
Dokumentation der Akzeptanzkriterien
-
Aufbau eines separaten Testsystems
-
Vorbereitung des Testsystems
-
Installation neuer Software
-
Schnittstellenaufbau/Mocks
-
Beladung des Systems mit Testdaten/Testnutzern
-
Um die konkrete Last zu berechnen, kann man mit folgender Checkliste arbeiten:
-
Welche Nutzerklassen und Rollen gibt es?
-
z.B. Rollen wie Erfasser, Bearbeiter, Auswerter, Kontrolleur oder Administrator siehe auch folgendes Beispiel
-
-
Wie viele Nutzer werden gleichzeitig auf das System zugreifen?
-
Inhalt von Anforderungslisten in Spezifikationen
-
Erfahrungswerte ähnlicher Prozessen
-
Schätzungen
-
Gesamtzahl
-
Verteilung über den Tag/die Arbeitszeit
-
Beispiel zur Bildung von Nutzungsprofilen
Im Beispiel wird von einem zu prüfenden Prozess ausgegangen, bei dem Erfassung, Bearbeitung, Auswertung und Kontrolle aufeinander aufbauende Schritte darstellen.
Die Erfassung erfolgt durch Sachbearbeiter unterschiedlicher Behörden, zu deren Anzahl ein Aufschlag von ca. 10% als Sicherheitsreserve hinzugefügt wird.
Dieses Modell zeigt einen beispielhaften Prozess, der von vier unterschiedliche Nutzergruppen in den Prozessschritten ausgeht.
In der Praxis steht zunächst eine Analyse dieser Rahmenbedingungen an.
Hierbei gilt: Eine ungenaue Schätzung ist immer besser als gar keine zu haben!
Erste Schätzung aufgrund von Erfahrungswerten:
Größe | Menge |
---|---|
Anwender |
1.900 |
Erfassungen/h |
4 |
Summe/h |
7.600 |
Anwenderprofile ermittelt aus Befragungen:
Anwenderprofil | Akteure | Anzahl |
---|---|---|
Erfasser |
1) BVA |
1) < 500 |
Bearbeiter |
BVA |
< 15 |
Auswerter |
BVA |
< 15 |
Kontrolle |
BVA |
< 5 |
Es wird in unserem Beispiel eine Lastenverteilung anhand eines Modells angenommen, das einen typischen Arbeitstag in die vier verschiedenen Phasen Aufwärm-, Betriebs, Höchstlast- und Abkühlphase aufteilt. Das Mengengerüst aus den Befragungen sind in der folgenden Tabelle zu finden.
Je nach Einsatzbereich bedarf es der eingehenden Analyse, um passende Annahmen der Lasten treffen zu können. So können saisonale Unterschiede oder Nutzer in unterschiedlichen Zeitzonen andere Einteilungen erfordern, um nur zwei Beispiele zu nennen.
Aufwärmphase | Betriebsphase | Höchstlastphase | Abkühlphase | |
---|---|---|---|---|
Beginn |
09:00 |
10:00 |
14:00 |
16:00 |
Ende |
10:00 |
14:00 |
16:00 |
17:00 |
Nutzer |
380 |
1520 |
1900 |
760 |
Erfassungen/h |
1 |
4 |
6 |
1 |
Summe |
380 |
6080 |
11.400 |
760 |
Nutzer |
3 |
12 |
15 |
6 |
Bearbeitungen/h |
3 |
6 |
8 |
2 |
Summe |
9 |
72 |
120 |
12 |
Nutzer |
3 |
12 |
15 |
6 |
Auswertungen/h |
1 |
6 |
8 |
2 |
Summe |
3 |
72 |
120 |
12 |
Nutzer |
1 |
4 |
5 |
2 |
Kontrolle/h |
1 |
2 |
4 |
1 |
Summe |
1 |
8 |
20 |
2 |
ca. 26 konkurrierende Anwender in der Sekunde zur Höchstlastphase (Berechnung s.u.) |
Berechnung:
Max N * Zeit / 3600s = Nutzer/Sekunde
Max N = Maximale Anzahl von Nutzern zur Höchstlastzeit
Zeit = Anzahl der Stunden des gesamten Betriebszeitraums
3600 Sekunden = 1 Stunde
(11.400 + 120 + 120 + 20) * 8 / 3600 ⇒ 25,9 ⇒ ca. 26 Nutzer / Sekunde
In diesem fiktiven Prozess ergibt sich nach der Analyse der Daten aus der Höchstlastphase ein Spitzenwert von ungefähr 26 konkurrierenden Zugriffen pro Sekunde.
Es wird empfohlen, für solche Tests unbedingt eine eigene Testumgebung aufzusetzen, um eine Blockade der Entwicklung und der dazugehörigen Tests durch die Durchführung des Leistungseffizienztests zu verhindern.
Quellen
-
Microsoft Learn, Entwurfsprinzipien für die Leistungseffizienz, abgerufen am 16.12.2024