In brief: I am load-testing an app running on Tomcat 6 NIO and am observing a big discrepancy between avg request latency as reported by JMeter (660ms) and the profiler (19ms). I would like to understand where is the delta being spent.
In detail I have two windows boxes on the same subnet of a 1GB local network: box A is running our app on Tomcat 6 NIO; box B is running JMeter and YourKit GUI. JMeter is simulating 40 users, each repeatedly hitting the server with the same request (against port 8080), with 50ms think time. The response for each request is in plain text, about 10-20k worth. The request hits app-level cache 100% of the time, so JDBC connection aren't even being checked out of the cxn pool and no DB work is being done. After 20,000+ requests: -JMeter reports average latency of 661ms -The profiler reports a 19ms average and the same invocation count. YourKit is doing sampling. Given the huge discrepancy, I would like to determine where is 642ms (=661-19) being spent. Network latency should not be an issue. Is it possible that Tomcat is spending time doing something in NIO poller - before Tomcat's exec threads are engaged? thanks! -nikita App Stack/ Hardware Tomcat 6.0.18 NIO Sun JVM 1.6, 1000mb heap Spring 2.5.6 Hibernate 3.3.1 JBossCache 3.0.3 (MVCC) Windoze Vista 4GB ram, Intel Core Duo CPU Tomcat Config: <Server port="8005" shutdown="SHUTDOWN"> <Service name="Catalina"> <Executor name="MainPool" maxThreads="60" minSpareThreads="25" namePrefix="dg-request-" /> <!-- Define a non-SSL HTTP/1.1 Connector on port 8080 --> <Connector protocol="org.apache.coyote.http11.Http11NioProtocol" port="8080" redirectPort="8443" acceptCount="100" connectionTimeout="20000" disableUploadTimeout="true" enableLookups="false" maxHttpHeaderSize="8192" executor="MainPool" /> <Connector protocol="org.apache.coyote.http11.Http11NioProtocol" port="8443" acceptCount="100" connectionTimeout="20000" disableUploadTimeout="true" enableLookups="false" maxHttpHeaderSize="8192" executor="MainPool" scheme="https" secure="true" SSLEnabled="true" keystoreFile="conf/tomcat.keystore" keystorePass="eviltwin" clientAuth="false" sslProtocol="TLS" /> <Engine name="Catalina" defaultHost="localhost"> <Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false"> </Host> </Engine> </Service> </Server> ----- ---------------- Nikita Tovstoles vside.com ---------------- -- View this message in context: http://www.nabble.com/what-can-Tomcat-be-doing-that-a-profiler-can%27t-see--tp23084469p23084469.html Sent from the Tomcat - User mailing list archive at Nabble.com. --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org