We have been working with a top consultancy on performance issues with Magento, our key goal was to produce sub-second performance with minimal hosting costs for small sites. Given that, we have used the Amazon AWS infrastructure micro instances with the following configuration obtaining sub-second page completion.
Configuration circa $50/mth (free usage tier equates to $20/mth for first year)
- Micro ElastiCache
- Micro EC2 instance
- Micro RDS (MySQL)
For dynamic page loads
For static page loads (full page cache)
- Varnish with failover to Nginx
- PageCache Extension
The micro setup dynamic page test produced 1.5s page completion being faster than 80% of websites. Using Varnish reduced the times to 1s for page completion making faster than 85% of websites for performance. When the visitor numbers increase there would obviously be a requirement to increase instance sizes as micro instances are burstable and not continuous. Having to ‘hole punch’ dynamic content through the caching system means that there are limitations with full page caching including not being 100% certain if the content the user is seeing is correct unless thoroughly tested, this can be caused by upgrades, incompatible extensions, bugs in code, etc.
A small instance which is four times the price produced 600ms page completions which is also similar to the large instance being ten times the price of a micro instance, page loads for both were <100ms and faster than 92% of websites.
For comparison Walmart.com has a page completion time of 1.16s, Apple.com 800ms, Amazon.com 1.7s and Bloomingdales.com 1.6s.
We note that when running the MageSpeedTest a micro instance produces 2.5transactions @ 0.7s each. Moving to a large instance produced marginally better results. We find it very interesting that we were seeing mid 500ms page completions and were faster than 92% of websites using a small instance (setup circa $100/mth) but only had 2-3transactions per second whereas the hosts listed on MageSpeedTest were showing 30transactions per second making them faster than 99% of websites available.
We also note that the MageSpeedTest for Bloomingdales.com is 5.77 trans/sec @ 0.03 secs along with 1.6s page completions (faster than 80% of websites), we find these results interesting given that Macy’s (the owner of Bloomingdales) has turnover of $26billon per year.