Screen Pages recently analysed the performance of its Magento hosting system at Peer1 conducting load tests using automated software. The tests show that with a properly configured and optimised Magento and hosting environment, daily visitor volumes of over 500,000 can be easily achieved at reasonable cost.
The exercise was designed to show at what level Magento websites would show deteriorating performance with increasing numbers of concurrent visitors. In context, in our experience, e-commerce websites with annualised sales of say £5m and average order values of £50-£100 will be receiving daily traffic of 5,000-10,000 visitors. At peak, this could be 2,000-5,000 visitors per hour on a representative 10 hour trading day, with 50-100 concurrent users at any one time.
The load profiles we tested on the Magento website were built to simulate “real world” traffic as closely as possible based on what we see on other retail sites. However we have increased the secure (checkout and account pages) traffic slightly higher than we would normally see to simulate a period of high sales on a website and to add extra load to the database server. The load was spread out as per the following page viewing profile:
- 66% of visitors browsing the site (random catalogue pages, product pages, 10-12 pages in total)
- 6% of visitors running searches on the site (1 search, 1 results page)
- 27% logging into accounts, adding items to basket, going to checkout (4-5 pages)
The load tests run are made on the assumption that the website will have all Magento Enterprise caching enabled and populated and a normal trading day will have traffic over a 10 hour period per day and that on average visitors will generate approximately 10 page requests per visit.
Simply running Magento on generic servers risks performance issues that translate into slow loading pages, abandonment and lost sales. To get the most out of Magento, a honed infrastructure is required to power it, both in terms of software and hardware and especially where there a 000s of products, back office integration and multiple stores.
The website ran on two well-specified physical servers in a private, custom-built cloud environment at Peer1, a Magento Platinum partner and hosting specialist. These servers were configured thus:
• Magento Enterprise 1.12
• 1 web server (24 core CPU, 16GB RAM) – running Nginx and PHP-FPM
• Percona Mysql database server (24 core CPU, 16GB RAM)
The servers are running on Screen Pages's private cloud of physical and virtual systems at Peer1 behind a high performance Firewall and protected and monitored by a hardware Intrusion Detection System (IDS.)
Analysis of results
As we increased the number of concurrent users (to simulate a daily total of visitors), it was shown that response times (measured by total page load time) performed well up until 400 concurrent users (equivalent of over 500,000 visitors in a day).
As we increased the number of concurrent users (to simulate a daily total of visitors), it was shown that whilst the servers did not stop serving requests, the number of page views and “hits” served increased steadily until 400 concurrent users (a daily visitor count of over 500,00) and no further – the only deterioration in performance being in response times.
The above results proves conclusively that this configuration of servers would cope comfortably with visitor volumes of 300-400 concurrent visitors viewing in aggregate about 200 pages per second, with up to 500,000 visits per day, peaking at 50,000 per hour. Above this level the average load times decrease dramatically as more visitors are added. CPU and memory usage on the servers stayed within normal operating parameters due to Magento Enterprise’s caching, the limiting factor therefore seems to be how fast data can be read from disk and over the network. This is shown particularly in the slowdown of getting non-cached static content such as images.
They also show that this server configuration does not to fail completely on the volume of visitors in the test - a big positive.
In any event, this number of concurrent users – even if approached – would unlikely be a sustained scenario for businesses with online sales of less than £25m, Screen Pages' target client.
Magento can scale very effectively and performantly. 500,000 visits per day can be a handled on two well-configured servers running Magento Enterprise. 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 e-commerce services – is targeted at niche retailers many of whom would be extremely content at this level of trade and performance. The combination of Magento Enterprise, Screen Pages implementation experience and e-commerce insight - backed by Peer1's hsoting expertise - can offer great value for online retailers.
By Roger Willcocks