Image
referenzen-qytera.jpg

Infrastruktur Lasttest & Performancetest zur Landtagswahl in Baden-Württemberg

Kunde

Die Komm.ONE AöR ist ein IT-Dienstleister für die öffentliche Verwaltung mit 1.100 Mitgliedskommunen in Baden-Württemberg. Komm.ONE betreibt an mehreren Standorten Rechenzentren und bietet Dienstleistungen und Lösungen im Bereich der IT für die Kommunen und die Landkreise in Baden-Württemberg an. An sieben Standorten beschäftigt Komm.ONE rund 1.600 Mitarbeiter:innen und sichert so die Souveränität in der digitalen Datenverarbeitung bei den kommunalen Körperschaften.

 

 

Image
komm-one-logo
Image
votemanager-bw.jpg
Bild: votemanager (Klicken zum Vergrößern)

Produkt

Wahl-Portal und votemanager - Präsentation der Landtagswahl-Ergebnisse

Über das von Komm.ONE betriebene Portal für die Landtagswahlen in Baden-Württemberg werden die Ergebnisse der amtlichen Auszählungen veröffentlicht. Das Portal ermöglicht je Stadt, bis auf den einzelnen Wahlbezirk aufgelöst, die Ergebnisse der Landtagswahl abzurufen. Aus diesen Daten können sich die Bürger:innen, die Presse oder andere Organisationen bedienen und das gültige Wahlergebnis nachschlagen.

Unsere Aufgabe

Die Komm.ONE beauftragte Qytera, Last & Performancetests durchzuführen, damit zum Wahltag und an den darauffolgenden Tagen die vorläufigen und später die amtlichen Wahlergebnisse abgerufen werden können. Hierzu wurde die Kundenerwartung an uns herangetragen, dass die Wahlergebnisse-Seiten mit der maximalen zur Verfügung stehenden Bandbreite beansprucht werden sollen.

Die Qytera-Experten waren zuständig für die Umsetzung des Lasttestprojektes (Testfälle), die Bereitstellung der Lasttestgeneratoren (Cloud-Services), die Durchführung und das Monitoring sowie für die Auswertung der Ergebnisse und Dokumentation der durchgeführten Lasttestläufe.

Die Qytera-Lösung

Da die Qytera stark auf Open-Source Lösungen setzt, wurden die Testfälle in JMeter entwickelt. Hierzu wurden zuvor zwei Szenarios ausgewählt, die einmal das Wahl-Portal mit der Auswahlseite der Wahlbezirke bzw. Kommunen definierte und zudem den votemanager mit den eigentlichen Wahlergebnissen der 240 Wahlbezirke aufrufen sollte.

Zur Skalierung wurden die Anzahl Threads (Benutzer) von Lauf zu Lauf von 500 bis 20.000 erhöht und parallel bis zu 80 Lastgeneratoren gestartet, um eine durchschnittliche zu erwartender Auslastung zu erreichen.

JMeter Szenarios

Es gab zwei ganz unterschiedliche Szenarios, die in diesem Lasttest geprüft werden sollten. Einerseits sollte die Portal-Einstiegsseite mit der Auflistung aller Wahlbezirke bzw. Kommunen geprüft werden und wie sich die Last auf die Ladezeiten auswirkt. Darüber hinaus war es wichtig, dass alle Wahlergebnisse der 240 Wahlbezirke im votemanager abrufbar sind.

 

Da die unterschiedlichen Tests noch vor der Landtagswahl stattfanden, wurden dummy-Werte hinterlegt, um realistische Webseiteninhalte und damit Datenmengen zu erhalten. Zur Laufzeit wurden über eine CSV-Liste Daten als Parameter zugesteuert. Da die Tests unterschiedliche Wege durch das Netzwerk nehmen sollten, wurde dies über verschiedene Subdomains gelöst. Dies wurde in den JMeter Skripten ebenso als Parameter hinterlegt und konnte somit für jeden Lauf leicht angepasst werden.

Skalierung in der Qytera-Cloud

