On 3/7/07, Caldarale, Charles R <[EMAIL PROTECTED]> wrote:
The scalability is improved due to not having to keep a thread around for each persistent HTTP connection. (The new NIO connector in Tomcat 6 also achieves this.) Whether or not that aspect improves your performance due to less context switching, CPU cache loading/unloading, etc., will depend almost entirely on your workload.
He's talking about AJP here, and there's no AJP connector using the NIO endpoint at the moment. The scalability improvement is twofold for AJP: - when running many Apache frontend servers (each with a sizeable number of workers), Tomcat would need a huge amount of AJP worker threads with the java.io connector - threads will only be used for actually executing requests, thus making concurrency in business logic a bit more predictable (if you have 2000 threads, it's ok most of the time, as long as no lock gets contested by too many threads, in which case it's far better if you had only 200 threads) It also saves memory (no surprise). Socket polling will only be used for keepalive: during the processing of a request, the connector uses regular blocking IO. Rémy --------------------------------------------------------------------- To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]