Behold WordPress, Destroyer of CPUs

You dedication to Windows ecosystem cripples you. I think starting a new portal with new web server is a perfect opportunity to get into Linux. I suggest to set up the same blog system on Linux and compare CPU usage and speed. That might be an interesting article.

how are you virtualizing the windows box, and how many virtual servers do you have on the one bit of hardware?

Most forums of ‘full virtualization’ (as opposed to paravirtualization, as I use to run Linux virtual servers) are fairly expensive, performance wise. have you installed the paravirtualized drivers for disk/network on your windows box?

Nevermind the fact that the newest version of WordPress is pretty much an absolute frigging mess, right down to the new hideous aqua admin UI (which does have a color option to set it back to ‘classic mode’… which only changes part of the admin UI). It came out of the box with a broken file uploader for a whole lot of people because of its required dependence on a Flash component.

Seeing this bit of news here today does not surprise me in the least. Unfortunately I’m fairly heavily invested in it, using it to run a number of websites (except for the one I’m linking to my name, which is on Tumblr).

congrats you are now result 4 on google searches for wp cpu usage!

You’re right – that’s hilarious.

I am collecting feedback and I will post an update at the end of this entry once I’ve collected it all.

My hope is that something constructive will come of this – that the WordPress team will realize how important caching is and how it needs to be folded into the core, like, yesterday. The Summer of Code information is a great start!

I assume you have seem this:
http://www.hanselman.com/blog/ScreencastHowToIIS7AndPHPWithFastCGI.aspx
?

It includes a part about caching built into IIS.

PHP on windows has long been a notorious poor performer and when I tried it with a phpnuke variant for simple blogging, it was pretty much unusuable it was so slow.

It’s a totally different story with IIS7 – Win2k8 is a first-class PHP host.

http://blogs.iis.net/bills/archive/2006/10/31/PHP-on-IIS.aspx

Honestly, I can’t say enough good things about Windows Server 2008. I’ve been extremely impressed with it. People found Vista underwhelming, but the newest iteration of Server is substantially better than 2003. And the “Web” edition is reasonably inexpensive, though not free like the *nixes…

This has nothing to do with running it on Windows. That WordPress is a hog is something I frequently see acknowledged by developer-users from any platform (yes, Linux included).

Jeff, I’ll echo the suggestion that you roll your own, though. It really IS a pretty simple thing to build, particularly if you aren’t after all of the plug-in magic. I’m sure that with your C# mojo, you could build something to fit the bill.

As many others will tell you, stop using Windows, and for god’s sake stop using IIS.

Yes, it’s much better than it used to be. It used to be cripplingly slow, and insanely insecure. Now it’s just slow, overweight, and inefficient at using memory. And since I doubt you’ve got IIS using thread pools for PHP, you’re probably reloading the whole damn binary for each dispatch.

The obsession with full-on x86 virtualization doesn’t help anything either. It’s only really necessary for dealing with the fact that it’s stupid to share a multi-user Windows server with people you don’t trust, not that you’d want to anyway because of architectural deficiencies anyway.

Unless you’re in a really high-end virtualization environment, your VM’s disk speed is also crippling it, and it doesn’t help that the Windows VFS layer is pretty shitty about using free memory for caching when it’s there.

It’s because they hate your freedom.

What’s the database back-end? Some database engines do better query caching that others, making those 20 trips not such a big deal.

If you think WordPress is polished software then you probably haven’t read much of the actual code, tried to write plugins, or themes. It’s just another giant messy PHP hack.

The advantage of WP of course is that it works well, and it has more plugins and themes and features and users than the others.

Dear Jeff,

Do you know for sure it is the not the database or database abstration layer? Wordpress could be doing heavy use of the database. May be with MYSQL works great but has a performance penalty for SQL Server. Maybe OleDb instead of ODBC can be a great difference or the other way arround.

I am sure that there must be a reason as Wordpress is such a widespread aplication in cheap hostings. Surely, being a clever one you will be able to discover it soon. Please tell us.

Agreed with other commenters above. While WordPress is a pretty complete application, and it has a fairly polished UI, it reads like a hack.

Hopefully this post will help to persuade WordPress developers to deal with the issue.

Try Bloget. (http://blueonionsoftware.com/bloget.aspx). It’s so light and fast it will make your head spin (well maybe not, but you get the idea).

First off let me state that I use both Windows and Linux and I am comfortable with either - lest you guys start accusing me of fanboyism on either front. That being said what makes y’all believe that 20 database calls per page view is a good idea for any OS? Thats not a Windows/*NIX problem, thats crappy coding in Wordpress no matter how you slice it. Thats using more CPU and memory no matter what OS you are on. Jeff’s article is about Wordpress and it’s failures to implement common-sense practices around page caching and performance, not what OS better runs that hog.

Oh. Windows, IIS, FastCGI, PHP.
Match made in heaven, indeed.

It’s a totally different story with IIS7

Do you work for the Microsoft press department or something? While Microsoft is completely willing to sacrifice any prior products if it helps sell the newest outing, I’d expect more of someone in the industry.

Firstly, FastCGI is available for all contemporary IIS versions. Secondly, FastCGI is fast compared to CGI. If you don’t need CGI isolation, it’s slower than ISAPI, and of course there has been an ISAPI version for time eternal, and IIS 6 has fantastic ISAPI.

The new caching features are novel (though kernel caching exists in 6.0) and nice. It’s also interesting to note that you can get IIS 7 in Vista (albeit with the normal limitations).

Anyways, yeah – RAH WINDOWS 2008! REVOLUTION!

And going along with everyone elses suggestions… Graffiti CMS?

It seems nice and lightweight and the same sort of experience, but on ASP.NET.

Jeff,

I am hardcore .Net developer, but on my blog I use Wordpress, because that is what seemed like the best of breed at the time, and I wanted to broaden my horizons about OpenSource. I had a press release about giving the domain Drupal.Com to Dries, and we got hit by Digg and I am happy to say the site stayed up. However, I did have the cache plugins.
I agree that this should be core - have you looked at Drupal? I it is more complex to setup, but more powerful than Wordpress, which is built just for blogging

Most sane people realize that microsoft is evil moto is not the best way to bring down the System. I do not even see google “not be evil” moto anymore.