© Excellent backgrounds/Shutterstock.com
Java Magazin
Kapazität

Es ist zum Haare raufen

Von allen Qualitätsmerkmalen erscheint die Systemkapazität oft als die Schwierigste. Sie hat die unangenehme Eigenschaft sich unter Last zu verändern. Kaum ist man der Meinung, nun laufe das System endlich stabil, taucht schon ein neues Szenario auf, das wieder eine Outage verursacht. Es ist zum Haare raufen - aber dafür bleibt es immer interessant!

Nicolas Bär, Daniel Takai, Christian Wittwer


Die Kapazität bezeichnet die Anzahl der Transaktionen, die ein System bei akzeptabler Performance leisten kann. Um sie zu ermitteln, entwirft man Lastszenarien und misst dann die Antwortzeit für 50, 100 oder 1 000 Benutzer. Die Kapazitätsgrenze ist der Punkt, an dem die Performance schließlich einbricht. Eigentlich ganz einfach, aber leider gibt es eine sehr große Anzahl von möglichen Lastszenarien, und das Verhalten der Anwendung kann je nach Szenario stark variieren. Man ist also gut beraten, sich auf die wahrscheinlichsten Szenarien zu konzentrieren. Aber welche sind das und welche Einflussfaktoren spielen die größte Rolle?

„Capacity is fundamentally a measure of how much revenue the system can generate.“ Michael T. Nygard

Die Diskussion um die Kapazität ist zentral, denn Überkapazitäten im Betrieb kosten bares Geld, wohingegen Unterkapazität zu schwindenden Besucherzahlen führt. Eine genaue Analyse ist also wesentlich für den Erfolg!

Kapazität klassifizieren

Die Kapazität ist ein Submerkmal der Performance. Abbildung 1 zeigt die Konzepte rund um das Thema. Wie im Kasten zur Terminologie beschrieben, definiert die Kapazität die maximale Bandbreite, die ein System unter Last bei akzeptabler Antwortzeit liefern kann. Um die Kapazität bestimmen zu können, sind im Wesentlichen die folgenden Schritte notwendig:

Zuerst werden die Anforderungen an die Kapazität und Performance ermittelt: Welche Antwortzeiten sind für das System akzeptabel? Wie viele Besucher soll das System bedienen können und wie viele von ihnen kommen gleichzeitig? Die Anforderungen sollten sich auf konkrete Geschäftsvorfälle des Systems beziehen, auch um den Stakeholdern einen besseren Zugang zu gewähren. Siehe hierzu auch die Qualitätsszenarien am Ende des Artikels.

In einem nächsten Schritt werden die gewünschten Anforderungen mit der Kontext- und Bausteinsicht des Systems verglichen. Ein Sanity Check ist besonders dann wichtig, wenn Teile des Systems nicht unter der eigenen Kontrolle stehen. Existiert beispielsweise ein externer Dienst, der für die Preisberechnung zuständig ist, sollte man sich zunächst Gewissheit über dessen Kapazität verschaffen, bevor man weitere Tests plant. Im Bereich der Infrastruktur lohnt es sich, Netzwerk und Storage zu analysieren, um schon im Vorfeld die Weichen richtig stellen zu können. Diese Erkenntnisse können dann in das Testdesign einfließen, um neuralgische Punkte besonders genau analysieren zu können. Auf Basis der gewünschten Qualitätsszenarien lasse...

Java Magazin
Kapazität

Es ist zum Haare raufen

Von allen Qualitätsmerkmalen erscheint die Systemkapazität oft als die Schwierigste. Sie hat die unangenehme Eigenschaft sich unter Last zu verändern. Kaum ist man der Meinung, nun laufe das System endlich stabil, taucht schon ein neues Szenario auf, das wieder eine Outage verursacht. Es ist zum Haare raufen - aber dafür bleibt es immer interessant!

Nicolas Bär, Daniel Takai, Christian Wittwer


Die Kapazität bezeichnet die Anzahl der Transaktionen, die ein System bei akzeptabler Performance leisten kann. Um sie zu ermitteln, entwirft man Lastszenarien und misst dann die Antwortzeit für 50, 100 oder 1 000 Benutzer. Die Kapazitätsgrenze ist der Punkt, an dem die Performance schließlich einbricht. Eigentlich ganz einfach, aber leider gibt es eine sehr große Anzahl von möglichen Lastszenarien, und das Verhalten der Anwendung kann je nach Szenario stark variieren. Man ist also gut beraten, sich auf die wahrscheinlichsten Szenarien zu konzentrieren. Aber welche sind das und welche Einflussfaktoren spielen die größte Rolle?

„Capacity is fundamentally a measure of how much revenue the system can generate.“ Michael T. Nygard

Die Diskussion um die Kapazität ist zentral, denn Überkapazitäten im Betrieb kosten bares Geld, wohingegen Unterkapazität zu schwindenden Besucherzahlen führt. Eine genaue Analyse ist also wesentlich für den Erfolg!

Kapazität klassifizieren

Die Kapazität ist ein Submerkmal der Performance. Abbildung 1 zeigt die Konzepte rund um das Thema. Wie im Kasten zur Terminologie beschrieben, definiert die Kapazität die maximale Bandbreite, die ein System unter Last bei akzeptabler Antwortzeit liefern kann. Um die Kapazität bestimmen zu können, sind im Wesentlichen die folgenden Schritte notwendig:

Zuerst werden die Anforderungen an die Kapazität und Performance ermittelt: Welche Antwortzeiten sind für das System akzeptabel? Wie viele Besucher soll das System bedienen können und wie viele von ihnen kommen gleichzeitig? Die Anforderungen sollten sich auf konkrete Geschäftsvorfälle des Systems beziehen, auch um den Stakeholdern einen besseren Zugang zu gewähren. Siehe hierzu auch die Qualitätsszenarien am Ende des Artikels.

In einem nächsten Schritt werden die gewünschten Anforderungen mit der Kontext- und Bausteinsicht des Systems verglichen. Ein Sanity Check ist besonders dann wichtig, wenn Teile des Systems nicht unter der eigenen Kontrolle stehen. Existiert beispielsweise ein externer Dienst, der für die Preisberechnung zuständig ist, sollte man sich zunächst Gewissheit über dessen Kapazität verschaffen, bevor man weitere Tests plant. Im Bereich der Infrastruktur lohnt es sich, Netzwerk und Storage zu analysieren, um schon im Vorfeld die Weichen richtig stellen zu können. Diese Erkenntnisse können dann in das Testdesign einfließen, um neuralgische Punkte besonders genau analysieren zu können. Auf Basis der gewünschten Qualitätsszenarien lasse...

Neugierig geworden?


    
Loading...

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang