I have 2 servers for my website :
- One server 256GO RAM 20c/40t for MySQL
- One server 256GO RAM 20c/40t for Apache
The MySQL server is always ok (30-50% of CPU is used).
But the Apache server become SUPERSLOW when my website start to get 10,000 simultaneous connected visitors (5,000 pages loaded per minute). What is strange is than this server doesn't reach its limit yet because the memory charge of the CPU is around 20-30%.
This is what top
return on the Apache server (when the website is superslow with 10,000 visitors).
top - 22:04:17 up 22:34, 1 user, load average: 12.61, 13.59, 13.47
Tasks: 2139 total, 20 running, 2119 sleeping, 0 stopped, 0 zombie
%Cpu(s): 28.2 us, 7.2 sy, 0.0 ni, 63.0 id, 0.0 wa, 0.0 hi, 1.6 si, 0.0 st
KiB Mem : 26410644+total, 17146396+free, 8632064 used, 84010416 buff/cache
KiB Swap: 1047548 total, 1047548 free, 0 used. 25449820+avail Mem
It's like there is a limit one the CPU charge of this server.
And this is the configation of the Apache server:
keepalive: Off
keepalivetimeout: 2
maxclients: 3000
maxkeepaliverequests: 1000
maxrequestsperchild: 15000
maxspareservers: 300
minspareservers: 150
serverlimit: 3000
startservers: 1000
timeout: 300
And I should precise than yesterday I was on a 128GO RAM for the Apache server and the website could support 13,000 simultaneous connected visitors before it started to become superslow. So I decided to change for a 256GO RAM, but the result is worst...
Any ideas?
I'm using WHM.
(Sorry for my english)