Web Performance Optimisation (WPO)

One of my business partners sent me a great link yesterday and I was thinking about it a little tonight.

The post is located here : http://www.stevesouders.com/blog/2010/05/07/wpo-web-performance-optimization/

Steve names a new type of business and this is Web Performance Optimisation (with a nice TLA of WPO!). I wonder if we will see WPO offered as a specific service by people soon? I know we have performance some (more specific) Magento performance optimisation for customers as we have seen demand for that.

Google recently announced that it takes page load times into account now, in delivering search results to customers. Although it expects this new action may inly impact about 1% of all websites, it still highlights a growing need for performance.

And some of the references in the Steve Souder’s article highlight somet interesting statistics. Let me quote :

The major search engines measured how much web site slowdowns hurt their business metrics:

On the faster side, companies from a variety of vertical markets had praise for the benefits gained from improving performance:

I find that pretty interesting, and it means a lot for your websites.

So, how do you start evaluating our own website performance, and how can you improve it?

We typically look at a number of areas of performance, and the utilise some tools/services to try and improve in each area. But I do admit, in our own business we haven’t done enough of this recently.

but here are a few good places to start :

Page weight

There are some great tools out there that analyse your page components, and test how long they take to load. Web server performance can have an impact on this, but often it is large image files, and lots of CSS/javascript that are the culprits.

How do you fix it? Use some great little plugins in the Firefox browser to analyse your pages and make suggestions.

MUST HAVE Firefox plugins for developers and website owners are

Yslow will provide a rating of lots of page elements, and give you links to help pages that explain what the grading means (if you have an ‘F’, you fail!), and what to fix.

Server Load

There are lots of tweaks you can do to a web server, but checking the server load can give you some ideas on how hard it is working.

The simple ‘top’ command on a unix command prompt can give you a lot of information (Google for help), and you can also set up monitoring tools (like Zabbix for instance) that can monitor and alert you on all sorts of performance and system elements.

Some things you can look at when analysing server performance:

  • Server location
    • Is your host slow? Google for reviews!
    • Is it hosted in another country? Distance = delay
    • Is it a shared host, with lots of websites on the same machine?
  • Server specification
    • Does it have low memory?
    • Slow internet connection?
    • Does it have any caching enabled?
    • Does it have fast disk access?
  • Software
    • Do you have recent versions of software? (it’s usually best to have new stable versions)
    • Use a faster webserver if you can (lighttpd, nginx etc)
    • Are you running web server and database server on the same machine?

Server configuration can be a complex area of performance, and you can do any number of things to boost performance including getting right down to recompiling software like the operating system kernel itself to boost throughput.

Start simple, do some research online, and ask people for help!

Caching

There are many ways to enable caching on servers and websites, but the most common are :

Gzip for webservers

Most hosts will allow you to edit the .htaccess file on your webserver to enable compression of html/javascript/css etc. What this effectively does is compresses data, sends it to the customer’s browser which then decompresses it on the fly.

This can result in a BIG decrease in page load times.

PHP Caching

Caching for website code can be great for performance, and give many websites run on PHP code these days, there are a few caching mechanisms around that might help.

The most popular are Xcache, eAccelerator etc. See link for more info here.

MySQL caching

Like PHP, MySQL is the webserver of choice for so many websites, that it deserves its own section!

Improving MySQL cache settings can make a huge difference to your site, especially for database intensive websites like Magento.

See this search for some ideas on what to tweak.

Cool stuff

I also wanted to mention some other neat little apps for testing page load times.

They are

  • Chartbeat
    • This is a neat little tool. Install some simple little javascript tags on your pages and chartbeat shows you in real time how long your customers are waiting for page loads, what page they are on, and whay they are doing on your website.
  • Loadimpact.com
    • This tool can test your webserver performance with an increasing number of customers, so you can measure the improvements that you make.
  • ab
    • No, not a typo. ‘ab’ is an apache benchmark application. It is often installed on a unix server, and can test server response times. For example, the command ‘ab -c 10 -t 60 http://yourdomain.com/yourpage.html’ would test the server response and page load times on your web page with 10 concurrent users for 60 seconds continously. Use this in between changes to help identofy improvements.

‘WPO’ covers a huge range of things. Everything from hardware configuration, to server software and config through to application performance tuning.

I have only hit the tip of the iceberg in this post, but I hope it gives you a few starting points when trying to make your website run that little bit faster.

And, if you want some professional advice you can always contact us here.

Magento Performance – Magento 1.3 Benchmarks

Magento Performance is a hot topic at the moment. We recently installed Magento Commerce version 1.3.0 on a test server with a current production database to do some performance testing and I thought I would publish a few results. They aren’t exhaustive tests, but indicative I think.

Although we haven’t done a huge amount of testing yet there are some interesting results (and some performance improvements over a ‘standard’ non cached install).

First, any figures should be interpreted with respect to our own current configuration for this test. These results were NOT for a standard demo data set.

(more…)

The Fast Rise of Magento Commerce

I follow Magento Commerce and it’s development rather closely. This is because on of my businesses retails online using the Magento ecommerce software and my other business leverages this knowledge (and a lot of other online retail experience) to develop Magento modules and code and shipping automation software.

I have written about some of this in my blog before, and will write a little more shortly as we release our Fraud Prevention Magento Module (using fraud screening technology from Maxmind.com) and some improvements to our shipping automation software ReadytoShip (which now supports Magento).

I have noticed a steady increase in the amount of traffic coming to this blog because of Magento keywords searches in Google. I just happen to rank fairly highly in Google for the term “Magento Performance” which is good, maybe I should write a little more about it!?

But I have also noticed a larger number of online stores in Australia either developing in Magento, or already using Magento. There are a few big brands too, like Durex and Homedics using it now too.

I did some Google searching this morning for the .au domain to see how many stores I could find built of being built in Australia and there are already over 120.

The Magento name is being searched heavily worldwide now, see Google Trends from All Regions and Australia here.

Google Search Trend all regions

Google Search Trend all regions

Compare the Magento trend to that of ‘oscommerce’.

google-search-trend-all-region-oscommerce1

Not a bad start for Magento Commerce down under, especially when the product is only at an early version 1 stage and there is not a huge amount of developer and designer support for it yet (although this seem to be growing as well).

Magento Commerce online store performance

We have been using Magento Commerce for about 3 or 4 months now as a new online store platform for a few of our websites.

Magento is a new product, but already growing very quickly in users and features.

We are currently ChannelAdvisor customers and had been using the standard ChannelAdvisor store for some time. We took part in the beta test group for ChannelAdvisor premium stores (which look pretty good) but we have decided to use Magento Commerce instead.

Why did we do this? Well, there are a number of good reasons…
(more…)