Dear all,

I administer a tomcat 6.0 on a windows 2008r2 server with sql server 2008. I
am a Unix admin that had no contact with tomcat in the past; so, both tomcat
and windows are a very peculiar combination for me :)... This server runs an
application that can become quite (but-not-that-much) loaded. The thing is
that I am observing a bottleneck on my system, despite the fact that my
system has adequate free physical resources. To be more precise:

my server.xml reads:

<Connector server="Apache" port="8083"
               maxThreads="500" minSpareThreads="25" maxSpareThreads="300"
               enableLookups="false" redirectPort="8443" acceptCount="250"
               debug="0" connectionTimeout="15000" 
               disableUploadTimeout="true" />

maxThreads and masSpareThreads were raised by me to overcome the bottleneck,
without any luck.

my dboptions.properties reads:


DATABASE_MAXCONNECTION = 100

MAX_TIME_TO_WAIT = 10000

MINUTES_BETWEEN_REFRESH = 5

(but I doubt that these directives are taken into account.)

The application was given to me running on windows 2003 server, tomcat 5,
sql server 2000. I upgraded/migrated the machine to the latest binaries, and
I am not sure that the old configuration files (web.xml,
dboptions.properties, etc) are affecting the newer versions of tomcat in the
same sense...

When I try to connect to our application I get about a minute of delay once
tcp connections on 2008 "resource monitor" exceed ~200. Before that number
is reached, everything works extreeeemly great?! At that moment (>200 tcp
connections) manager/status shows:

Free memory: 699.33 MB Total memory: 1379.50 MB Max memory: 2275.56 MB
Max threads: 500 Current thread count: 49 Current thread busy: 17
Max processing time: 400777 ms Processing time: 21227.893 s Request count:
20234 Error count: 1008 Bytes received: 0.17 MB Bytes sent: 75.70 MB

and 100 sessions in the session tab.

which is not that bad, I assume...

Moreover, there is a lot of free memory on the system (more than 1G out of
4), cpu consumption is lower than 10%, and the database request per sec are
at around 40. On sql server activity monitor, the most recent expensive
query is 412ms.

>From what I understand is that my system has still adequate free physical
resources, sql server is not being pushed and the bottleneck comes from
tomcat, where I have no clue what to tune.

I read an article mentioning tunables on the the database-module, but the
places where the tunables are located in the article where in a different
path than the dboptions.properties file, and when I tried to setup the
scenario on the article, my server did not startup. I wasn't paying too much
attention on what I was doing because I couldn't understand what I was
doing; if I could understand the process, the test scenario would have
probably worked for me. The article is the following, and it seems great:

http://tomcat.apache.org/tomcat-5.5-doc/jndi-datasource-examples-howto.html

Now, from all that I mentioned before I assume that there must be a tunable
(directive or something) that once exceeded the server "crawls". The thing
is that just before that limit is reached the server runs as if it has no
load at all. There is no gradual performance degradation whatsoever. If I
had setup tomcat properly, I would expect sql server to become my
bottleneck, since this is where all the queries are taking place.

I am sure that those of you who know how to administer tomcat and/or windows
machines have met this situation before and know which parameter to tune. If
so, please let me know, cause I really have a headache due to this...

Thank you all for your time and effort in advance,

mamalos

-- 
View this message in context: 
http://old.nabble.com/tomcat-6.0-bottleneck-tp29885725p29885725.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

Reply via email to