Online performance tuning apache tomcat

I’m relatively new to this field and not sure whether I’m posting the question in the correct forum.

I’m trying to do online parameter tuning for the TPC-W benchmark. (It is a 3-tier web application and a standard benchmark used for performance.) I have managed to set up the TPC-W benchmark. I have used tomcat 7 for the web+application server (does tomcat have a web server inside?) and MySQL for the database. I read somewhere that to change server configurations (say MaxThreads parameter), we need to change server.xml and restart the server.

My question: Is there a way to change the parameters dynamically (while the system is running) without restarting so that I can autotune (using machine learning) the parameters of the server by looking at the runtime characteristics.

Answer

The interface that traditionally deals with such stuff is JMX.

From my memory, MaxThreads cannot be dynamically changed via JMX on tomcat7, which for me would imply it’s not possible at all. But take a look, because some other dynamic setting may be interesting for you.

JMX can be used natively via a fat client like jconsole.
There are also RESTful proxies for JMX, like jolokia.
Look for ‘Catalina’ labels within JMX items (MBeans). In this context ‘Catalina’ is synonymous with ‘Tomcat’.

Attribution
Source : Link , Question Author : smb564 , Answer Author : kubanczyk

Leave a Comment