31

Magento Performanceinfo2.magento.com/rs/magentoenterprise/images... · Magento Performance Testing . Are performance and ... ‣jMeter (jmeter.apache.org) ‣jmeter 2.9 r1437961 Example:

  • Upload
    others

  • View
    34

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Magento Performanceinfo2.magento.com/rs/magentoenterprise/images... · Magento Performance Testing . Are performance and ... ‣jMeter (jmeter.apache.org) ‣jmeter 2.9 r1437961 Example:
Page 2: Magento Performanceinfo2.magento.com/rs/magentoenterprise/images... · Magento Performance Testing . Are performance and ... ‣jMeter (jmeter.apache.org) ‣jmeter 2.9 r1437961 Example:

Magento

Performance

Testing

Page 3: Magento Performanceinfo2.magento.com/rs/magentoenterprise/images... · Magento Performance Testing . Are performance and ... ‣jMeter (jmeter.apache.org) ‣jmeter 2.9 r1437961 Example:

October 24, 2013

William Harvey

Sr. Product Manager

[email protected]

Magento Performance Testing

Page 4: Magento Performanceinfo2.magento.com/rs/magentoenterprise/images... · Magento Performance Testing . Are performance and ... ‣jMeter (jmeter.apache.org) ‣jmeter 2.9 r1437961 Example:

Are performance and

customization compatible?

Page 5: Magento Performanceinfo2.magento.com/rs/magentoenterprise/images... · Magento Performance Testing . Are performance and ... ‣jMeter (jmeter.apache.org) ‣jmeter 2.9 r1437961 Example:

‣ To enable merchants to test the performance their Magento installations

‣ To enable developers to test the performance impact of their Magento customizations

‣ To enable performance testing across the Magento ecosystem

‣ To enable the comparison of these performance tests (Benchmarking)

‣ To provide commonly used methods, scenarios, and terminology to describe testing

activities

The Intent

Page 6: Magento Performanceinfo2.magento.com/rs/magentoenterprise/images... · Magento Performance Testing . Are performance and ... ‣jMeter (jmeter.apache.org) ‣jmeter 2.9 r1437961 Example:

Performance

Responsiveness and stability under a particular workload

Page 7: Magento Performanceinfo2.magento.com/rs/magentoenterprise/images... · Magento Performance Testing . Are performance and ... ‣jMeter (jmeter.apache.org) ‣jmeter 2.9 r1437961 Example:

Benchmarking

Comparing system performance metrics, typically to

recommended best practices or industry standards

Page 8: Magento Performanceinfo2.magento.com/rs/magentoenterprise/images... · Magento Performance Testing . Are performance and ... ‣jMeter (jmeter.apache.org) ‣jmeter 2.9 r1437961 Example:

Scalability

1. …ability to process growing amounts of requests

in a capable manner

2. …ability to expand the system resources to

increase capacity

Page 9: Magento Performanceinfo2.magento.com/rs/magentoenterprise/images... · Magento Performance Testing . Are performance and ... ‣jMeter (jmeter.apache.org) ‣jmeter 2.9 r1437961 Example:

Reliability

1. …ability to yield the same or compatible results for

different tests

2. …ability for the system to operate as designed

Page 10: Magento Performanceinfo2.magento.com/rs/magentoenterprise/images... · Magento Performance Testing . Are performance and ... ‣jMeter (jmeter.apache.org) ‣jmeter 2.9 r1437961 Example:

Reproducibility

1. …ability to conduct a performance test and

observe similar results on multiple test occurrences

2. …ability for a third party to independently duplicate

a test and observe comparable results

Page 11: Magento Performanceinfo2.magento.com/rs/magentoenterprise/images... · Magento Performance Testing . Are performance and ... ‣jMeter (jmeter.apache.org) ‣jmeter 2.9 r1437961 Example:

‣ Provide a performance test framework

‣ Use an open-source toolset

‣ Provide reference architectures

‣ Provide sample data

‣ Small merchant profile

‣ Large merchant profile

‣ Provide test scenarios

‣ Traffic profiles

‣ Shopper behavior

‣ Buyer behavior

The Approach

Page 12: Magento Performanceinfo2.magento.com/rs/magentoenterprise/images... · Magento Performance Testing . Are performance and ... ‣jMeter (jmeter.apache.org) ‣jmeter 2.9 r1437961 Example:

Control Variables - Top Level Groups

Load Generator

Merchant Traffic Profile

Reference Store

Magento Platform

Environment

Reference System Architecture

