Thanks for your reply!

Keep alive is disabled. The slower response times are seldom, nearly 0,1 % of all the requests. The tests were done with a concurrency of 1.
I think, as Chris replied, it 's another process of the OS.

the server.xml:

<Server port="8005" shutdown="SHUTDOWN">
<Listener className="org.apache.catalina.mbeans.ServerLifecycleListener" />
<Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" /> <Listener className="org.apache.catalina.storeconfig.StoreConfigLifecycleListener" />

<Listener className="org.apache.catalina.mbeans.JMXAdaptorLifecycleListener"
           namingPort="8890" port="8891" host="servername />

<GlobalNamingResources>
<Resource name="UserDatabase" auth="Container" type="org.apache.catalina.UserDatabase" description="User database that can be updated and saved" factory="org.apache.catalina.users.MemoryUserDatabaseFactory" pathname="conf/tomcat-users.xml" />
</GlobalNamingResources>

<Service name="Catalina">
<Connector port="80" URIEncoding="UTF-8" maxHttpHeaderSize="8192" maxThreads="3000" minSpareThreads="3000" maxSpareThreads="3000" enableLookups="false" acceptCount="25" connectionTimeout="10000" disableUploadTimeout="true" server="server" maxKeepAliveRequests="1" compression="on" compressionMinSize="2048" noCompressionUserAgents="gozilla, traviata" compressableMimeType="text/html,text/xml,text/css" />

<Engine name="Catalina" defaultHost="localhost">

<Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase" />

<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">

<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="localhost_access_log." suffix=".txt" pattern="%h %l %u %t &quot;%r&quot; %s %b %D" resolveHosts="false" />

</Host>
</Engine>
</Service>
</Server>



Regards
Peter




Am 03.08.2010 22:39, schrieb André Warnier:
Peter Buning wrote:
Hello,

we tested our tomcat 5.5 server (Debian system) with the apache benchmark tool. We send requests for a small png-file (300 bytes). Nearly all requests were done in 0 or 1 milliseconds. But there were a few request which needed more than 10 ms and the slowest request needed 106 ms.

the 106 ms is logged in the access log file. We used the %D pattern for the request time in millis.

It seems not to be a network problem. We can see the same behavior with a remote and a localhost test. Nevertheless, does anybody know, when tomact exactly starts and stop the time for logging the request?

We did A similar test with the YourKit Java Profiler, but can't find a reason for the slow requests, too. The time for "all threads" and for "java.lang.Thread.run" was less than the time for the longest request. The Garbage Collector was not active while testing.

So, we want to know, why there are a few request that took so much more time than the rest of the requests. Has anybody an idea where the time can be consumed?

Are the requests from the benchmark tool made with "keep-alive" ?
What is the keepAlive setting for the Tomcat Connector processing these requests ?

Depending on your configuration and how requests are being made, if keepAlive is set to a high value, you may just have many Tomcat threads waiting for a follow-up request (*) on each connection, before closing the connection and becoming available again to process more requests.

(*) which may never come..

In your next message, paste the contents of your Tomcat's server.xml file, all comments and private data removed. Also tell how the requests are being issued (how fast, how many, with/without keepalive, etc..)


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org


Reply via email to