I'm trying to switch a site from an old CMS to WordPress. I ain't got root. I can't install extensions. Vanilla PHP 5 install. So I just put microtime on each end, topped it off with memory_get_peak_usage.

  • Old CMS ran for 0.415 seconds and consumed 512 kilobytes of memory.
  • WordPress ran for 0.748 seconds and consumed 9728 kilobytes of memory the first time, and then it ran for 0.429 seconds and consumed 9984 kilobytes of memory by serving from WP-Super-Cache.

So, is installing WordPress a performance loss? But lots of popular blogs that get bazillion visitors a day use WordPress! How? Or are these numbers not representative of the performance? Or maybe WP-Super-Cache is broken and not running as fast as it should? How do I know where is the page being served from?

Edit: Scratch that, WP Super Cache is just not working for some reason. It never serves what it caches.

  • WP Super Cache serves static content only if you're not logged in (based on cookies)
    – Julien
    Sep 24, 2009 at 12:44

5 Answers 5


High-volume WordPress blogs are probably using PHP accelerators, for starters. WP is a very include-heavy architecture that benefits particularly well from an accelerator (which is another way of saying that, as you're seeing, it suffers particularly from not having one).

Your improved speed on the second pass suggests to me that WP-Super-Cache is working.

  • Actually, it's not working, as I just found out. Which turns out to be the actual problem. Sep 13, 2009 at 14:47

I strongly recommend using WP-Super-Cache, you have to tune it to work with static pages (HTML files in tmp directory). It's better to generate the webpage in 15 minutes intervals, because if you have a lot of comments the user feels that it's not real-time.


It really doesn't matter how well they perform. Just put some caching in front and most issues will be gone; if you are careful, most pages in any CMS will be basically static- i.e. http://cms.com/index.html, /2009/11/12/my_post.html, etc. do not change from request to request (index.html only changes if there is a new blog post, blog post pages only change if the post is edited), so there's no need to incur the cost of calculating them again and again.

Only if they are updated frequently you will run into problems (I'm guessing this is Twitter's problem, for instance).

IMHO, just with Apache httpd's mod_cache and a non-broken script you should be bandwidth-bound.


I suggest using the Apache Benchmarking tool, ab, to see which system handles more concurrent requests. Here's a good example of how, but googling "ApacheBench" gives many other results.


Well why is all the world using apache when people know that it serves pages at half the speed then Nginx or Lighttpd and have serious DOS problems with people leaving connections open?

Because most of the people don't care. They just follow the herds and here it is the wordpress herd. By the way when running from cache they look the same just more memory overhead.

Do some stress tests if the memory overhead will cause aborts if you get slashdotted and you get many concurrent incoming processes. Try a "ab -c 50 url-of-your-page" from a VPS server on the net - if you can't run this for many requests say 100000 you have a problem.

  • This is not the place for religious rants or stereotyping. Your answer might be valid, but that's not the way to present it. Sep 21, 2009 at 21:43
  • There is nothing religious or stereotyping in the fakt that people work in herds and as sheeples. If you want to be playing this "politcal correctness" game you should at least learn what "politic" is.
    – Lothar
    Sep 26, 2009 at 9:07
  • This is not the place for religious rants or stereotyping. Your answer might be valid, but that's not the way to present it
    – JJ01
    Oct 10, 2009 at 23:50

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

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