Speed and Performance Optimization Case Study
Speed and Performance Optimization for BeautyPlusSalon.com
Reduce median load speeds throughout Beauty Plus Salon from over 6 seconds on average to under 3 seconds.
Steps were taken to improve speed and performance by Shero:
- Image resizing, compression and optimization – Our team analyzed all images loading on CMS pages and helped the Beauty Plus Salon team resize and optimize images. Larger images were optimized manually for best appearance, and smaller images, as well as product images, were optimized automatically with scripts.
- Redis Cache – Redis is an open source, advanced key-value store. It is often referred to as a data structure server. We worked with Nexcess to choose Redis as the best option for Beauty Plus Salon and configure Magento to utilize it properly.
- Nexcess CDN – We use Nexcess CDN (content delivery network) to deliver Beauty Plus Salon to its users from the shortest distance, leading to higher deliverability and performance.
- Combine & Minify CSS – To reduce file size, CSS is combined and minified.
- Analyze output compression – Dynamic output compression was found to delay first byte time and overall load speed and was disabled in favor of our own custom extension which uses the content negotiation features built into the Apache web server to send either a pre-compressed copy of the resource or an uncompressed copy based on what the browser is able to load.
- Enable Flat Catalog – Magento uses the EAV model to store customer and product data. This upgrades extensibility at the cost of prolonging SQL queries. Enabling the Flat Catalog for Categories and Products merges product data into one table, thereby improving performance. Generally, all stores should enable Flat Catalog for Categories. Stores with over 1000 products should enable Flat Catalog for Products. – See more at: https://docs.nexcess.net/article/how-to-optimize-magento-performance.HTML#sthash.RcRRbTij.dpuf
- Remove slow-loading elements from catalog category pages & Enable block level caching – Through page load analysis, we found that there were several slow-loading elements throughout the site, specifically on the category page. One example of this is with the rewards points calculations. We discovered that the rewards points from Sweet Tooth Rewards were being calculated on the category grid view pages, which was not necessary, so we disabled this functionality.
- Magento has built in support for caching the results of every block of HTML that is generated. Unfortunately, very few of the blocks that generated are themselves enabled for HTML caching. The most expensive HTML block generated by Magento is the product list block used to display products in a category using a list format. We added a solution that enables caching for that specific block.
- Configure catalog bestsellers for optimal load speed – Beauty Plus Salon wanted to use Bestsellers as their default sorting option on category pages, but it slowed down large categories, some of which contained thousands of products. We reconfigured the bestseller data for optimal load speed.
Beauty Plus Results – Statistics (Tests performed with https://my.pingdom.com)
|Page||Home Page||Category Page with 3169 Products||Category Page with 201 Products||Product Page|
|First Byte Time:||.07||0.909||0.636||0.886|
|Median Load Time:||2.93s||3.42s||2.48s||2.17s|