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>