Jetty vs tomcat in springboot

11 views
Skip to first unread message

Giovanni Giorgi

unread,
Dec 12, 2025, 4:07:31 PM12/12/25
to jugm...@googlegroups.com
Ciao lista, ho un’applicazione a microservizi, che ho ereditato da un precedente collega.
Il progetto è basato su Spring boot 5.x e di default usa Tomcat.
Dove posso trovare una buona comparazione per capire se ha senso passare a jetty?

Da qualche articolo che ho letto sembra che getti sia molto più performante a parità di thread, (es è più orientato su NIO).
Io vorrei ridurre l’overhead, soprattutto su un microservizio che fa operazioni su code piú che chiamate REST.

Please excuse typs as Sent from my iPhone

Simone Bordet

unread,
Dec 12, 2025, 6:56:59 PM12/12/25
to jugm...@googlegroups.com
Ciao,

On Fri, Dec 12, 2025 at 10:07 PM Giovanni Giorgi <j...@gioorgi.com> wrote:
>
> Ciao lista, ho un’applicazione a microservizi, che ho ereditato da un precedente collega.
> Il progetto è basato su Spring boot 5.x e di default usa Tomcat.
> Dove posso trovare una buona comparazione per capire se ha senso passare a jetty?

Difficile da trovare, anche noi di Jetty non ne facciamo più perché è
difficile fare un benchmark dove compari esattamente mele con mele.

> Da qualche articolo che ho letto sembra che getti sia molto più performante a parità di thread, (es è più orientato su NIO).
> Io vorrei ridurre l’overhead, soprattutto su un microservizio che fa operazioni su code piú che chiamate REST.

Jetty ha una API asincrona che viene attivamente mantenuta e
sviluppata, che permette un efficace uso dei threads:
https://jetty.org/docs/jetty/12.1/programming-guide/server/http.html#handler

Inoltre, una applicazione può interagire con il threading model di
Jetty, indicando se il codice applicativo è bloccante oppure no.
Questo permette a Jetty di effettuare ulteriori ottimizzazioni:
https://jetty.org/docs/jetty/12.1/programming-guide/server/threads.html

L'unica comparazione che puoi fare è provare a fare un load test con
Tomcat e con Jetty, e vedere come va.

Facci sapere come va, o cosa hai deciso a prescindere.

--
Simone Bordet
---
Finally, no matter how good the architecture and design are,
to deliver bug-free software with optimal performance and reliability,
the implementation technique must be flawless. Victoria Livschitz

Stefano Fago

unread,
Dec 13, 2025, 3:46:14 AM12/13/25
to jugm...@googlegroups.com
Anche se non propriamente un scoperto, e forse hai già provato, puoi considerare il connettore NIO di Tomcat e fare un fine tuning con il Tomcat Customizer di Spring Boot che ti permette anche di usare una coda custom ed uno specifico threadpool.
Questo senza toccare nulla dell'esistente... Altrimenti un passaggio alla parte leggera di async programming di Spring Boot, ritornando semplicemente CompletableFuture può essere un modo, dopo il fine tuning, di rendere Tomcat un po più "elastico", con anche il vantaggio che portando le API su openapi puoi fare autogenerare tutto(anche i future). 
Lato JVM, se possibile configurare, riduci la memoria x thread e spegni jmx e amenità Spring Boot: aiuta il buon Gatto a lavorare!


Spero che qualcosa sia utile e Buone Feste a tutti!

Stefano

--
jugmilano.it - youtube.com/c/JUGMilano - twitter.com/JUGMilano - gitter.im/jugmilano/jugmilano
---
Hai ricevuto questo messaggio perché sei iscritto al gruppo "JUGMilano - JVM User Group Milano" di Google Gruppi.
Per annullare l'iscrizione a questo gruppo e non ricevere più le sue email, invia un'email a jugmilano+...@googlegroups.com.
Per visualizzare questa discussione, visita https://groups.google.com/d/msgid/jugmilano/CAFWmRJ3CT9xadtgz9vBn2C0NsM%3Dc9-KsaOsvVTcnOsZUVbY2vg%40mail.gmail.com.
Reply all
Reply to author
Forward
0 new messages