Hi.

I have a Linux application server running Apache + mod_jk + tomcat 5.5 (I know that it is relatively old; and to compound the heresy, it is installed from a Debian package).
The hardware is quite OK (quad-core fast CPU, 12 GB RAM).

Apache is serving most of the static content, and passing some requests to Tomcat via AJP. Tomcat runs basically a single application, but this webapp, although itself quite small, can be heavily used : it is an interface to a text retrieval system (a kind of database specialised for textual data), and some of the searches made by users can take several seconds to come back with results, which may themselves be several pages of data.

I can access the host remotely via SSH and via HTTP, and have full control of 
it.
But it is a productive customer server, so there are limits to what I can do.

I am having performance issues with that system : users at times complain that "they cannot access the application", and I see things like this in a "top" display :

top - 08:20:02 up 72 days,  9:39,  4 users,  load average: 6.83, 5.63, 3.16
Tasks: 265 total,   1 running, 264 sleeping,   0 stopped,   0 zombie
Cpu(s):  0.2%us,  0.1%sy,  0.0%ni, 99.2%id,  0.5%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:  12328624k total, 11382976k used,   945648k free,   123400k buffers
Swap:  4882424k total,      860k used,  4881564k free,  7565012k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
 2023 tomcat55  20   0  627m 184m 9344 S  333  1.5  32:00.47 jsvc
 5396 root      20   0  832m 610m 9224 S  100  5.1  12:32.43 java
    1 root      20   0 10316  760  624 S    0  0.0   0:33.14 init

(where I presume that if tomcat is showing 333% CPU usage, it is because it is running on multiple cores; the second task visible above is the interface to the search engine).

Anyway, my question is :

Considering all the above, which would be the easiest/quickest way of starting to figure out what this tomcat is doing, and where the system/application bottleneck might be ?

My preference would be in an easy tool to install and run, to first get a rough idea, and then maybe select more specific tools to examine one or the other area more in-depth. Or maybe I can just first add some command-line switches to the JVM running tomcat, to give me more information in the logs ?

(My workstation is Windows XP, and I can install anything I want on it.)

Additional details :

Platform : (Linux 64-bit)
# uname -a
Linux vogon2 2.6.26-2-amd64 #1 SMP Thu Nov 25 04:30:55 UTC 2010 x86_64 GNU/Linux

Tomcat and Java :

Using CATALINA_BASE:   /usr/share/tomcat5.5
Using CATALINA_HOME:   /usr/share/tomcat5.5
Using CATALINA_TMPDIR: /usr/share/tomcat5.5/temp
Using JRE_HOME:       /usr/lib/jvm/java-6-sun
Server version: Apache Tomcat/5.5
Server built:   Oct 15 2008 12:57:44
Server number:  5.5.26.0
OS Name:        Linux
OS Version:     2.6.26-2-amd64
Architecture:   amd64
JVM Version:    1.6.0_22-b04
JVM Vendor:     Sun Microsystems Inc.
vogon2:/usr/share/tomcat5.5/bin#

Tomcat is started as :
tomcat55 2023 2021 6 Apr11 ? 00:31:58 /usr/bin/jsvc -user tomcat55 -cp /usr/share/java/commons-daemon.jar:/usr/share/tomcat5.5/bin/bootstrap.jar -outfile SYSLOG -errfile SYSLOG -pidfile /var/run/tomcat5.5.pid -Djava.awt.headless=true -Xms128M -Xmx128M -Djava.endorsed.dirs=/usr/share/tomcat5.5/common/endorsed -Dcatalina.base=/var/lib/tomcat5.5 -Dcatalina.home=/usr/share/tomcat5.5 -Djava.io.tmpdir=/var/lib/tomcat5.5/temp -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.util.logging.config.file=/var/lib/tomcat5.5/conf/logging.properties org.apache.catalina.startup.Bootstrap

(which I don't think is a lot of heap space, which may be a problem here. But before I change it, I'd like to know why I change it; the server.xml settings are pretty much the standard issue, all defaults for threads etc..).

Apache and mod_jk :

Apache/2.2.9 (Debian) DAV/2 mod_jk/1.2.26 mod_apreq2-20051231/2.6.0 mod_perl/2.0.4 Perl/v5.10.0 configured

Thanks in advance for any recommendation


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

Reply via email to