© dvoevnore/Shutterstock.com
Java Magazin
Lasttests mit Vert.x

Wie viel hält mein System aus?

Anwendungen mithilfe von Unit- und Integrationstests zu testen, hat sich als Standard etabliert. Ein sehr vernachlässigtes Thema dagegen, vor allem außerhalb von Webanwendungen, ist das Gebiet der Performancetests. In diesem Artikel wollen wir zeigen, wie wir nach dem Vorbild eines Botnets ein Framework entwickelten, mit dem man verteilte Lasttests innerhalb eines Netzwerks durchführen kann.

Björn Stahl, Kristian Jantz


Die LucaNet AG hat sich auf den Bereich Finanzsoftware für die Konsolidierung, Planung, Analyse und das Reporting spezialisiert. Seit 1999 hat LucaNet die Softwarelösungen stetig weiterentwickelt und versucht den Anforderungen der Kunden gerecht zu werden sowie die bestmögliche Performance zu liefern. Da auch die Kunden selbst wachsen, stellte sich für uns immer wieder erneut die Frage, wo die Grenzen unseres Systems liegen.

Testbarkeit der bestehenden Anwendung

Die Softwarelösung der LucaNet AG ist eine Client-Server-Anwendung, in der je nach Unternehmensgröße bis zu mehrere 100 Personen parallel auf einem sehr komplexen Datenmodell arbeiten, das die ganze Zeit im Speicher gehalten wird. Beim Testen der Anwendung ist es interessant, das Zusammenspiel mehrerer Nutzer im Verlauf eines Arbeitstages zu verstehen. Ideal wäre es, die Nutzer ihre Aufgaben auf einem Testsystem durchführen zu lassen und dann die Stabilität und Performance zu beurteilen. Der Haken: Das ist nicht immer möglich.

Rich Clients

Der Client ist eine Desktopanwendung, die mit Swing entwickelt wurde. Über die Jahre hat sich der Client mit zunehmendem Funktionsumfang in eine recht komplexe Java-Anwendung verwandelt. LucaNet bietet beispielsweise ein Modul zum verteilten Erfassen von Daten in einem Unternehmen. Der Kunde kann an zentraler Stelle ein Formular definieren, das später innerhalb der Anwendung durch die Anwender bearbeitet werden kann. Die Formulardaten werden vom Server über eine REST-Schnittstelle gelesen und auf dem Client entsprechend aufbereitet, angezeigt und weiterverarbeitet. Das Formular integriert sich nahtlos in die Anwendung und verwendet Teile des Clients zur Anzeige und Auswertung. Der Speicherbedarf der Clientanwendung kann je nach Komplexität des zugrunde liegenden Datenmodells und des Formulars bis zu mehreren GB betragen. Das Datenmodell der Anwendung bildet die Unternehmensstrukturen und Geschäftsprozesse des Kunden im gewünschten Detailgrad ab.

Performance ist geschäftskritisch

Das Kernstück des LucaNet.Financial-OLAP-Servers ist eine multidimensionale In-Memory-Datenbank, in der alle Daten gehalten werden. Das System verarbeitet Änderungen nahezu in Echtzeit und handhabt im Extremfall Datenbanken mit einer Größe von bis zu 100 GB oder mehr. Die Datenbank ist für das Lesen optimiert. Gemessen am Anwendungsprofil sind Schreibzugriffe seltener, haben aber, sofern sie auftreten, einen hohen Einfluss auf die Performance. Alle auf den geänderten Fakten basierenden Daten...

Java Magazin
Lasttests mit Vert.x

Wie viel hält mein System aus?

Anwendungen mithilfe von Unit- und Integrationstests zu testen, hat sich als Standard etabliert. Ein sehr vernachlässigtes Thema dagegen, vor allem außerhalb von Webanwendungen, ist das Gebiet der Performancetests. In diesem Artikel wollen wir zeigen, wie wir nach dem Vorbild eines Botnets ein Framework entwickelten, mit dem man verteilte Lasttests innerhalb eines Netzwerks durchführen kann.

Björn Stahl, Kristian Jantz


Die LucaNet AG hat sich auf den Bereich Finanzsoftware für die Konsolidierung, Planung, Analyse und das Reporting spezialisiert. Seit 1999 hat LucaNet die Softwarelösungen stetig weiterentwickelt und versucht den Anforderungen der Kunden gerecht zu werden sowie die bestmögliche Performance zu liefern. Da auch die Kunden selbst wachsen, stellte sich für uns immer wieder erneut die Frage, wo die Grenzen unseres Systems liegen.

Testbarkeit der bestehenden Anwendung

Die Softwarelösung der LucaNet AG ist eine Client-Server-Anwendung, in der je nach Unternehmensgröße bis zu mehrere 100 Personen parallel auf einem sehr komplexen Datenmodell arbeiten, das die ganze Zeit im Speicher gehalten wird. Beim Testen der Anwendung ist es interessant, das Zusammenspiel mehrerer Nutzer im Verlauf eines Arbeitstages zu verstehen. Ideal wäre es, die Nutzer ihre Aufgaben auf einem Testsystem durchführen zu lassen und dann die Stabilität und Performance zu beurteilen. Der Haken: Das ist nicht immer möglich.

Rich Clients

Der Client ist eine Desktopanwendung, die mit Swing entwickelt wurde. Über die Jahre hat sich der Client mit zunehmendem Funktionsumfang in eine recht komplexe Java-Anwendung verwandelt. LucaNet bietet beispielsweise ein Modul zum verteilten Erfassen von Daten in einem Unternehmen. Der Kunde kann an zentraler Stelle ein Formular definieren, das später innerhalb der Anwendung durch die Anwender bearbeitet werden kann. Die Formulardaten werden vom Server über eine REST-Schnittstelle gelesen und auf dem Client entsprechend aufbereitet, angezeigt und weiterverarbeitet. Das Formular integriert sich nahtlos in die Anwendung und verwendet Teile des Clients zur Anzeige und Auswertung. Der Speicherbedarf der Clientanwendung kann je nach Komplexität des zugrunde liegenden Datenmodells und des Formulars bis zu mehreren GB betragen. Das Datenmodell der Anwendung bildet die Unternehmensstrukturen und Geschäftsprozesse des Kunden im gewünschten Detailgrad ab.

Performance ist geschäftskritisch

Das Kernstück des LucaNet.Financial-OLAP-Servers ist eine multidimensionale In-Memory-Datenbank, in der alle Daten gehalten werden. Das System verarbeitet Änderungen nahezu in Echtzeit und handhabt im Extremfall Datenbanken mit einer Größe von bis zu 100 GB oder mehr. Die Datenbank ist für das Lesen optimiert. Gemessen am Anwendungsprofil sind Schreibzugriffe seltener, haben aber, sofern sie auftreten, einen hohen Einfluss auf die Performance. Alle auf den geänderten Fakten basierenden Daten...

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