25

Magento Performance · Magento Performance Testing – Control Variables Test Protocol Load Generator Merchant Traffic Profile Reference Store ... • Apache jMeter 2.11 r1554548

  • Upload
    vanthuy

  • View
    242

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Magento Performance · Magento Performance Testing – Control Variables Test Protocol Load Generator Merchant Traffic Profile Reference Store ... • Apache jMeter 2.11 r1554548
Page 2: Magento Performance · Magento Performance Testing – Control Variables Test Protocol Load Generator Merchant Traffic Profile Reference Store ... • Apache jMeter 2.11 r1554548

Magento

Performance

Toolkit

Page 3: Magento Performance · Magento Performance Testing – Control Variables Test Protocol Load Generator Merchant Traffic Profile Reference Store ... • Apache jMeter 2.11 r1554548

William Harvey

Principal Product Manager

Magento

Page 4: Magento Performance · Magento Performance Testing – Control Variables Test Protocol Load Generator Merchant Traffic Profile Reference Store ... • Apache jMeter 2.11 r1554548

Performance Toolkit

Page 5: Magento Performance · Magento Performance Testing – Control Variables Test Protocol Load Generator Merchant Traffic Profile Reference Store ... • Apache jMeter 2.11 r1554548

Magento Performance Testing – Control Variables

Test Protocol

Load Generator

Merchant Traffic Profile

Reference Store

Magento Platform

Environment

Reference System Architecture

Page 6: Magento Performance · Magento Performance Testing – Control Variables Test Protocol Load Generator Merchant Traffic Profile Reference Store ... • Apache jMeter 2.11 r1554548

Load Generator

• Hardware

• Developer’s Performance System

• Software

• Apache jMeter 2.11 r1554548

• JMeterPlugins-Standard, JMeterPlugins-Extra

Page 7: Magento Performance · Magento Performance Testing – Control Variables Test Protocol Load Generator Merchant Traffic Profile Reference Store ... • Apache jMeter 2.11 r1554548

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

Page 8: Magento Performance · Magento Performance Testing – Control Variables Test Protocol Load Generator Merchant Traffic Profile Reference Store ... • Apache jMeter 2.11 r1554548

Magento Platform

• Magento Version

• EE 1.13.1.0

• Patches Applied

• PHP 5.4 Compatibility Patch

• Scalability Patch (SUPEE-3818)

Page 9: Magento Performance · Magento Performance Testing – Control Variables Test Protocol Load Generator Merchant Traffic Profile Reference Store ... • Apache jMeter 2.11 r1554548

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

Page 10: Magento Performance · Magento Performance Testing – Control Variables Test Protocol Load Generator Merchant Traffic Profile Reference Store ... • Apache jMeter 2.11 r1554548

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

Page 11: Magento Performance · Magento Performance Testing – Control Variables Test Protocol Load Generator Merchant Traffic Profile Reference Store ... • Apache jMeter 2.11 r1554548

Reference System Architecture – Examples

Page 12: Magento Performance · Magento Performance Testing – Control Variables Test Protocol Load Generator Merchant Traffic Profile Reference Store ... • Apache jMeter 2.11 r1554548

Environment (Software)

• MySQL 5.4.38

• PHP 5.4.30

• Redis 2.6.17

Page 13: Magento Performance · Magento Performance Testing – Control Variables Test Protocol Load Generator Merchant Traffic Profile Reference Store ... • Apache jMeter 2.11 r1554548

Environment (Software) – Example variables

• noatime, nodiratime

• no write barriers (barriers=0)

• swappiness = 10

• max file descriptors = 65535

Page 14: Magento Performance · Magento Performance Testing – Control Variables Test Protocol Load Generator Merchant Traffic Profile Reference Store ... • Apache jMeter 2.11 r1554548

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

Page 15: Magento Performance · Magento Performance Testing – Control Variables Test Protocol Load Generator Merchant Traffic Profile Reference Store ... • Apache jMeter 2.11 r1554548

Lessons Learned

Page 17: Magento Performance · Magento Performance Testing – Control Variables Test Protocol Load Generator Merchant Traffic Profile Reference Store ... • Apache jMeter 2.11 r1554548

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

Page 18: Magento Performance · Magento Performance Testing – Control Variables Test Protocol Load Generator Merchant Traffic Profile Reference Store ... • Apache jMeter 2.11 r1554548

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

Page 19: Magento Performance · Magento Performance Testing – Control Variables Test Protocol Load Generator Merchant Traffic Profile Reference Store ... • Apache jMeter 2.11 r1554548

What have we learned?

• Importing is getting slower…

• Shopper experience is getting faster…

Page 20: Magento Performance · Magento Performance Testing – Control Variables Test Protocol Load Generator Merchant Traffic Profile Reference Store ... • Apache jMeter 2.11 r1554548

What have we learned?

• Magento 1.14 is faster than 1.13...

• Magento 1.14 is slower than 1.13…

Page 21: Magento Performance · Magento Performance Testing – Control Variables Test Protocol Load Generator Merchant Traffic Profile Reference Store ... • Apache jMeter 2.11 r1554548

What have we learned?

• Some extensions break caching…

• Magento EE FPC

• Nginx

• Varnish

Page 22: Magento Performance · Magento Performance Testing – Control Variables Test Protocol Load Generator Merchant Traffic Profile Reference Store ... • Apache jMeter 2.11 r1554548

What is coming?

Page 23: Magento Performance · Magento Performance Testing – Control Variables Test Protocol Load Generator Merchant Traffic Profile Reference Store ... • Apache jMeter 2.11 r1554548

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

Page 24: Magento Performance · Magento Performance Testing – Control Variables Test Protocol Load Generator Merchant Traffic Profile Reference Store ... • Apache jMeter 2.11 r1554548

Q&A

Page 25: Magento Performance · Magento Performance Testing – Control Variables Test Protocol Load Generator Merchant Traffic Profile Reference Store ... • Apache jMeter 2.11 r1554548

Magento

Performance

Toolkit