Child pages
  • Performance, Integration & Skalierbarkeit (Teil 2): Produktunterschiede, Datacenter und Lasttests
Skip to end of metadata
Go to start of metadata




Wie unterscheiden sich die einzelnen Produkte hinsichtlich ihrer Performance?

Atlassian hat die unterschiedlichsten Produkte zur erfolgreichen Zusammenarbeit in Unternehmen in ihrem Produktportfolio. Oft entscheiden sich Kunden mehrere dieser Systeme in ihrem Unternehmen einzusetzen. Daher ist natürlich die Frage, die sich viele stellen: Gibt es Unterschiede in den Produkten hinsichtlich ihrer Performance?

Allgemein muss man zunächst sagen, dass die Auslastung der Systeme unterschiedlich ist. In Confluence und Jira ist es beispielsweise häufig so, dass diese über den Tag hinweg verwendet werden und bestimmte Peaks aufweisen. Die Belastung des Systems ist somit sehr stark abhängig von der Tageszeit. Am Anfang des Tages steigt die Belastung stark an, da sich hier viele Mitarbeiter einloggen und mit der Arbeit beginnen. Zum Mittag hin flaut es dann ab und steigt dann wieder zum Nachmittag hin an. Bei Jira ist das mehr oder weniger das gleiche.

Bei Bitbucket und Bamboo ist das allerdings anders. Hier ist das System besonders performancehungrig, wenn ich beispielsweise ein gesamtes Repository aus dem Bitbucket zurückhole. Das ist ein Prozess, der viel Speicher verbraucht und sich daher natürlich auf die Performance auswirkt. Im Gegensatz zu Confluence und Jira habe ich in Bitbucket oder Bamboo also eher punktuell hohe Speicherauslastungen. Das kommt allerdings auch darauf an, wie ich das jeweilige System verwende.


„Es hängt sehr stark vom Use-Case der Anwendung ab."






Was ist eigentlich Datacenter?

Oft stößt man bei der Recherche rund um das Atlassian Ökosystem und seine Produkte auf den Namen "Datacenter". Doch was genau ist dieses Datacenter eigentlich genau?

Im Grunde ist Datacenter die skalierende Form der Atlassian Produkte. Man hat nicht wie bei der Server Installation einen, sondern n aktive Knoten. Auf diese 10 oder 20 Knoten werden dann alle Anfragen verteilt. Allgemein versucht Datacenter eine halbwegs gute Performance und Reaktionszeit für alle Benutzer, die auf dem System arbeiten, zu garantieren.

Eigentlich hat Datacenter nur Vorteile. Es bietet eine deutlich bessere Skalierung und wird von Kunden vor allem dann gekauft, wenn das Business kritisch wird. Das sind dann Situationen, in denen ich mir keinen Ausfall erlauben kann, da ein Systemausfall teurer wäre, als das Produkt zu kaufen.


„Datacenter ist quasi die skalierende Form der Atlassian Produkte."






Rückmeldungen des Systems

Natürlich ist bei potenziellen Performanceproblemen die Frage berechtigt, wieso das System nicht frühzeitig über Handlungsnotwendigkeiten informiert. Doch an einigen Stellen tut es genau das.

So gibt es beispielsweise Konfigurationsseiten, auf denen die Auslastung als Momentaufnahmen zu finden sind. Doch oft ist es kein technisches, sondern eher ein organisatorisches Problem. Der Systemadministrator muss häufig und vor allem regelmäßig die Daten im Auge behalten und dann möglichst im Vorfeld agieren, anstatt nur zu reagieren, wenn es bereits kritisch ist.

Die Daten werden an diversen Stellen ausgegeben, es muss aber proaktiv auf das System eingewirkt werden, um etwaige Performanceprobleme gar nicht erst entstehen zu lassen.


„Es ist kein technisches Problem, sondern eher ein organisatorisches."






So werden Lasttests durchgeführt

Viele Kunden beschäftigen sich mit dem Thema Systemperformance durch Compliance. Um dann herauszufinden, wo die Probleme liegen, werden häufig sogenannte "Lasttests" durchgeführt.

Hier werden zunächst die Nutzer in verschiedene Rollen eingeteilt. Auf Basis dessen werden dann Testprofile angelegt. Bei Jira sind das zum Einen Nutzer, die das System nur lesend verwenden. Sie sichten die Tickets nur und schauen sich hier den aktuellen Stand dazu an. Das ist eine vergleichbar einfache und simple Abfrage, denn für Jira ist das eine reine Darstellung von Informationen, die aus einer Datenbank geholt werden und dann angezeigt werden.

Schwieriger wird es dann bei den Testprofilen für Nutzer, die auch schreibend auf das Ticket zugreifen. Denn hier kommt Input von Außen und das unter Umständen von 500 Benutzern gleichzeitig. Das ist für das System eine sehr starke Belastung.

Indem diese Tests durchgeführt werden versucht man, das System unter Stress zu setzen und Daten zu gewinnen, die sich dann visualisieren lassen. Hier sieht man dann Leistungskurven anhand dessen begründete Schlussfolgerungen abgeleitet werden können, um herauszufinden, welche Maßnahmen ergriffen werden müssen. Diese Daten sind übrigens auch für Entwickler sehr interessant, da so verhindert werden kann Speicherlöcher in Systeme einzubauen, die dann systematisch Ressourcen ziehen.


„Viele kümmern sich erst durch Compliance um solche Maßnahmen."








Mein System ist träge - was soll ich jetzt tun?


Wenn das eigene System träge ist und die Performance leidet, gibt es in der Regel ein klassisches Vorgehen. Sobald erste Anzeichen von Unzuverlässigkeiten auftauchen, wird zunächst der Aufbau der kompletten Umgebung angeschaut.

Es ist essenziell eine strukturierte Analyse des gesamten Systems aufzustellen und dann mit den gewonnen Daten herauszufinden, wo genau die Probleme liegen.

Dann kann systematisch ein Fall nach dem andere abgearbeitet werden; im besten Fall läuft dann das System wieder flüssig und zuverlässig.














  • No labels