With release of new WordPress 3.2, it’s very interesting to see benchmarked performance of last 3 major versions, and how far the new WordPress has come. This is first benchmark post with the results of the performance of the WordPress administration side. Second one coming in the next couple of days.
For tests I have used WordPress 3.0.4, WordPress 3.1.4 and WordPress 3.2. Test machine is CentOS powered VPS server with PHP 5.3.6 and mySQL 5.1.57. All WP installations used only GD Press Tools 4.0.9 Pro plugin, and all had exactly the same content. GD Press Tools Pro had all its security related features activated, and they add about 3 SQL queries per page, and these queries are counted in the results below. Since I run GD Press Tools Pro as a part of all my WordPress installations, I think of it as logical and essential expansion of WordPress. Other than that, no caching plugins, APC on server (or other similar extensions) are used for the benchmark.
Each test for each WP version is repeated 10 times, highest and lowest results are removed, and the average is calculated from the rest of the measured values. Same method is used for server and client (browser) side. For client side measurements I have used Firefox 5.0, and before each measurement, all cached data was emptied. I use Lenovo IdeaPad Y560 with Intel Core i5 and 8GB RAM.
Testing is done on 4 most used pages in WordPress: dashboard, posts list, post editor and comments list. Other pages are similar to these 4, and they will not show much difference in overall results.
Server Side Execution
For client side I have measured 3 elements: used PHP memory to generate the page, number of SQL queries executed and time server needed to generate the page. WordPress 3.2 uses a bit more memory from 3.0.4 and 3.1.4 as it is expected, but on the other hand, it needs less SQL queries and less time to do it.
As you can see, WP 3.2 uses about 1% more memory from WP 3.1.4. In case you add 10-20 plugins (common number of active plugins on any website), this relative difference will remain the same in 1% to 2% range increase.
The only anomaly for the WordPress 3.2, is that it uses much more SQL queries on the dashboard to prepare the page, but considering that page is generated and loaded faster anyway, this is not a big deal. These extra queries are very simple and they are executed very fast. On some pages this speed difference is significant, making WP 3.2 is some cases even 40% faster on the server side. WP 3.1 is the slowest of the three.
Client Side Execution
And all this is with no browser caching. Speed increases much more when you take into account browser caching and then you can see and feel the speed of new WordPress as soon as you try it.
Client Side Execution, Cached
Two charts below show page load time when cache is active, and relative speed change in page load when you calculate page size against load time.
In almost all instances, pages load faster when cache is used as it normally is in the browser, and that speed is very obvious. Also, these are Firefox 5.0 measurements. Opera 11/11.5 and Chrome 11/12 are much, much faster than Firefox, almost 50% and even more in some cases, so new WP will be faster if you use these browsers. Just to compare, with Opera 11.5 post edit page in WP 3.2 loads in 2.4 seconds, almost 3 seconds faster than in Firefox!
Last chart shows one interesting comparison. Compared value take into account page size and loading speed with cache and shows relative change between versions. Lower value is better. If we take WP 3.0.4 as a referent version (normalized to 1.0 for all pages), you can see that WP 3.1.4 is slower in almost all cases from WP 3.0.4, but WP 3.2 is faster in all cases from both 3.0.4 and 3.1.4 in some cases even 40% faster, in the case where matters the most: post editor. Post editor is typically the slowest part of WordPress, and now that has changed and all is good.
So, as you can see, new WordPress 3.2 is significant improvement over the earlier 3.x versions. Only issue with new WP is that some users don’t like visual changes. Some of my clients expressed that they don’t like so many interface changes with every major version, and it would be good to leave interface as it is for some time and that interface changes should be reserved for major, number changing versions like 4.0 or 5.0.
For my part, I like new interface, but more I like the new WordPress speed, and I will be switching all my websites to WP 3.2 as soon as I make sure that all plugins I use work with it. Before upgrading to WP 3.2, check out the system requirements of your server. If you want to read more on new WordPress, check out my review. And benchmark of the front end for all 3 WP version is coming in the next couple of days.