WordPress 3.0 has been released few days ago, and judging from the search queries that brought visitors to this website, the transition has not been without problems. So, here is the first part of WordPress 3.0 benchmark comparing this version to previous 2.9.2.
Most issues so far were caused by the lack of memory for PHP causing not only upgrade to fail, but some memory hungry pages also. Also, compatibility of many old plugins caused upgraded websites to break, pointing to a big problem with most plugins that are not in development anymore but still widely in use and preventing many websites owners to move to new and better WordPress.
Tests are done using fresh installations of WP 2.9.2 and WP 3.0. Only one plugin was used, and that is GD Press Tools Pro 3.7 that is used to perform some of the measurements for the benchmark. At the end I did some testing using 10 plugins. My test server uses Apache 2.2.11, PHP 5.2.9 and mySQL 5.1.37. I have tested following (and most important) admin pages: Dashboard, Posts, Post Edit and Comments.
This first part will focus on WordPress administration because most of the issues are there, and this time PHP used memory, page loading and number of executed SQL queries.
Test 1: PHP Used Memory
WP 3.0 uses more memory than WP 2.9.2. On all pages WP 3.0 uses 2MB more, and on some it can use between 3-4 MB more than in WP 2.9.2. This difference is the same regardless the number of plugins active.
Activating 10 plugins, memory rises by 8MB. On this website that has 20 plugins active, WP uses 41MB on average. Most WordPress websites use 15 or more plugins, and that means that standard setups with 32MB for PHP are not enough to run WordPress. This is very important requirement for WordPress, and yet it’s not stated anywhere on official website, and most users will find out about this the hard way and unprepared. WordPress.org MUST state somewhere how much memory you will need under different setups, because right now WordPress 3.0 can’t be run at all on default PHP installation with minimal 16MB.
Another memory issue is upgrade from 2.9.2 to 3.0. If you have more than 11-13 plugins active and only 32MB and you are on host that prevents changing of PHP memory, automatic upgrade will surely fail. I tested 2 of my websites locally with memory limited to 32MB, upgrade failed in every case. Also, if you upgrade your website with all plugins disabled first, you need at least 30MB (!) for PHP for auto upgrade. So, realistic minimal PHP memory requirement for WordPress is 32MB. With many plugins active, you need at least 48MB or 64MB for PHP. And this all will make a lot of problems to all users on shared hosting.
Test 2: Number of SQL queries
This is very much improved in WordPress 3.0, and on average WP 3.0 executes less queries and that’s good because your mySQL server can run with more requests in the same time. Both number of queries and time needed for all of them is faster in WP 3.0.
This points to many optimizations behind the scenes, and new WordPress will have less impact to mySQL server performance than previous versions including WP 2.7, WP 2.8 and WP 2.9.
Test 3: Page Loading, server side
Some time is gained by lower mySQL execution time, but it’s lost on the PHP side, so overall loading time is a bit slower than before. Difference goes up to 10%, but in some cases loading time is the same. Number is average of 10 measurements.
This is the first part of these tests. Second one is coming tomorrow, and the third will be in a couple of days. These tests show you measured facts about new WordPress, but you mus be aware of all the changes in new WordPress and everything added, because all that comes with the prices: performance. You can’t add tons of features and expect nothing to change. But, I think that big problem is that existing WordPress users were not prepared to that fact and many of them blame WordPress developers for the problems they had with upgrading to WP 3.0.
Over the last 2 years, WordPress needs more resources with every new version, but there is nothing about that on official WordPress website, and until you experience the problem first hand, you have no idea that WordPress needs more and more resources to run. And all that is just bad work from everyone working on WordPress.org that needed to prepare users for the new release and what they can expect. Same mistake with every release, and that’s not good.