Mysql – PHP slow on IIS with thousands of users

iisiis-8.5MySQLPHP

So in the last couple of days PHP's performance on our site has just died and we are not sure what is causing it. We have around 1-2k simultaneous users on at a time. So I made an empty test.php file that I put on the site and tried to load it. It took 9.6 seconds to load. I then tried the same thing with a test.html file and it took 43ms to load.

Both files were empty.

Our site does connect to a local MySQL database, but in those tests it did not as the files were empty.

We also run a few other sites off of the same PHP version on the same server with IIS 8.5 with no problems what so ever. So I am stumped on what could be causing this performance drain on this specific site.

I suspect it's something to do with the php.ini file but I'm not sure what. We are running PHP 7.0.7.

Does anyone have any suggestion oh now I can find out what the problem is and how I can overcome it?

PHP.ini file http://pastebin.com/4U7SGyvC

Best Answer

(I cannot comment, sorry, so I write as an answer)

Can you try switching between ISAPI, FCGI or some other installed IIS modules for PHP? Also, I would check if IPv6 is enabled on server, and then disable it. Could be some timeout issue, trying to resolve localhost ::1, but it does not exist (mostly with MySQL...but still worth a try).

From my experience, most of the time some PHP EXTENSION has to do something with bad performance. Maybe you could temporarily load php-ini.recommended or at least disable all PHP extensions and go by enabling 3 of them at a time. BTW...examine Windows Event logs for errors after you restart IIS. Look for possible failures to load some PHP module/extension.

Related Topic