Page 13: Magento Performanceinfo2.magento.com/rs/magentoenterprise/images... · Magento Performance Testing . Are performance and ... ‣jMeter (jmeter.apache.org) ‣jmeter 2.9 r1437961 Example:

‣ Hardware

‣ Hardware Specifications

‣ Connectivity

‣ Software

‣ Gatling (github.com/excilys/gatling)

‣ jMeter (jmeter.apache.org)

‣ jmeter 2.9 r1437961

Example: Load Generator

Page 14: Magento Performanceinfo2.magento.com/rs/magentoenterprise/images... · Magento Performance Testing . Are performance and ... ‣jMeter (jmeter.apache.org) ‣jmeter 2.9 r1437961 Example:

Control Variables - Merchant Traffic Profile

Load Generator

Merchant Traffic Profile

Reference Store

Magento Platform

Environment

Reference System Architecture

Page 15: Magento Performanceinfo2.magento.com/rs/magentoenterprise/images... · Magento Performance Testing . Are performance and ... ‣jMeter (jmeter.apache.org) ‣jmeter 2.9 r1437961 Example:

‣ Test Scripts

‣ Varies by load generator, jmx files for jMeter

‣ Traffic Profile

‣ 100 maximum concurrent users

‣ 750 user sessions

‣ 30% view product

‣ 62% view product & add to cart

‣ 4% guest checkout

‣ 4% customer checkout

Example: Merchant Traffic Profile

Page 16: Magento Performanceinfo2.magento.com/rs/magentoenterprise/images... · Magento Performance Testing . Are performance and ... ‣jMeter (jmeter.apache.org) ‣jmeter 2.9 r1437961 Example:

Control Variables - Reference Store

Load Generator

Merchant Traffic Profile

Reference Store

Magento Platform

Environment

Reference System Architecture

Page 17: Magento Performanceinfo2.magento.com/rs/magentoenterprise/images... · Magento Performance Testing . Are performance and ... ‣jMeter (jmeter.apache.org) ‣jmeter 2.9 r1437961 Example:

‣ Store Data

‣ Snapshot of the database, or

‣ Generated dataset in a ready-to-test condition

‣ Store Size

‣ 1000 SKUs…100,000 SKUs…500,000 SKUs

‣ Store Complexity

‣ Single Store/Single Site

‣ Multi Store/Multi Site

Example: Reference Store

Page 18: Magento Performanceinfo2.magento.com/rs/magentoenterprise/images... · Magento Performance Testing . Are performance and ... ‣jMeter (jmeter.apache.org) ‣jmeter 2.9 r1437961 Example:

Control Variables - Magento Platform

Load Generator

Merchant Traffic Profile

Reference Store

Magento Platform

Environment

Reference System Architecture

Page 19: Magento Performanceinfo2.magento.com/rs/magentoenterprise/images... · Magento Performance Testing . Are performance and ... ‣jMeter (jmeter.apache.org) ‣jmeter 2.9 r1437961 Example:

‣ Magento Version

‣ Magento Configuration

‣ local.xml

‣ Customizations

‣ Code Changes

Example: Magento Platform

Page 20: Magento Performanceinfo2.magento.com/rs/magentoenterprise/images... · Magento Performance Testing . Are performance and ... ‣jMeter (jmeter.apache.org) ‣jmeter 2.9 r1437961 Example:

Control Variables - Environment

Load Generator

Merchant Traffic Profile

Reference Store

Magento Platform

Environment

Reference System Architecture

Page 21: Magento Performanceinfo2.magento.com/rs/magentoenterprise/images... · Magento Performance Testing . Are performance and ... ‣jMeter (jmeter.apache.org) ‣jmeter 2.9 r1437961 Example:

‣ Software Load Balancer, nginx/1.4.2

‣ Physical Host OS, Ubuntu 12.04.3 LTS

‣ VM OS, CentOS release 6.4

‣ Memcache, memcached 1.4.4

‣ MySQL, 5.1.71-rel14.9 Percona Server (percona)

‣ PHP, PHP 5.4.20 (remi)

‣ PHP.ini settings

‣ Session Configuration

‣ OS environment settings

‣ THP (always/never)

Example: Environment (Software Specs)

Page 22: Magento Performanceinfo2.magento.com/rs/magentoenterprise/images... · Magento Performance Testing . Are performance and ... ‣jMeter (jmeter.apache.org) ‣jmeter 2.9 r1437961 Example:

‣ Physical Server = HP ProLiant SL230 Gen8

‣ 2x Xeon E5-2660 CPU

‣ 2.2GHz, 8 core, 20MB L3 cache

