Load Testing & Drupal 8: What You Need to Do to Ensure a Smooth Launch

29
Load Testing & Drupal 8 Erik Webb Manager, Cloud Engineering @erikwebb

Transcript of Load Testing & Drupal 8: What You Need to Do to Ensure a Smooth Launch

Load Testing & Drupal 8Erik WebbManager, Cloud Engineering

@erikwebb

About MeJoined Acquia in 2010Manage Acquia Cloud core platform teamFormer Performance Lead, Professional Services

So What’s New?

Your users don’t know it’s Drupal 8.

Your users don’t know it’s Drupal 8.

Why should your load test?

Performance Terminology

Performance

GETdrupal.org

Scalability

1s ~1s

Scaling

Vertical

Horizontal

Load Testing

10 users

100 users

Stress Testing

??? users

Contention

/latest-news

So you tested your homepage?

Source: https://www.flickr.com/photos/striatic/2135057566/

So you tested your homepage?

Source: https://www.flickr.com/photos/striatic/2135057566/

Testing User PathsUser Checkout User A logs in.User A visits product page X.User A adds product X to their shopping cart.User A visits their shopping cart.User A enters payment information.User A completes transaction.

User Search User B visits the homepage.User B enters “product X” into the search box.User B views search results page.User B clicks on a random search result.

Traffic Breakdown

Traffic Breakdown

Traffic Breakdown

Traffic Breakdown

Backend OperationsDoes saving content affect performance?What affect does a deployment have on live traffic?Do cron jobs affect web traffic?Background content syncExternal web services

New “Side Effects” in Drupal 8Headless DrupalCaching by defaultCache tagsService containers

We don’t know yet.

Source: https://www.flickr.com/photos/27762949@N00/33602814/

Calculating Traffic

Request Fuzzy MathNumber of Threads/WorkersRamp-up PeriodIterations

Expected Max Concurrency = Total RequestsAvg. Response Time × Test Length

Throughput Shaping TimerSimply provide requests per second for each time periodMatches how traffic is usually measured

jmeter-plugins.orgSupported by Blazemeter

Don’t extrapolate results.

150$connections

50$conns 50$conns 50$conns

150$connections

Don’t extrapolate results.

300#connections

100#conns 100#conns 100#conns

300#connections

150$connections

50$conns 50$conns 50$conns

150$connections

Don’t extrapolate results.

300#connections

50#conns 50#conns 50#conns

300#connections

50#conns 50#conns 50#conns

300#connections

100#conns 100#conns 100#conns

300#connections

150$connections

50$conns 50$conns 50$conns

150$connections

Questions?