On 06/06/17 07:30, Piyush Kumar Nayak wrote:
> 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?

Without knowing the details of your tests - no idea. The numbers are a
long way from what I'd expect.

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

Because it can't support the non-blocking requirements of the WebSocket
API or the Servlet API and while you can fake non-blocking support, the
result is liable to enter a deadlock.

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

You'll need to explain your testing methodology - in detail - before
anyone can provide any useful input.

Mark

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org

Reply via email to