Google Page Speed Service and eZ Publish loading performance
By: Peter Keung | July 29, 2011 | Web solutions
Google Page Speed Service is an interesting new offering for websites. It is currently free, but with limited availability for the time being. It claims up to 20 - 60% speed-up in overall page load. It accomplishes this by routing all site traffic through Google, which will automatically perform some optimizations such as minifying CSS and JavaScript and serving some page assets through its own content delivery network (CDN). This is quite interesting, and there is even a site that runs a test to show you how your site performance will change if you use the service. We ran this test on a few client sites, and certainly there was up to a 25% performance improvement on some; however, for others the Google-optimized version was slower!
You can take a look at the Google Page Speed documentation to get a good sense of the sorts of changes the service makes to automatically improve your site performance. The reason why some of our client sites -- especially the larger ones and ones running newer versions of eZ Publish -- already perform better is because we are already taking advantage of the performance improvements that the framework allows for. Some key examples:
- Combining and minifying CSS and JavaScript: the ezjscore extension provides some simple tools to use in templates and other site code to accomplish this and more. See this useful article for some usage examples and documentation.
- Image optimization: the long-existing image alias system enables you to define image sizes and have the system auto-resize uploaded images. You also have full control over the image conversion parameters used by ImageMagick. For example, the "-strip" parameter removes EXIF metadata that is usually not required, and which we've found can take up 10% to 50% of the total image file size (the higher percentage gain being on small thumbnails).
- Content delivery network: Of course, the very idea of a CDN requires the use of external services such as Akamai, Rackspace Cloud Files, or Amazon Cloudfront. Offloading page assets such as images, PDFs, JavaScript, and CSS to the CDN frees up server resources and serves these assets from edge locations close to each site visitor. eZ Publish binary assets are stored in a dedicated folder, with new paths generated for each new version of an asset. This makes it very easy to set very long cache expiry settings on such assets, since the content at their URL paths will never change.
There is a comprehensive presentation by Damien Pobel that talks about the above performance enhancements and more. Your eZ Publish site already has the tools in place to be optimized for fast page loads -- are you using the tools?
That said, Google Page Speed Service is certainly something to keep an eye on, and also to test drive. There are limitations, such as a lack of support for SSL pages, and for some sites, some unpredictable behavior; and there are many unknowns, such as the cost structure if and when it is no longer free! However, the idea of automatic improvement and at the very least, another CDN competitor has got our attention!