DEV Community

Spring Boot performance benchmarks with Tomcat, Undertow and Webflux

Julien Dubois on April 06, 2020

Tomcat vs Undertow vs Webflux JHipster is used by thousands of people to generate production-ready Spring Boot applications. We've been ...
Collapse
 
undqurek profile image
undqurek • Edited

To get better much better results we can also use APR native libraries: dirask.com/posts/Spring-Boot-2-exa...

Advantages:

  • motivation to use APR native libraries is better connection management performance,
  • HTTPS lets to enable Brotli compression that is better than gzip,
  • with enabled HTTP2 we can get better connection and data transmission performance than HTTP 1.1.
Collapse
 
hgomez profile image
Henri Gomez

Julien, could you share configuration details of Tomcat, Undertow and Webflux ?

For Tomcat, there is many way to configure and tweak for high load than it would deserve a look

Thanks

Collapse
 
jdubois profile image
Julien Dubois Microsoft Azure

All the code is in the GitHub repo - those are basically the “normal” configurations that come out-of-the-box with Spring Boot.

Collapse
 
hgomez profile image
Henri Gomez

For Tomcat, this one ?

github.com/jdubois/jhipster-benchm...

Sorry, but I miss information :

  • Version of Tomcat is used
  • Connector used : APR / NIO / NIO2
  • Connector tuning
Thread Thread
 
jdubois profile image
Julien Dubois Microsoft Azure

It is this configuration file, but not this line: there is no line in fact, as it's the default configuration that comes with Spring Boot.
It should be Tomcat 9.0.31, and everything else is by default.

Thread Thread
 
hgomez profile image
Henri Gomez • Edited

So basically, what you demonstrate is not Tomcat vs Undertow vs Webflux performance but Spring default for Tomcat vs Spring default for Undertow vs Spring default for Webflux.

You compare default settings for Spring servlet engines implementation rather than servlet engines themselves, it would be fair to make a note about this.