magento 2 performance - a benchmark

Post on 22-Jan-2018

1.631 Views

Category:

Software

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Magento 2 benchmarks

Daniel Genis

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

The benchmark test websiteSample data magento2

not many products

no plugins

about 3000 unique frontend URLs

Benchmarking frontend only

Zero cache invalidations

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

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!

Clean install - no redis, no varnish

20 threads 50 req / thread

With redis caching, no varnish

20 threads 50 req / thread

Redis caching 10 threads

10 threads 100 req / thread

With varnish caching

20 threads 50 req / thread

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

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

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 ?

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)

Bedankt!

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

top related