I am using Apache 2.4.46 on Debian 10. Due to poor performance (about 30-40 requests/s), I switched to the event MPM, which didn't solve the performance problems.
After looking a bit more into it using mod_status
, I came up with these observations:
When accessing a static HTML file with ab -n 1000 -c 200
, I get about 30-40 requests/s and mod_status
shows 1 requests currently being processed, 49 idle workers
all the time. I see two processes with 25 threads each running, but only one thread seems to process all the requests. The server load (CPU and memory) is very low during the whole benchmark.
When I access the same static HTML file with abs
and SSL, about 50-150 requests are being processed at a time and Apache creates more processes. The requests/s are still equally low, and with a higher concurrency of 400 the website is unavailable (timeout).
Why is Apache only processing one request at a time without SSL?
Why are requests served in parallel with SSL while the performance is still equally bad?
And why is the web server unavailable when benchmarking with a concurrency of 400 with SSL?
question from:
https://stackoverflow.com/questions/65877031/apache-processes-requests-serially-with-74-idle-workers-event-mpm 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…