Hi all,

I am working on a project where the parameters of the tomcat server (e.g.
MaxThreads, MinSpareThreads, MaxSpareThreads etc.) for a given web
application is auto-tuned using a machine learning technique by looking at
the runtime characteristics (e.g. workload characteristics, current
performance etc.). As of my knowledge, the typical way of setting these
parameters is by changing the server.xml inside the {catalina-home}/conf
folder. In order to reconfigured/tuned values to get updated, we need to
restart the tomcat server. However, the project that I'm working on
requires the ability to change the parameters dynamically while the system
is running.

I have looked into several approaches. One way is to use JMX and use the
setters to set the parameter values. I have tried setting the MaxThreads
parameter of the shared executor thread pool and it seems to be working
fine. Now I'm looking into using that approach and set it up in my source
code and access MBeans to change the parameters.

I just wanted to know whether I'm going in the right direction. Also, is
there any other easier way of achieving what I want? I have gone through
prior work in this research area and seen many people have tuned tomcat
parameters in such a fashion. However, there seems to be no docs/articles
on this topic. Am I missing something here? Any feedback is highly
appreciated!

Tomcat version: 7.0.93

Thank you.

Best regards,
Supun

-- 
*Supun Abeysinghe*
Undergrad, Department of Computer Science and Engineering,
University of Moratuwa, Faculty of Engineering.
+94717018897
<https://lk.linkedin.com/pub/supun-abeysinghe/109/3a4/554>

Reply via email to