In an earlier post we talked about non-functional requirements for your Magento site which often get over-looked not only when scoping the project but also when developing the design. Today we are going to look in-depth at the #1 non-functional requirement – performance.
Magento site speed is about more than individual page load times. What happens when your home page loads in less than two seconds but your add to cart function takes more than three? And what if that benchmark is only local and you are global? The longer they wait, the harder your revenue falls.
ISO 9126 is an international standard for the evaluation of software. It lists six main characteristics for quality software. Performance is not one of them. Instead it talks about efficiency. The time it takes to perform a transaction and the resources required to do so. Why? Because they go hand on hand.
You can take a slow Magento site and host it in the cloud and use sophisticated caching and you can still have an inefficient site. Because you are using a huge amount of resources to mask the fact the site code is not optimized to perform. And the way you detect that is not just in the monthly hosting bill but by also looking at pages on your site that cannot be cached such as search results and carts. And, sure, you can cache the static parts of the page to mask the issue even further but at some stage that server call has to be made.
Load your home page. Fast? Now try it from Amsterdam. Still good? Now try your add to cart function. And just how long does it take from when your customer presses the Place Order button to the display of the Thank you message? Is it still 2 seconds? What about on Black Friday or Cyber Monday? Or even when your nightly backup is running?
It is important that performance be part of your requirements, supported by your design and included in site testing. To do it you need to know two important things: expected load in terms of concurrent users or HTTP connections and acceptable response time. Once you know these, you check your performance by gradually increasing the load on the system while looking for bottlenecks:
- at the application level, for example, poor search algorithms
- at the database level, for slow queries, missing indexes, inefficient joins
- at the operating system level, such as CPU, memory, swap, disk I/O
- at the network level, packet throughput performance and reliability.
Who does that for you? Well your site developer. No? Then try EcomUnlimited. We specialize in Magento site performance.
Find out how we can increase your online profit through optimization of your online business.