GEDOPLAN
QuarkusSpring

Quarkus Performance Benchmark – ein Vergleich mit Spring Boot

QuarkusSpring
quarkus throughput png

Quarkus und Spring Boot haben große Ähnlichkeiten: Beide sind General Purpose Enterprise Frameworks, mit denen man Anwendungen vom großen Monolithen bis hin zu kleinen Microservices entwickeln kann. Beide sind leichtgewichtig – was auch immer genau damit gemeint ist.

Quarkus reklamiert eine sehr gute Performanz für sich, sowohl in Bezug auf Durchsatz, als auch bezüglich Time to First Reponse und Memory Footprint. Ermöglicht wird dies durch hochgradige Optimierungen bereits zur Build-Zeit und einen schlangen reaktiven Kern. Messwerte dazu waren schon immer auf der Quarkus-Webseite zu finden – schön aufbereitet mit Balkengrafiken. Bemerkenswert war, dass dort verglichen wurde mit einem „Traditional Cloud-Native Stack“, ohne zu nennen, wer oder was damit genau gemeint war. Die Vermutung war natürlich „Spring Boot“, aber genau wissen konnte man es nicht.

Damit ist jetzt Schluss: Es gibt nun einen neuen Benchmark, der Quarkus mit Spring Boot vergleicht. Die Messergebnisse in Form der bekannten Grafiken findet man wie zuvor auf quarkus.io. Sie zeigen, dass Quarkus ca. 2,5 mal mehr Transaktionen pro Sekunden bearbeiten kann, 2,3 mal schneller startet und nur die Hälfte des Memories beansprucht.

Beeindruckend, nicht wahr? Aber da kann ja jeder eine schöne Grafik auf seiner Webseite veröffentlichen. Kann man den Zahlen trauen? Ja, man kann! Und zwar, weil der Benchmark nun als Open Source Projekt vorliegt und damit auch in der eigenen Umgebung ausgeführt werden kann.

Es stehen zwei Branches zur Verfügung, die die Frameworks mit verschiedenen Tuning-Strategien messen:

  • main: Anwendungen für höhere Performanz getuned,
  • ootb: Nutzung der Frameworks Out-of-the-Box, d. h. ohne Tuning.

Derzeit stehen drei Quarkus-Varianten der Testanwendung zur Verfügung sowie zwei Spring-Boot-Varianten:

  • quarkus3: „Normale“ Quarkus-3-Anwendung,
  • quarkus3-virtual: dito, aber mit Virtual Threads,
  • quarkus3-spring-compatibility: Quarks-3-Anwendung, die das Spring Compatibility Layer nutzt,
  • springboot3: Spring-Boot-3-Anwendung
  • springboot4: Spring-Boot-4-Anwendung

Zur Ausführung der Benchmarks stehen (Shell) Scripts zur Verfügung, die eine der Anwendungen auf Durchsatz oder Startzeit testen. Die Ausführung kann auf einer einzelnen Maschine durchgeführt werden, wobei die Ergebnisse nicht so zuverlässig sind wie die Ausführung in einem Performanc Lab mit mehreren Maschinen. Im README des Projektes findet sich eine ausführliche Anleitung.

Mit und für Quarkus zu entwickeln macht recht viel Spaß, weil die Dinge so leicht von der Hand gehen. Mit diesen Messwerten im Hinterkopf geht’s dann nochmals besser!

Wollen Sie mehr über Quarkus erfahren? Dann schauen Sie doch mal in unserem Seminarbereich vorbei. Und für Fragen stehen wir jederzeit zur Verfügung – bis bald!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Bitte füllen Sie dieses Feld aus.
Bitte füllen Sie dieses Feld aus.
Bitte gib eine gültige E-Mail-Adresse ein.
Sie müssen den Bedingungen zustimmen, um fortzufahren.

Autor

Diesen Artikel teilen

LinkedIn
Xing

Gibt es noch Fragen?

Fragen beantworten wir sehr gerne! Schreibe uns einfach per Kontaktformular.

Kurse

weitere Blogbeiträge

IT-Training - GEDOPLAN
Jakarta EE (Java EE)

Jackson und Java EE 8

Jackson ist eine Bibliothek die sich unter anderem darum kümmert das unsere Businessobjekte in JSON umgewandelt werden. Als default Provider…

Work Life Balance. Jobs bei Gedoplan

We are looking for you!

Lust bei GEDOPLAN mitzuarbeiten? Wir suchen immer Verstärkung – egal ob Entwickler, Dozent, Trainerberater oder für unser IT-Marketing! Schau doch einfach mal auf unsere Jobseiten! Wir freuen uns auf Dich!

Work Life Balance. Jobs bei Gedoplan

We are looking for you!

Lust bei GEDOPLAN mitzuarbeiten? Wir suchen immer Verstärkung – egal ob Entwickler, Dozent, Trainerberater oder für unser IT-Marketing! Schau doch einfach mal auf unsere Jobseiten! Wir freuen uns auf Dich!