Magento Performanceinfo2.magento.com/rs/magentoenterprise/images... · Magento Performance Toolkit...
Transcript of Magento Performanceinfo2.magento.com/rs/magentoenterprise/images... · Magento Performance Toolkit...
Magento
Performance
Toolkit
William Harvey
Principal Product Manager
Magento
Performance Toolkit
Magento Performance Testing – Control Variables
Test Protocol
Load Generator
Merchant Traffic Profile
Reference Store
Magento Platform
Environment
Reference System Architecture
Load Generator
• Hardware
• Developer’s Performance System
• Software
• Apache jMeter 2.11 r1554548
• JMeterPlugins-Standard, JMeterPlugins-Extra
Merchant Traffic Profile / Reference Store
Profile Websites Categories Simple Products Configurable Products
Small 1 30 800 50
Medium 1 300 16,000 1,000
Large 3 1,000 40,000 25,000
XL 5 3,000 800,000 50,000
Magento Platform
• Magento Version
• EE 1.13.1.0
• Patches Applied
• PHP 5.4 Compatibility Patch
• Scalability Patch (SUPEE-3818)
Environment (Hardware) – Desktop Example
• Developer’s Performance System
• CPU = 3.5 GHz, Quad-Core i7 (i4770k)
• RAM = 32 GB
• HDD = Sata III, Intel 530 Series 180GB SSD
Environment (Hardware) – Virtual Server Example
• Cloud Application Server
• CPU = 2x vCPU, 2.3 GHz (Xeon E5-2530)
• RAM = 7 GB
• Cloud Database Server
• CPU = 4x vCPU, 2.3GHz (Xeon E5-2530)
• RAM = 7 GB
Reference System Architecture – Examples
Environment (Software)
• MySQL 5.4.38
• PHP 5.4.30
• Redis 2.6.17
Environment (Software) – Example variables
• noatime, nodiratime
• no write barriers (barriers=0)
• swappiness = 10
• max file descriptors = 65535
Test Protocol – Example
1. Prepare environment
a. Provision servers and load system software
b. Install Magento and apply patches
2. Execute generate.php to populate the store
3. Run performance.jmx once to prime the cache
4. Run performance.jmx again and report results
Lessons Learned
What have we learned?
• Magento runs better on PHP 5.4 http://www.magentocommerce.com/knowledge-base/entry/php54-patch
What have we learned?
• Magento + PHP 5.3
Can see a major performance improvement with…
• Magento + Nginx + PHP-FPM
Is comparable to…
• Magento + PHP 5.4 + Opcache
What have we learned?
• Use redis as a cache backend for Magento
• Native support in CE 1.8, EE 1.12 & later
http://info.magento.com/rs/magentocommerce/images/MagentoECG-
UsingRedisasaCacheBackendinMagento.pdf
What have we learned?
• Importing is getting slower…
• Shopper experience is getting faster…
What have we learned?
• Magento 1.14 is faster than 1.13...
• Magento 1.14 is slower than 1.13…
What have we learned?
• Some extensions break caching…
• Magento EE FPC
• Nginx
• Varnish
What is coming?
What is coming?
• Performance Test Toolkit (1.12, 1.13, 1.14, 2.x)
• PHP Scripts (generate.php, indexer.php)
• jMeter Test Scripts (performance.jmx)
• Whitepaper: Magento Performance Test Guidelines
Q&A
Magento
Performance
Toolkit