users@glassfish.java.net

Servlet performance

From: <glassfish_at_javadesktop.org>
Date: Tue, 08 Jul 2008 00:46:03 PDT

Hi,
I've investigating a certain behavior I cannot explain regarding GlassFish performance. I'm using NetBeans 5.5.1 with SJSAS 9.1 over WinVista. HttpMonitor is disabled.

I've written one simple servlet that does absolutely nothing other than count the number of incoming requests. If the request has a "status" param in the URL, the servlet zeros its counters and reports the latest request-per-second into the server log.

My test code (based on Apache HttpComponents), running on the same box as the servlet, sends a "status" request at the beginning, then opens N threads, waits for them to complete, then sends another "status" request.

OS Performance monitor shows absolutely no bottlenecks: CPU around 4%, network unnoticable, disk i/o almost similar to normal OS activity, no RAM spikes. JConsole barely shows any change to the server thread count, it stays around 59.

However, I cannot get over ~125 requests per second - no matter how many threads I create on the client side! Due to the absence of resource bottlenecks, I assume there are some application parameters that I need to change. Can anyone shed some light on this? What needs to be done to scale the server so that it uses more of the idle resources on the box?

thanks.
[Message sent by forum member 'sagimann' (sagimann)]

http://forums.java.net/jive/thread.jspa?messageID=284953