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-Anwendungspringboot4: 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!






