magento 2 performance - a benchmark

14
Magento 2 benchmarks Daniel Genis

Upload: byte

Post on 22-Jan-2018

1.629 views

Category:

Software


0 download

TRANSCRIPT

Page 1: Magento 2 performance - a benchmark

Magento 2 benchmarks

Daniel Genis

Page 2: Magento 2 performance - a benchmark

A note about benchmarks (in general)Not representative

Easy to make mistakes

Different methods

Different ways of measuring

Cold/Hot caches

Many subtle choices

Complexity

Page 3: Magento 2 performance - a benchmark

The benchmark test websiteSample data magento2

not many products

no plugins

about 3000 unique frontend URLs

Benchmarking frontend only

Zero cache invalidations

Page 4: Magento 2 performance - a benchmark

The benchmark toolsJMeter test plan, 20 threads doing:

Request a frontend page + all static content

upon completion wait 2 seconds

Request a different frontend page + static content

Each thread has a pre-generated list of urls

Each thread makes 50 requests per default

A warming run was done before actual benchmark

Page 5: Magento 2 performance - a benchmark

The test server Hypernode - Magento Grow

2 cpu cores

2 gb ram

SSD storage

Small test server

Easier to push to it's limits

And to make a point!

Page 6: Magento 2 performance - a benchmark

Clean install - no redis, no varnish

20 threads 50 req / thread

Page 7: Magento 2 performance - a benchmark

With redis caching, no varnish

20 threads 50 req / thread

Page 8: Magento 2 performance - a benchmark

Redis caching 10 threads

10 threads 100 req / thread

Page 9: Magento 2 performance - a benchmark

With varnish caching

20 threads 50 req / thread

Page 10: Magento 2 performance - a benchmark

Statistical summary

clean install redis cache redis 10thr varnish cache

Average 412 ms 403 ms 278 ms 125 ms

Median 378 ms 372 ms 263 ms 116 ms

95th percentile 727 ms 710 ms 423 ms 187 ms

Page 11: Magento 2 performance - a benchmark

ObservationsCaching is easy to setup

Varnish cache in built

Redis cache in built

No plugins needed

These benchmarks were very bandwidth sensitive

Static content!

html: ~10kb

total incl static ~1mb

Page 12: Magento 2 performance - a benchmark

ObservationsVarnish naturally is the fastest setup

Redis caching vs On disk caching (default)

frontend wise, no measurable improvement

local storage is cached in ram (hence no difference)

NFS ?

Scalability ?

Page 13: Magento 2 performance - a benchmark

Magento 2 docs about redisCache entries are stored in 'core_cache_tag' table

On multistore environment this table can grow very large

SELECTS are fine

but UPDATE/INSERTS become more work (scalability issue)

Redis is more efficient (than memcached or default cache)

For various query/update scenarios

Has high availability (i.e. master/slave replication)

Page 14: Magento 2 performance - a benchmark

Bedankt!

Blijf op de hoogte van de laatste ontwikkelingen op hosting-gebied. Volg ons op twitter: @Byte_NL