Sunday, November 20, 2005

Tomcat vs Grizzly, first run

Oopsy-daisy! Same workload (GET static XHTML file 60 kB) produced same throughput figures (ran 25 minutes, 64-bit JDK 1.5_04 on Solaris 10), but it took Tomcat less CPU to start up and do the work, than Glassfish to start up alone. That is probably meaningless, but it also took Tomcat under 30 seconds of CPU time to process same workload that took Glassfish 58. I must have misconfigured something somewhere, that can not be right... I'm certain I allowed Tomcat to use up to 500 threds to process incoming request, did no such thing for Glassfish. Should I take a look at memory use? Since Glassfish by default uses less threads (a note, Tomcat would start sending "out of service" messages under same conditions), how does that make Glassfish use more CPU but guarantee same service level?

UPDATE: although it takes Glassfish a fair bit longer to reach performance plateau under load, it eventually ends up exactly at the same CPU utilization as Tomcat in this particular test. The question remains, how do I tweak configuration of both Tomcat and Glassfish so that I see the benefits of NIO connector (if any)...

1 Comments:

Blogger denka said...

All by default so far, the way Glassfish is configured. The only thing I changed was JVM settings, "-d64 -server -Xmx900M -Xms128M". This is most definitely not going to be the only time I tried to look at it all. I'm planning to spend more time later in the week. And, Jeanfrancois, it means something to me that you cared to comment.

11/21/2005 9:13 AM  

Post a Comment

<< Home