On Fri, December 12, 2003 at 2:12 pm, Adam Fisk wrote:
>
> I'd be happy to send my data to the group if people are interested.
> Aside from memory, I was surprised to find that the effect on CPU was
> negligible (not much of a benefit from no context-switching between
> threads) -- CPU was virtually the same in both cases.  So, the scaling
> benefits on Windows basically come from not having to allocate more
> memory to new threads.  I'm unfortunately not as familiar with the
> Tomcat code as I'd like to be, but I assume it makes intelligent use of
> thread pooling, which may even the memory benefits of NIO negligible.
> At the same time, though, NIO may remove some of the constraints
> introduced by thread pooling, possibly allowing Tomcat to handle heavier
> loads without blowing up.  An optimized NIO server would if anything
> out-perform a blocking server, but maybe by not that much.

On current Linux systems, once you start getting 500+ processes/threads
active on a typical machine, you will find that context switching starts
taking up a significant amount of system time, especially if you decide to
run any system moniting tools (like ps, or top).  This is better with the
upcoming 2.6 kernels, but still doesn't scale to thousands of active
threads very well.

However, given that you need a thread anyway to server any dynamic
content, I don't see NIO helping that much for your typical web
application.  I could see NIO helping scale the serving of static content
which would be useful where people are using Tomcat standalone.  Maybe
someone can prove me wrong.  ;-)

-Dave

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to