Jeanfrancois Arcand wrote:
+1
I would also like to explore, as a separate module, a connector that uses NIO to see what kind of performance we can have. I have no intention of replacing the current connector, and probably I will waste my time trying to have the same performance as the current connector. But I would like to explore it anyway .... ( latter next year, after the security stuff )....
My opinion is that NIO is going to be really useless.
- HTTP processing time is insignificant (BTW, most of the current algorithm can be used in non blocking mode, I think)
- You have to go in blocking mode for the whole Catalina pipeline (ok: fast) and for running the user application
- It will make object reuse more complex (you'll have to have a pool holding all the HTTP processors, essentially)
NIO may be good in mod_jk mode - not the select but the mmap.
I agree that select can't help too much given the servlet IO model, it's the mmap ( and the char-byte conversion ) that are really valuable in our case.
BTW - another intersting optimization is for JSP static content, which can be also mmapped to avoid sending it over ( and maybe even get it sent directly from the disk ).
Costin
So the benefit is for holding HTTP/1.1 persistent connections, given that:
- It will make the connector code more complex ( :-( )
- Modern OSes (Linux 2.6, Solaris with Sun's VMs, any Linux with JRockit and its thread mapping similar to Solaris) will probably not really care about saving a few threads
But, hey, if you have time, it's an interesting experiment (and I'll try to help out a bit if I have time) :)
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]