We have an apache server 2.4.X which we are using as a reverse proxy in front of one Java Application . We have enabled Apache status module Apache Status and we are able to see that number of idle worker threads will always be zero , Hence performance of our application is poor . Our hosting server have 32 cores and 64 GB of RAM . We are using mpm_worker module of Apache . Apache mpm_worker .Our Current mpm_worker configuration is :
<IfModule mpm_worker_module> ServerLimit 150 StartServers 8 MinSpareThreads 25 MaxSpareThreads 75 ThreadsPerChild 25 MaxRequestWorkers 150 MaxConnectionsPerChild 10000 </IfModule> .We went through Apache performance tuning article and found that we can have 2930 request workers as per our server configuration .My questions are .
Changing MaxRequestWorkers alone to 2930 will work ?
Do we need to change ThreadsPerChild also ?
StartServers which represents Apache child processes also needs to be changed /Or can we change this also for optimum performance based on our server configuration.
What should be ServerLimit value for updated MaxRequestWorkers case which will be 2930 ?