‣ 128 GB RAM

‣ 4x SAS 600GB HDD

‣ System Volume: 2xHDD, RAID1

‣ Data Volume: 2xHDD, RAID0

‣ Virtual Servers

‣ test32 = 8x VCPU, 32 GB RAM

‣ test16 = 4x VCPU, 16 GB RAM

‣ test08 = 4x VCPU, 8 GB RAM

Example: Environment (Hardware Specs)

Page 23: Magento Performanceinfo2.magento.com/rs/magentoenterprise/images... · Magento Performance Testing . Are performance and ... ‣jMeter (jmeter.apache.org) ‣jmeter 2.9 r1437961 Example:

Control Variables - Reference System Architecture

Load Generator

Merchant Traffic Profile

Reference Store

Magento Platform

Environment

Reference System Architecture

Page 24: Magento Performanceinfo2.magento.com/rs/magentoenterprise/images... · Magento Performance Testing . Are performance and ... ‣jMeter (jmeter.apache.org) ‣jmeter 2.9 r1437961 Example:

Example: Reference System Architecture

Page 25: Magento Performanceinfo2.magento.com/rs/magentoenterprise/images... · Magento Performance Testing . Are performance and ... ‣jMeter (jmeter.apache.org) ‣jmeter 2.9 r1437961 Example:

Test Protocol

Load Generator

Merchant Traffic Profile

Reference Store

Magento Platform

Environment

Reference System Architecture

Test Protocol

Page 26: Magento Performanceinfo2.magento.com/rs/magentoenterprise/images... · Magento Performance Testing . Are performance and ... ‣jMeter (jmeter.apache.org) ‣jmeter 2.9 r1437961 Example:

‣ Preparation

‣ Script changes are not isolated, prepare database state before each test run

‣ Execution

‣ Ramp up time = 600 seconds

‣ Run the scripts once without recording results (warm-up)

Example: Test Protocol

Page 27: Magento Performanceinfo2.magento.com/rs/magentoenterprise/images... · Magento Performance Testing . Are performance and ... ‣jMeter (jmeter.apache.org) ‣jmeter 2.9 r1437961 Example:

‣ Load Generator: Hardware Specs, Connectivity,

Software, Settings

‣ Merchant Traffic Profile: Test Scripts, Traffic Profile,

Concurrent Sessions, Conversion Rate

‣ Reference Store: Store Data, Store Size, Store Complexity

‣ Magento Platform: Magento Version, Configuration,

Customization & Code Changes

‣ Environment: PHP (Framework, Version, Settings),

Software Specs, Hardware Specs, Virtualization

‣ Reference System Architecture: Connectivity,

Deployment Topology, Server Provisioning

‣ Test Protocol: Steps to produce or reproduce results,

Preparation, Execution

Test Protocol

The Technique - Performance Test Control Variables

Load Generator

Merchant Traffic Profile

Reference Store

Magento Platform

Environment

Reference System Architecture

Page 28: Magento Performanceinfo2.magento.com/rs/magentoenterprise/images... · Magento Performance Testing . Are performance and ... ‣jMeter (jmeter.apache.org) ‣jmeter 2.9 r1437961 Example:

‣ Preparation

‣ Provision your equipment

‣ Configure your environment

‣ Prepare your store data

‣ Initial Run

‣ Execute the performance test

‣ Comparison Run

‣ Prepare your store data (again)

‣ Change a limited number of control variables

‣ Execute the performance test (again)

‣ Repeat….

The Simple Benchmark

Comparing your system’s performance against itself

Page 29: Magento Performanceinfo2.magento.com/rs/magentoenterprise/images... · Magento Performance Testing . Are performance and ... ‣jMeter (jmeter.apache.org) ‣jmeter 2.9 r1437961 Example:

Do you use jMeter now?

Page 30: Magento Performanceinfo2.magento.com/rs/magentoenterprise/images... · Magento Performance Testing . Are performance and ... ‣jMeter (jmeter.apache.org) ‣jmeter 2.9 r1437961 Example:

‣ What it does

‣ Portable tool (100% Java)

‣ Scriptable

‣ Can be customized

‣ Visualization

‣ What it doesn’t do

‣ Does not render HTML

‣ Does not execute JavaScript

‣ Tests the application, not the user experience

The Load Generator Tool - jMeter

Page 31: Magento Performanceinfo2.magento.com/rs/magentoenterprise/images... · Magento Performance Testing . Are performance and ... ‣jMeter (jmeter.apache.org) ‣jmeter 2.9 r1437961 Example:

Magento

Performance

Testing