apache improvements
Making notes here about ways to optimize connections via apache. I was reading through some sources about apache worker concurrency (since CPU usage seems to be a bottleneck? at least that's an operative theory), here's an informative one:
https://serverfault.com/questions/775855/how-to-configure-apache-workers-for-maximum-concurrency
So I need to find out which modules are being loaded and what settings are being used. Here's the setup for dev2
and playground
(AWS).
gracedb-dev2
:
root@gracedb-dev2:/etc/apache2# apachectl -M | grep mpm
mpm_worker_module (shared)
root@gracedb-dev2:/etc/apache2# cat mods-enabled/worker.conf
<IfModule mpm_worker_module>
ServerLimit 25
StartServers 2
ThreadLimit 64
MaxClients 150
MinSpareThreads 25
MaxSpareThreads 75
ThreadsPerChild 25
MaxRequestsPerChild 0
ListenBacklog 511
</IfModule>
gracedb-playground
:
root@17b0c88a4c4f:/etc/apache2# apachectl -M | grep mpm
mpm_event_module (shared)
root@17b0c88a4c4f:/etc/apache2# cat mods-enabled/mpm_event.conf
# event MPM
# StartServers: initial number of server processes to start
# MinSpareThreads: minimum number of worker threads which are kept spare
# MaxSpareThreads: maximum number of worker threads which are kept spare
# ThreadsPerChild: constant number of worker threads in each server process
# MaxRequestWorkers: maximum number of worker threads
# MaxConnectionsPerChild: maximum number of requests a server process serves
<IfModule mpm_event_module>
StartServers 2
MinSpareThreads 25
MaxSpareThreads 75
ThreadLimit 64
ThreadsPerChild 25
MaxRequestWorkers 150
MaxConnectionsPerChild 0
</IfModule>
# vim: syntax=apache ts=4 sw=4 sts=4 sr noet
So that's a start at least. They look to be the same (I'm assuming the default...), but i have some knobs to tweak potentially. I'll look into doing some testing with ab and siege and see what i can come up with.