Summary
Grizzly is an NIO-based HTTP front-end of the GlassFish J2EE server project. Project lead Jean-Francois Arcand compares this NIO-based HTTP server with the most recent Tomcat HTTP implementations, showing that using non-blocking sockets allow a server to scale up.
Advertisement
Tomcat is arguably the most popular Java Servlet engine, but to date the components that provide Tomcat's HTTP handling have not taken advantage of Java's non-blocking I/O (NIO) mechanism. The open-source GlassFish server project does include an NIO-based HTTP front-end called Grizzly. Project lead Jean-Francois Arcand ran a few benchmarks comparing HTTP performance in Grizzly with that of Tomcat's Coyote and native (APR) HTTP handlers. His post shows his methodology and presents his findings. As one can imagine, the NIO-based Grizzly offered performance advantages, and was able to scale to handle more requests.