Screen Pages recently analysed the performance of its Magento hosting system during a busy seasonal period on a client's website. In summary, we have every confidence that Magento can scale significantly - at relatively low cost - to handle large volumes of transactions. Screen Pages is aware that some Magento website owners struggle with the optimisation and configuration of Magento to achieve satisfactory performance.
As an aside, Screen Pages has invested considerable time in designing and deploying an optimised Magento hosting platform with our partners NTT. Many folk have downloaded Magento, built their site and ended up disappointed with its performance and operation (we would be lying if we said we had not experienced this at first hand).
Summary of results
The website scaled very well and operated with very acceptable response times. Traffic peaked at 50,000 visits on the busiest day of the trading period with close to 4,000 orders processed on that day from about 500,000 page views. Annualised and assuming an average order value of £65 (the average for Screen Pages' clients), that represents sales of £90 million - a handsome level of return from a Magento website.
Upon closer inspection, however, the scaleing is more impressive as the traffic was condensed into a very narrow period during the day: 82,000 of those pageviews occurred in the busiest hour, implying much higher capacity and scale.
Response times were impressive as well. Industry norms are about 2 seconds. Server response times were less than one second more than 83% of the time and impressively, less than 100 milliseconds about half the time.
Page downloads were less than half a second (500 milliseconds) 90% of the time.
Data source: Google Analytics
Hardware architecture
The website ran on shared servers in a private, custom-built cloud environment. These servers were cofigured thus:
* Two load balancers (dual core, 4GB RAM virtual machines) with full page and static content caching - shared across other client sites.
* 6 web servers (quad core, 12GB RAM virtual machines) - shared across other client websites. The system could have run on 4 or less servers, however in our environment, we have found that provisioning a surplus of small machines provides better resilience.
* mySQL database server replicated to an identical server for failover (dual core, 12 GB RAM virtual machines). This configuration provides very high availability and the use of virtual machines means that it can be delivered at much lower cost than with physical devices.
All web servers run a shared configuration and shared storage which eliminates potential propagation and synchronisation problems. It should be noted that the servers were sized to operate at no more than 50% capacity through-out.
The private cloud system provides n+1 resilient IBM hosts running VMWare ESX with high availability features to deploy and manage virtual machines. The servers are linked to a SAN which provides centralised, shared storage. The web servers run behind dual Fortigate firewalls separating the network into three isolated security zones.
Software optimisation
In terms of Magento and software optimisation, the following improvements are deployed as standard across client websites:
- cache management, where pages are stored in caches and served to visitors entirely from memory. This is used in combination with AJAX (asynchronous background updates) to populate dynamic data in the background (for example, basket data);
- Static content merging, where various files (such as stylesheets (CSS) and Javascript files) are merged and downloaded to the browserin combination;
- Browser caching, where content is checked and loaded from the browser locally (if it already has it) or, failing that, directly from the load balancers;
- Selective caching, where only "changes" are refreshed in when catalogue/content updates are applied (as opposed to the whole website).
Conclusions
Magento can scale very effectively and performantly. 50,000 visits per day can be a handled on a small cluster of standard virtual servers running Magento software. This level of traffic would yield - on a normal statistical basis - a £20-50m business. Compared to conventional retail, that's a phenomenal return.
Screen Pages' core business offering - Magento services - is targeted at niche retailers many of whom would be extremely content at this level of trade and performance. The combination of Magento, Screen Pages' implementation experience and e-commerce insight can offer great value for online retailers.