Magento, a ready to fly ecommerce plateform, for those who really wanted to crack and enter the ecommerce market. Most of the time we found that Magento is good to start with but as business grows, it seems like Magento become a bottleneck itself in terms of performance, stability and then there is a big time question how to scale it up... here is a solution to start thinking...
2. o Performance
o Scalability
o Availability
(or Stability / Reliability)
o Maintainability
(or Flexibility / Testibility)
3. Typical Magento Store Visitors Behavior
Read Vs Write traffic
62%
30%
4%4%
Just Browsing and leaving
Adding to Cart and abandon it
Buying something as a Guest
Buying as Registered Customer
4. According to “Kiss
Metrics”, if your
ecommerce store is
making $100,000 per
day, even a one
second delay in page
load time, can
potentially cost you
$2.5M in lost sales
every year!
Slow Response Time Can Increase In Bounce
5. Optimization Areas To Improve Performance
Hosting Environment
To ensure the hosting solution can handle the traffic load and
current user expected at both peak and normal hours
Infra and Application Architecture
To ensure the Infra Architecture is designed correctly to
provide High Availability, Failovers, Scaling and fast digester
recovery. Also application architecture and deployment
strategy is equally important to utilize resources without let
them down.
Configuration Finetuning
Configuration of servers and services are equally important
to create harmony with your application requirement.
Application Optimization and Tuning
Best prentices of writing code, removing unused modules / extensions and
tuning Magento for Production gives noticeable impact.
Various Server Level Caching
HTTP Caching (Varnish), Compiled Code Caching (OPC), Object Caching (Redis),
Query Caching (MySQL), etc…
Static Content / Asset Caching
Browser Caching, Content Delivery Network, Expire Headers and
ETags plays potential role to improve performance of content
download
Leveraging Parallel Download
Your browser can make 4 simultaneous requests for a single
domain. Implementing Domain Sharding enables optimum use of
internet bandwidth by downloading assets / resources parallelly.
File Size and Compression
Optimized file size without loosing quality / usability is a key for
fast downloading over the internet and further compression can
reduce file size to save bandwidth.
Load / Stability / Scalibility Testing, further
Optimization and Finetuning
Page Speed Testing and Optimization
Page Speed tools test your application for user experience prospective based on
browsing experience and provide suggestions.
6. Benchmarking Magento with PHP 7
[2 to 3 Times faster]
In the benchmarks we see that PHP 7 is more than 50% faster than PHP 5.6 and consumes 4-5 times less
memory. This means that you can serve more visitors with the same hardware resources or that you need
much less hardware resources for the same amount of visitors.
Magento 2 supports PHP 7 out of the box, Magento 1 doesn’t work without patches.
59
310
170
205
190
40
21
129
80
100 90
19
0
50
100
150
200
250
300
350
Homepage Category Product
Detail
Product In
Cart
Search Login
ResponseTime(ms)
Magento 1.9 (sample data) by MGT-Commerce
Php 5.6 Php 7Benchmarking the Response Time
10.2
16.6
19.5
21.0
22.8
18.3
2.0
4.0 4.0 4.0
6.0
4.0
0.0
5.0
10.0
15.0
20.0
25.0
Homepage Category Product
Detail
Product In
Cart
Search Login
MemoryConsumption(MB)
Magento 1.9 (sample data) by MGT-Commerce
Php 5.6 Php 7Benchmarking the Memory Consumption
7. On top of flexible and feature-rich new platform, Magento 2.0
also includes comprehensive changes
that set a new standard for performance and scalability. Out-
of-the-box, Magento 2.0 can now:
• Process significantly more orders per hour on the same
hardware
• Offer near-instant server response times for catalog
browsing
• Deliver double-digit decreases in response times for cart
and checkout pages
• Better handle peak order volume, extra-large catalogs, and
outsized customer lists
• Support significantly more simultaneous administrative
users on the backend
Magento 2 is faster than Magento 1.9
0
50
100
150
200
250
300
Magento 1.9 Magento 2 (Php 5.6) Magento 2 (Php 7)
Orders / Hour
+22 % Faster
+117 % Faster
8. Benchmarking Magento with Varnish Cache
[Up to 250 Times faster]
One of the fastest known cache technology is Varnish. The technical principle
of Varnish is that a user hits the Varnish server first before the request gets
redirected to the web server if no cache version is available. If Varnish has
found a cached version of the requested URL, the page will be delivered
directly from the ram which takes only some milliseconds. The response time
will be around 35 milliseconds + latency.
Varnish is a http accelerator. It can be used as load balancer, failover system
and as caching reverse proxy, which make every Magento shop as fast as light!
0.75
Pages / Second
2.30
Pages / Second
255.87
Pages / Second
488.14
Pages / Second
No Cache APC + File Cache NGINX + APC + FPC NGINX + APC + Varnish
9. • Client Requests
• Content Delivery
• Security and Firewall
• HTTP and Other Caching
• Storage / Centralized Storage
• Application Stake
• Database Layer
Layered Architecture
10. AWS Auto Scaling For Magento
Autoscaling is a feature of
cloud or say AWS, which
facilitate to grow your
infrastructure automatically
based on load generated by
increasing / decreasing traffic.
Still there are some
dependencies like database,
caching layer etc. which we can
easily manage manually with
zero / less downtime with
some easy failovers and
architectural changes.
11. Magento provides a wide range of deployment and configuration options to support different use cases.
To optimize performance, many of the settings within Magento must be correctly configured in order to take
advantage of the performance and scalability enhancements that are included in Magento 2.0.
• Php 7 with Nginx
• Varnish
• Asynchronous Indexing
• Minify JavaScript and CSS
• Minify HTML
• Enable JavaScript Bundling
• Full Page Caching
• Asynchronous Email Sending
• Indexes Update on Schedule
• Application Cache with Redis
Recommended Magento Configurations
Best Practices
12. Key Take Away
Thumb Rules for Scaling Your Store
Segregation & Sharding
Growth &
Performance