I've 4 web servers, 2 database servers (read & write), Redis and a load balancer. I'm using PHP 7.0 & Apache2 & MySQL 5.7, however when I do load tests with 3000 users which surf at the same time, the servers crash one by one.
The Apache servers are strong, each one has 32GB ram and sadly all of them reach to the maximum usage of RAM.
We've made a lot of changes to the code, however, it does not feel right to me, my hosting providers can't help me further config my server as they say this is the best they can do, and here I need your help - what are we missing? which configurations in the PHP / Apache / MySQL should be set?
I would clarify that the site works well for let's say 300 clients, but as more and more clients visit, the response time reaches to 50 seconds per request which is really weird, how only 400 clients make my server to respond so slowly?
I'm really despaired and confused, what should we look at?
Thanks a lot.
Text results of: B) SHOW GLOBAL STATUS; C) SHOW GLOBAL VARIABLES; D) complete MySQLTuner report E) SHOW ENGINE INNODB STATUS; Optional very helpful information, if available includes - htop, top & mytop for most active apps, ulimit -a for a linux/unix list of limits, iostat -x when system is busy for an idea of IOPS by device, df -h for a linux/unix free space list by device, cat /proc/meminfo includes VMallocUused
for server tuning analysis. – Wilson Hauck Jul 02 '18 at 20:02