I've been having an increasing lack of performance in my server (slowness, stalling on page loads, largely backend issues where I spend most of my time) over the past month or two on what is primarily a standard blog. The site gets 20k hits a day though I even have these issues on weekends when traffic is lower as well.

Current host/setup:

  • Knownhost VS3 (VPS) / Apache / RAM: 1216 MB
  • Optimizations: WP Super Cache & Cloudflare (CDN)
  • Memory usage typically at 15-20% / Hard Drive: 50% of 60GB

I tried uninstalling Super Cache & installing W3TC. That brought some additional issues including finding out the hard way that we couldn't enable object caching.

Server issues have been ongoing for the past couple years with a few different companies. It's not new/recent, just getting worse.

My main question is whether the plugins I have enabled could be creating these problems as my host suggests & if so, how do I reduce the number of connections? PConnect is not a possibility where I need caching.

See the host's message below...

Please verify the number of apache connections to the plugins in the domain:

root@host [~]# sh plugins.sh
70869 jetpack
241234 mailchimp
5099 shadowbox-js
206378 slidedeck-lite-2-for-wordpress
91584 twitter-blackbird-pie

The 'mailchimp' is a recently installed plugin which has already created a high number of apache conenctions.

# stat mailchimp
File: `mailchimp'
Size: 4096 Blocks: 8 IO Block: 4096 directory
Device: bbh/187d    Inode: 11994057 Links: 5
Access: 2012-04-23 00:09:45.533873264 -0400
Modify: 2012-04-23 00:09:52.778590301 -0400
Change: 2012-04-23 00:09:52.778590301 -0400

Full plugin list (most of which are pretty essential to site functionality):

All in One SEO Pack 
Ambrosite Next/Previous Post Link Plus
Meta Box (custom - uses Alchemy) 
Blackbird Pie 
Get The Image 
Google XML Sitemaps 
Jetpack by WordPress.com 
Links in Captions
Load Scripts (custom - for enqueuing Javascript & CSS files) 
Login LockDown 
Shadowbox JS 
WP Super Cache
WP to Twitter

First of all, we need to clear up some terminology here. You and your host are citing "Apache connections," which makes no sense.

Basic Application Lifecycle

WordPress is a PHP application. PHP is run in Apache using (typically) mod_php.

When a user requests your website, they send an HTTP request to your server (Apache). Apache sees the request and, based on its configuration, forwards the request to PHP.

PHP will start up WordPress, which reads the URL requested and fires off the appropriate routines to respond - this includes loading any of the the plugins you've listed and, if needed, your theme.

After WordPress/PHP build out the HTML for your site, they hand it back to Apache. Apache then hands the response back to the browser.

This is where caching comes in ...

Your HTML page likely includes several stylesheets, images, JavaScript files, etc. Each of these resources will be requested by the browser. So we walk through the above process again with the browser requesting a new URL, Apache forwarding that to PHP if needed, and packaging a response.

Your plugins do not, on their own, create any kind of "Apache connection."

What you can do

You've already installed a caching system. Are you sure it's working? Verify that static content is being served from the cache and you're one step closer to lowering your server load.

You can also install a front-end cache like Varnish to prevent frequent requests for static content from even getting to Apache.

Also, you can use Nginx instead of Apache to lower your memory footprint.

But all of these are decisions you need to make based on the skills you have, the tools you have available, the resources you have on your VPS (and likely the amount of cash you have to spend on an outside expert).

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.