jconsole lets you monitor Tomcat or another Java application so that you can see how much memory is in use, how many threads you have running, how many classes, etc.
Here's an example of a Tomcat server that was sitting virtually unused ... which we then exercised through ApacheBench - the
ab utility that's supplied with Apache httpd, as follows:
ab -n 2000 -c 30 http://192.168.200.215:8080/whm_course/demo.jsp
That's calling for a page to be loaded 2,000 times - with a concurrency of 30 (in other words for there to be 30 connections all at the same time, simulating visits from 30 different places.
Not surprisingly, the effect of sending 30 concurrent requests was that Tomcat started another 30 threads to handle them (!) and those threads between them grabbed anothe4 4 Mbyes or so of memory. The cpu usage spiked to around 20%. What is interesting to note is that - once created - the threads live on in case further requests come in.
(written 2009-03-14, updated 2009-03-15)
Associated topics are indexed as below, or enter http://melksh.am/nnnn for individual articles
A602 - Web Application Deployment - Apache httpd - Sourcing, Installation, Testing [3426] Automed web site testing scripted in Ruby using watir-webdriver - (2011-09-09)
[2520] Global and Enable - two misused words! - (2009-11-30)
[2184] Choosing the right version of Java and Tomcat - (2009-05-16)
[2096] Where is my new Apache httpd installed - (2009-03-22)
[1945] Summary - Apache httpd build on Linux - (2008-12-14)
[1768] What is built in to this httpd and PHP? - (2008-08-23)
[1731] Apache httpd, MySQL, PHP - installation procedure - (2008-08-01)
[1707] Configuring Apache httpd - (2008-07-12)
[1455] Connecting to MySQL 5 from PHP on Mac OSX Leopard - (2007-12-03)
[1449] Upgrade Mac OSX to Leopard, Web Server Apache httpd config lost - (2007-11-29)
[1292] DHCP automatic IP address v Static IP - (2007-08-06)
[1095] Apache httpd , browser, MySQL and MySQL client downloads - (2007-02-28)
[982] Notes from the white board - (2006-12-14)
[907] Browser -> httpd -> Tomcat -> MySQL. Restarting. - (2006-10-28)
[660] Stopping and restarting Apache httpd cleanly - (2006-03-29)
[550] 2006 - Making business a pleasure - (2006-01-01)
[526] Apache httpd - serving web documents from different directories - (2005-12-12)
[523] Apache httpd release 2.2 - (2005-12-10)
A503 - Web Application Deployment - Java - Sourcing, Installing, Initial Testing [2153] Class Loading and Variable Conversion in Java - (2009-05-02)
[2079] Java - Memory Allocation and garbage collection - (2009-03-14)
[1908] Java CLASSPATH explained - (2008-11-26)
A692 - Web Application Deployment - Monitoring and load testing your server [3027] Server logs - drawing a graph of gathered data - (2010-11-03)
[3019] Apache httpd Server Status - monitoring your server - (2010-10-28)
[3015] Logging the performance of the Apache httpd web server - (2010-10-25)
[2272] Monitoring and loading tools for testing Apache Tomcat - (2009-07-07)
[2082] Jmeter - a first test case - (2009-03-14)
[1718] Increasing Java Virtual Machine memory for Tomcat - (2008-07-24)
5518
Some other Articles
Books and distance learning from Well House Consultants?Do you support a decent train service? Please sign up!Connecting jconsole remotely - the principlesUsing ApacheBench and jconsole to test and monitor TomcatA lot has changed - but the memory lingers onWhy put Apache httpd in front of Apache TomcatA New Advert for Well House ManorSupporting Parkinsons and Trains