Notice : This article is outdated
Last Wednesday, Nov 03, Google's Webmaster Central Blog introduced the release of a module for Apache called mod_pagespeed - making your "websites run faster, automatically ... by about 2x in average". Have you watched the comparison video showing amazing facts and figures? Sounds very exciting how this module can improve your site's loading time.
We were curious about the tool and wanted to prove it on our own sites. We decided to make some experiments on three different sites of JoomlArt powered by Joomla, Drupal and Magento respectively, so let's see how it goes...
The Raw Stats
I - Testing site running on Joomla
Server: http://demo.t3.joomlart.com AT3 on rackspace cloud
- Ubuntu 10.04 LTS (Lucid Lynx) 64 bit, 4Gb of RAM
Before:
After: Decrease load time 5.34s -> 4.93s
Results:
- Decrease page load: from 5.34s to 4.93s
- Get only one more point: from 67 to 68
- System load very high:
- 08:17:53 up 2 days, 22:03, 1 user, load average: 77.74, 43.37, 20.15
- 08:27:43 up 2 days, 22:13, 1 user, load average: 99.64, 95.51, 59.32
- Absolutely killed server. Have to reboot using Mosso Cpanel
II - Testing site running on Drupal
Server: http://drupal-themes.joomlart.com - Drupal demo server on EC2
- Ubuntu 9.10 Karmic Koala 32 bit, 2Gb of RAM
Before:
After
Results:
- Marginally decreased page load time
- Pagespeed score improved by only 1 point
III - Testing site running Magento
Server: http://www.joomlart.com/demo/#jmtc - JMDemo on rackspace cloud
- Debian Lenny 64 bit, 4Gb of RAM
Results:
- Too high System load: > 78
- Server seen to overloading
- Missing CSS caused by broken layout
Is it disappointing or what? Let's take a closer look.
For Magento, we hardly can't say anything, it can be the problem that the mod_pagespeed is still in beta and does not well support our Debian server (which is also pretty old). However what we could measure on Joomla and Drupal sites didn't knock our socks off, far below the hyped expectation.
Let see the core: http://code.google.com/speed/page-speed/docs/filters.html
add_head combine_css rewrite_css rewrite_javascript inline_css inline_javascript rewrite_images insert_img_dimensions extend_cacheWe can easily split the core & default optimization of mod_pagespeed into 3 groups: CSS & Javascript (combine_css, rewrite_css, inline_css, rewrite_javascript, inline_javascript), IMAGES (rewrite_images, insert_img_dimensions) and CACHE (extend_cache)
Let's see if we have done the job already with our JAT3 and JDT3.
CSS & Javascript
JAT3
- CSS in blank template: http://demo.t3.joomlart.com/joomla15/index.php?jat3action=gzip&type=css&file=t3-assets%2Fcsse4849.css&v=1
- CSS in JA Event template: http://templates.joomlart.com/ja_events/index.php?jat3action=gzip&type=css&file=t3-assets%2Fcss28d79.css&v=2
- JA Blank Javascript : http://demo.t3.joomlart.com/joomla15/index.php?jat3action=gzip&type=js&file=t3-assets%2Fjscd9c5.js&v=1
- JA Event Javascript: http://templates.joomlart.com/ja_events/index.php?jat3action=gzip&type=js&file=t3-assets%2Fjs6b5b1.js&v=1
JDT3
- JDT3 bases on a quite good css/js & caches optimization which has already exist in Drupal 6 as default. Let's also look at the css & js files
- CSS file of JDT3 Blank templates:
http://demo.t3.joomlart.com/drupal/sites/default/files/css - CSS file of JD Event:
http://drupal-themes.joomlart.com/jd_events/sites/default/files/css - JS file of JD Event:
http://drupal-themes.joomlart.com/jd_events/sites/default/files/js/js - JDT3 Blank templates does not use any extra js file so we cant list it here
Note: All of above files will be deleted and re-created when the caches are refreshed so you may need to visit the orginal sites and view the source manually.
IMAGES...or any Media file
We recommend to move all static files, such as images and videos to a good CDN provider like Google Apps Engine or Amazon S3 & CloudFront.
Caches
Like any mature CMS, Joomla, Drupal and Magento have already a good cache system so extend_cache
of google mod_pagespeed won't do much job on this aspect. 2 level of caches can be very tricky and risky in which you really need to know what is done at each level. Again, this can also be put on the CDN providers like IMAGES.
Summary
All in all we can state following fact: applying mod_pagespeed to our test sites, which are running with T3 Framework (JAT3 & JDT3), this tool was not able to show big time improvements, only very marginal. But this doesn't necessarily mean this module is not keeping it's promise - to speed up your site 2 times and fully automatically.
But one thing is save to say, if you do your housework well, clean all stuff related to CSS/JS and put static images to the cloud and deliver with CDN service then your site is pretty well optimized and even Google's cool module cannot really make a difference. If you are loading your websites with JAT3 framework powered themes or any system which does really great job with css/js/images/caches optimization; you don't really need to use mod_pagespeed. If you turn it on, you must configure the filters properly.