Beim Testen der Infrastruktur mussten wir eine zweigleisige Lösung entwickeln, um die Anforderungen von Komm.ONE zu erfüllen. Einerseits skalierten wir unsere eigene QLoadTesting Lösung, die aus der Qytera- Cloud heraus bis zu 30 Lasttestgeneratoren starteten und die Aufrufe generierten. Hierbei erstellten wir über die Timeseries-Datenbank InfluxDB ein Grafana-Dashboard, das die Durchführung live darstellte.

 

Image
grafana-lasttest.jpg
Bild: Beispiel eines Grafana Lasttest Dashboard (Klicken zum Vergrößern)

Um darüber hinaus weiter skalieren zu können, arbeiteten wir mit unserem Partner Octoperf zusammen. In sehr kurzer Zeit konnte uns Octoperf ausreichend Ressourcen zur Verfügung stellen, sodass wir dort unsere JMeter Scripte zur Ausführung bringen konnten. Damit war es uns möglich, bis zu 80 Lasttestgeneratoren parallel zu betreiben und 20.000 Threads (User) zu simulieren. Somit erreichten wir eine Datentransferrate, die etwa der erwartenden durchschnittlichen Auslastung entsprach.

Ergebnis

Die umfassenden Infrastruktur-Tests zeigten durch die wiederholten Läufe anfangs immer wieder Probleme auf, die das Ausschöpfen der maximalen Leitungskapazitäten verhinderten. Die Ursachen waren sehr schwer zu ermitteln und sehr vielfältig. Im Zusammenspiel der hohen Lasterzeugung und des Monitorings durch Netzwerkspezialisten und Webseiten-Entwicklern gelang es, die Performance-Schwachstellen zu ermitteln.

Teilweise waren unterschiedliche Probleme überlagert. Durch eine häufige Wiederholung und leicht geänderte Setups wurden die Fehler nach und nach aufgezeigt. Die anfänglich vermuteten Begrenzungen beim Webserver haben sich kaum gezeigt, sie stießen bei diesen hohen Lasten nicht annähernd an ihre Grenzen. Der Einsatz der Cloud-Lasttestgeneratoren zeigte, wie flexibel, zielgerichtet und kostengünstig solche Online-Services eingesetzt werden können. Die Basis mit JMeter und damit einer Open-Source-Lösung zeigt, wie weit entwickelt dieses Werkzeug ist und sich vor kommerziellen Tools nicht verstecken muss.

Die notwendige Zusammenarbeit während der Testausführung zwischen den Netzwerk-Infrastruktur-Spezialisten, den Webserver-Betreibern (Entwicklern) und den Lasttest-Spezialisten funktionierte hervorragend. Die nach den Lasttestläufen zur Verfügung gestellten Metriken und Testdurchführungsberichten halfen Komm.ONE bei der Analyse ihres Netzwerks.

Fazit

Somit konnten die leicht verfügbaren Cloud-Lasttestgeneratoren, die Qytera mit QLoadTesting und Octoperf zum Einsatz brachte, einen großen Mehrwert für Komm.ONE bringen. Es konnten dadurch einige Schwachstellen in der Netzwerkinfrastruktur optimiert und die Leistungsfähigkeit ermittelt werden. Es konnte ein womöglicher Ausfall der Wahlergebnis-Seiten an den Tagen mit den Hauptbeanspruchungen verhindert werden und es wurde erkannt, wie leistungsfähig die eigentliche Software auf den Webservern war. Damit war Komm.ONE für den Wahlabend und den darauffolgenden Tag gut gerüstet einen reibungslosen Betrieb zu gewährleisten.

 

Image
octoperf-lasttest.jpg
Bild: Beispielgraph eines Lasttestlaufs in Octoperf (Klicken zum Vergrößern)

Verwendete Technologien

  • JMeter
  • AWS EC2
  • Octoperf
  • Grafana
  • InfluxDB
  • Terraform
  • Vagrant

 

Kundenfeedback

Benno Gollan - Komm.ONE AöR

“Die Unterstützungsleistung war zusammenfassend zielgerichtet, die Umsetzung für uns weitmöglichst problemlos und strukturiert. Insgesamt ist Qytera im Testing ein verlässlicher Dienstleister.”

 

Ansprechpartner

Wilson Campero
Telefon: +49-6196400848

Kontaktformular

 

Weitere Kundenstimmen

Image
widget_recommendation_465_0.png