• The Horde webmail has been deprecated. Its complete removal is scheduled for April 2025. For details and recommended actions, see the Feature and Deprecation Plan.
  • We’re working on enhancing the Monitoring feature in Plesk, and we could really use your expertise! If you’re open to sharing your experiences with server and website monitoring or providing feedback, we’d love to have a one-hour online meeting with you.

Question IIS Performance with Wordpress

johnny a

New Pleskian
I wanted to see if anyone else out there was experiencing a similar issue. I'm currently running Plesk 12.5.30 on Windows Server 2012 R2. The server is a vm with 8 cpu's @ 2.5ghz and 8 gb's of ram. I've got about 150 sites on the server. A majority of which are running wordpress.

The problem I'm running into is constant high cpu usage on the server. I'm seeing constant spikes in the cpu usages of the php-cgi.exe files that are running these wordpress sites. 10-14% per process instance. I've taken all of the steps I could find online to reduce the load including enabling gzip compression, running php 5.4.45 using fastcgi and wincache enabled. I'm using wp-super-cache (tried w3 total cache but it doesnt seem to play well with IIS) on the wordpress sites to help. Changed the db in the wordpress config file from localhost to 127.0.0.1 And despite all my efforts the sites are still eating up the cpu causing the sites to load slow when my server takes a hit. Ram isn't an issue, I'm always around 50% usage. My network usage is always low. It only seems to be an issue with CPU.

I really don't think 150 sites should be that much of a load for a server. My static sites load fine and are really snappy. Should I just bite the bullet and load up another vm with plesk to spread the load around? Or is there something I'm missing here. I know wordpress is "optimized" to run on linux but there's got to be other people out there with a similar setup.
 
There's always going to be a finite limit on total sites, regardless of whether it's Wordpress or Magento.

For Wordpress, it all depends on how well-behaved the plugins are for each Wordpress install. And I mean ALL depends as in it won't matter squat how well you've got the server optimized. If you've got poorly implemented or poorly written plugins all over the place, you're always going to be pushing the CPU up. I've seen one Wordpress site bring a 2-core virtual with 16gb and SSD drives to it's knees all by itself. Having 74 Wordpress plugins was the first clue....

So it's not the quantity of sites, it's the quality of the site implementations. You may simply have no choice but to split up the load across additional boxes.

In most cases, there are only a few rogue Wordpress installs causing the majority of the grief. You can find those in Process Monitor pretty quickly. Peel them off into a different environment or start digging deep into those plugin installs.

Also use phpinfo to confirm your Wincache is actually loading - I've seen a few boxes where it was installed but referenced in the wrong php.ini, so it never actually loaded with the php process.

wp-super-cache can put some torque on a system by itself depending on how often you have it refreshing the cache.
 
Hi

With wordpress ,etc. you definitely need some sort of mod security enabled as they try to brute force the xmlrpc and wp-login pages. This could be causing your issues. We have the paid version of modsecurity and host of 400 PHP sites and many other ASP.NET sites on the same server with no load issues currently.
 
Back
Top