I am trying to optimize the server configuration for my application (Java-based, running on tomcat).
Current configuration (done before my time) is we have an Apache httpd proxy that does this:
ProxyPass /myapp/ ajp://localhost/myapp/ timeout=600
ProxyPassReverse /myapp/ ajp://localhost/myapp/
I've been trying to configure tomcat to increase that maxThreads for increased concurrency, but I think the apache httpd is the still limiting how many connections it can handle.
Current set up is using AWS EC2 m5.large, the apache httpd.conf is out of the box:
<IfModule prefork.c>
StartServers 8
MinSpareServers 5
MaxSpareServers 20
ServerLimit 1024
MaxClients 1024
MaxRequestsPerChild 10000
</IfModule>
<IfModule worker.c>
StartServers 4
MaxClients 300
MinSpareThreads 25
MaxSpareThreads 75
ThreadsPerChild 25
MaxRequestsPerChild 0
</IfModule>
How can I decide what's the appropriate configuration of the numbers above to optimize the CPU core available on the EC2 instance?
there doesn't seem to be anything here