We have been testing different connectors of tomcat for performance.
We have tested the following server versions:

-          Tomcat 7.077

-          Tomcat 8.0.44

-          Tomcat 8.0.32

-          Tomcat 8.5.14

with the following HTTP connectors:

-          BIO

-          BIO with Executor

-          NIO

-          NIO with Executor

Our observation is that NIO is up to 15% faster than BIO. But BIO with Executor 
is up to 65% faster than BIO. Using a shared executor thread pool with NIO does 
not improve the performance. We have tried some variations of connector 
attribute with Tomcat 8 (maxThreads, acceptorThreadCount), but nothing brings 
us close to the performance that we can get with BIO with Executor.

We have upgraded to Tomcat 8.5, and can't seem to get it to perform as well as 
Tomcat 7 using BIO with Executor, which is what we were using earlier.

I would appreciate any help with the following:

-          Why is the executor not boosting the performance for NIO, as it is 
for BIO?

-          BIO is not available as an option with Tomcat 8.5. Why has it been 
removed? Is there any way to get it back ?

I'd be happy to share any other details from my testing for any clarification.

Regards,
Piyush.





Reply via email to