Tomcat Performance Tuning

Here are some idea's that can have a impact on performance or improve performance.


Turn debug off A high level of debugging will impact performance
Set tcpNoDelay to true This disables the Nagle algoritham which concaternate small buffer messages and thus decrease the number of packets sent over the network.
Set enableLookups to false This disables the DNS lookup thus incresing performance
Use a thread pool for ever request a new java thread is create, by creating a thread pool a number of threads are started ready to be used. Min and Max numbers of threads in the pool can be set.

Load Tesing

Load testing a Tomcat or Apache web server can be done using a load tester software package, there are many on the market commericial or open source packages. However there is one that the Apacahe Jakarta collection uses called JMeter.

JMeter is cappable of load testing FTP, JDBC datasources and even java objectsas well as HTTP amd HTTPS. Basically you setup a plan to execute aginst the Tomcat server, the results can be graphical or text based.

The plan will consist of a thread group which details the number of threads used to load the Tomcat server also the thread group will contain the following:

HTTP request

This action will contain the following:

port name
path to a file (index.html)

View Results Tree (Listener) This will display the results in a text based fashion
Graphs results This will display the results in a graphical based fashion

For more details on JMeter follow the link