tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Mark Thomas <>
Subject Re: Tomcat Online Parameter Setting/Tuning
Date Tue, 12 Mar 2019 18:45:31 GMT
On 12/03/2019 16:05, Supun Abeysinghe wrote:
> 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!

JMX is the right approach. Just keep in mind that changes to some
parameters don't take effect until the component is restarted.

You might want to consider using

to persist any changes you make.

The other thing to keep in mind is that most of the time is spent in
application code so you normally get a bigger return for your investment
if you focus on application tuning.


To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message