I have spent the last 2 month, trying to sort out a problem I had with my server being brought down to its knees if my own site (the site you are reading right now) got 2 – 5 visitors at the same time. I have been reading all optimization reports, how-tos and tips I could find on the net.
I have fiddled with MYSQL, apache2 and this site in particular to no avail. I am pretty sure the problem lies with wordpress and some plugins, not with the server. While doing some more research on the net I found this guy’s website: www.pageloadtime.com and the funny thing is he promises to do exactly what I am looking for right now and is also living in South Africa.
After being put off by the text on the top right side of his website I decided to review his services and contact him:
This webpage loads in 1 second
All the WordPress 2.6 pages on this website loads within one second.It does not use proxies, no Lighttpd, no Nginx, no mod_cgi.
Just normal Apache, PHP, MySql and the WP Super Cache.
Let me make your website fast as well, so that you can have the time and pleasure of adding more content to your website.
I do not agree with these statements or rather some of them are irrelevant:
This text states that this website loads in 1 second which might be true, but I think what is meant is that this website is generated in 1 second. The load time depends on the client’s connection. The next point I disagree with is the site using WP Super Cache and still having a 1 second generation time — I think 1 second generation time is a pretty bad result for a cached site.
Are you curious what all these times mean? Take the page you are currently reading as an example:
Render Time: 0.200 cpu sec (59% load, 18.065 startup). Clock: 0.335 sec (35.2% for queries). DB queries: 27, none defective, none > 0.500 sec. Memory: 11.9MB
Now what does this mean? It means this page was generated in 0.335 seconds using 27 queries meaning that my server could generate this page 3 times per second, 180 times per minute if it was only serving this website. So if this site was alone on the server it could be served to 180 visitors per minute. How long it took to be delivered to you depends on your Internet connection
But what if you have i.e. 3 sites with similar values on your server? That means each of your sites can only be served to 60 visitors per minute. You have to take all this info into account when optimizing and the most important tip of all is that you need to have a goal, i.e. state clearly what you want to achieve before starting, i.e. have your page generation time below 0.3 seconds or something similar. Only if you do this you can actually measure the results of your optimizations.
Free Services:
- Add an expires header for css, js and pictures
- Remove ETags headers
- Compress css,html and js
All the free services offered are basically the advice any decent server admin will give you. Besides that, this advice can be also obtained from the free add-on for Firefox called YSlow but all in all I think it is very nice to offer these services for free even if it takes just a couple of minutes to implement they will still greatly improve results.
Donations-Based:
- Donations-supported MySQL Checkup and Tuning
The service offered here is based upon your MYSQL run-time variables and uses MySQLreport to offer advice for improvement. This seems to be good value and is also just a matter of checking some variables and interpreting them, so if the needed donation is not to big, you can consider using this service but you need to be aware that you could also download this tool yourself and analyse your MYSQL settings. I do also recommend using phpmyadmin, which is usually installed on every server, to navigate to the Status tab where you can see the run-time variables and advice marked in red. Additionally you could use the excellent MySQLTuner which also offers great insight into your MYSQL installation.
Commercial Services:
- Install a PHP opcode Cache like Eaccelerator, xCache or APC.
- Install the static HTML page cache for WordPress, Drupal or Joomla
- Install Apache, MySQL and PHP at your webhost
opcode Caches are a great improvement to any dynamic site and if you haven’t got one installed you should go ahead and get one now. I personally use eAccelerator and am very happy with it as it was extremely easy to install and delivers great improvements to my sites.
Installing a static page cache is a great idea but should only be done after optimizing your site and should be considered a last step. As I haven’t got much experience with Drupal or Koomla I can only state that its extremely easy to install a caching plugin for wordpress but if you are in doubt, go ahead and consult this site.
I won’t comment on the last service as it is needed before running a webserver but honestly, if you can’t install Apache and MYSQL you have no business running a web server.
Concerning the optimization for my site, I was successful. I deactivated a plugin that was meant to speed up my site and page generation times dropped from 0.9 seconds to about 0.2 seconds. I will not name the plugin here because it was not really the plugin’s fault. The plugin author had stated a big red warning on the plugin’s site with some scenarios where the plugin could actually slow down a wordpress installation and the fault is exclusively mine for not properly reading the warning.
!!!I forgot the most important tool with which I measured all these times: WP Tuner — its a free plugin for wordpress and I highly recommend it. Besides that, I also recommend this great wordpress plugin: php speedy. For help tuning your server, site or wordpress installation, feel free to comment here or even in the shoutbox on the right.

I don’t know if you visit to matt cutts blog or not but once he sited this article to improve server timing on loading a page. It is not written by him but the author did a good job. http://sixrevisions.com/web-development/10-ways-to-improve-your-web-page-performance/
Thx for that link, very interesting to read indeed.
Just checking out your columns — looks good — though you have some stray code showing:
[column width=“47%” padding=“0”] and [/column] in Firefox
Thanks Steve, the column plugin has a little bug: you need to put a space in between its own short codes, otherwise they show up, just like you notices. Fixed it right now