performance hosting on ninefold for spree stores and apps

68
Lightning fast page load time with Spree & Ninefold

Post on 21-Oct-2014

266 views

Category:

Internet


0 download

DESCRIPTION

Our relationship started when Ninefold chose Spree as the App to performance test our platform. We chose Spree because for Spree apps every millisecond matters. This is just the start of exciting work we are doing together. We discussed how Ninefold and Spree can bring better performance to Spree stores: Spree on the technology and Hub side, Ninefold from hosting. There are exciting opportunities to further test our respective technologies to continue to hone the overall performance. We will share this with you as we work through.

TRANSCRIPT

Page 1: Performance hosting on Ninefold for Spree Stores and Apps

Lightning fast page load time with

Spree & Ninefold

Page 2: Performance hosting on Ninefold for Spree Stores and Apps

Hi. I’m Andrew.

Page 3: Performance hosting on Ninefold for Spree Stores and Apps
Page 4: Performance hosting on Ninefold for Spree Stores and Apps
Page 5: Performance hosting on Ninefold for Spree Stores and Apps
Page 6: Performance hosting on Ninefold for Spree Stores and Apps
Page 7: Performance hosting on Ninefold for Spree Stores and Apps

How you measure things makes a big

difference.

Page 8: Performance hosting on Ninefold for Spree Stores and Apps

Why should you care about performance?

Page 9: Performance hosting on Ninefold for Spree Stores and Apps

1. Do it for the users.

Page 10: Performance hosting on Ninefold for Spree Stores and Apps

So, users, what do they even want?

Page 11: Performance hosting on Ninefold for Spree Stores and Apps

Google asked.

Page 12: Performance hosting on Ninefold for Spree Stores and Apps

“We want more results.”

Page 13: Performance hosting on Ninefold for Spree Stores and Apps

More results = 500ms slower.

20% drop in traffic and revenue.

Page 14: Performance hosting on Ninefold for Spree Stores and Apps

Bad performance can ruin your UX.

Page 15: Performance hosting on Ninefold for Spree Stores and Apps

Improved load time by 400ms. Increased traffic by 9%.

http://www.slideshare.net/stoyan/yslow-20-presentation

Page 16: Performance hosting on Ninefold for Spree Stores and Apps

Visitors experiencing the best 10% of load times viewed 3 times more pages

than those getting the worst 10%.

http://assets.en.oreilly.com/1/event/29/The%20Secret%20Weapons%20of%20the%20AOL%20Optimization%20Team%20Presentation.pdf

Page 17: Performance hosting on Ninefold for Spree Stores and Apps

2. Do it for the money.

Page 18: Performance hosting on Ninefold for Spree Stores and Apps

For every 100ms of load time improvement:

Sales increased by 1%.

https://sites.google.com/site/glinden/Home/StanfordDataMining.2006-11-28.ppt?attredirects=0

Page 19: Performance hosting on Ninefold for Spree Stores and Apps

Load time: 6 seconds -> 1.2 seconds. Page views: up 25%. Revenue: up 12%.

http://www.slideshare.net/timmorrow/shopzilla-performance-by-design-2433735

Page 20: Performance hosting on Ninefold for Spree Stores and Apps

47% of ecommerce consumers expect a page load of 2 seconds or less.

40% abandonment rate on pages that take more than 3 seconds to load.

http://blog.kissmetrics.com/loading-time/

Page 21: Performance hosting on Ninefold for Spree Stores and Apps

What does good even look like?

Page 22: Performance hosting on Ninefold for Spree Stores and Apps

Google again.

Page 23: Performance hosting on Ninefold for Spree Stores and Apps

“Mate! We’re much quicker than that!”

Page 24: Performance hosting on Ninefold for Spree Stores and Apps

Good. Only problem is…

Page 25: Performance hosting on Ninefold for Spree Stores and Apps

The mean is a lie.

Page 26: Performance hosting on Ninefold for Spree Stores and Apps

Stats 101: the Bell Curve.

Page 27: Performance hosting on Ninefold for Spree Stores and Apps

The real world.

Page 28: Performance hosting on Ninefold for Spree Stores and Apps

What does that even mean?

Page 29: Performance hosting on Ninefold for Spree Stores and Apps

Every 100ms matters.

How can hosting help?

Page 30: Performance hosting on Ninefold for Spree Stores and Apps

Proof needs testing.

Page 31: Performance hosting on Ninefold for Spree Stores and Apps

First: find an app.

Page 32: Performance hosting on Ninefold for Spree Stores and Apps
Page 33: Performance hosting on Ninefold for Spree Stores and Apps

Why Spree?

- Ruby on Rails. - Performance matters. - Adoption through the roof.

Page 34: Performance hosting on Ninefold for Spree Stores and Apps

Got the app: what next?

Page 35: Performance hosting on Ninefold for Spree Stores and Apps

1. Set up a server. 2. Design a simulation. 3. Throw simulated

users at the server. 4. Measure the latency.

Page 36: Performance hosting on Ninefold for Spree Stores and Apps

Tools.

Page 37: Performance hosting on Ninefold for Spree Stores and Apps

Our tool chain.Chrome -> Developer tools provide data for the test plan. !ruby-jmeter -> Provides ruby-based testing DSL. -> Generates JMeter XML. !Flood.io -> Eats JMeter XML. -> Spin up a “Grid” of users following the XML-defined script. -> Measures and reports response times.

Page 38: Performance hosting on Ninefold for Spree Stores and Apps

Capture click data.

Page 39: Performance hosting on Ninefold for Spree Stores and Apps

JMeter.

Page 40: Performance hosting on Ninefold for Spree Stores and Apps

JMeter.

Page 41: Performance hosting on Ninefold for Spree Stores and Apps

JMeter.

Page 42: Performance hosting on Ninefold for Spree Stores and Apps

Don’t cry.

There’s ruby-jmeter.

Page 43: Performance hosting on Ninefold for Spree Stores and Apps

Our test plan.

Page 44: Performance hosting on Ninefold for Spree Stores and Apps

Our test plan.

Page 45: Performance hosting on Ninefold for Spree Stores and Apps

Running the test at scale.

Page 46: Performance hosting on Ninefold for Spree Stores and Apps

Flood.io

- Requires some understanding of JMeter. !- Scales as big as you want to pay for. !

- Gives high-level and very granular results.

Page 47: Performance hosting on Ninefold for Spree Stores and Apps

Flood.io

Page 48: Performance hosting on Ninefold for Spree Stores and Apps

Apdex.t = acceptable response time

satisfied = response time < t tolerating = t < response time < 4t

frustrated = response time > 4t

!

Apdex [t] = (satisfied + (tolerating/2))/total requests

Page 49: Performance hosting on Ninefold for Spree Stores and Apps

Why Apdex?

95th/99th percentile is based on the mean. We know the mean is a lie.

Apdex brings user experience to the table.

Page 50: Performance hosting on Ninefold for Spree Stores and Apps

Happiness as a constant.Apdex [0.75] 0.95

Benchmarked against Heroku.

Higher threshold than we would

have liked.

Page 51: Performance hosting on Ninefold for Spree Stores and Apps

Test parameters.• Choose 5 configurations that range from $100

per month to $1,000 per month.

• Run flood.io tests using a 60 second ramp up and a 300 second test duration.

• Vary the concurrent user count to discover the maximum number of users that can be serviced while maintaining an Apdex [0.75] 0.95

Page 52: Performance hosting on Ninefold for Spree Stores and Apps

The results.

Page 53: Performance hosting on Ninefold for Spree Stores and Apps

$0.00$

$100.00$

$200.00$

$300.00$

$400.00$

$500.00$

$600.00$

$700.00$

$800.00$

$900.00$

$1,000.00$

$1,100.00$

$1,200.00$

0$ 25$ 50$ 75$ 100$ 125$ 150$ 175$ 200$ 225$ 250$ 275$ 300$ 325$ 350$ 375$ 400$ 425$ 450$ 475$ 500$ 525$ 550$ 575$ 600$ 625$

Mon

thly(cost(for(te

st(con

figura2

on(

Maximum(concurrent(users(whilst(maintaining(Apdex(of(at(least(0.95((

How(much(does(it(cost(to(delight(my(customers?(

Heroku$2X$ Ninefold$

Smooth scaling.

Page 54: Performance hosting on Ninefold for Spree Stores and Apps

$0.00$$100.00$$200.00$$300.00$$400.00$$500.00$$600.00$$700.00$$800.00$$900.00$

$1,000.00$$1,100.00$$1,200.00$$1,300.00$$1,400.00$$1,500.00$$1,600.00$$1,700.00$$1,800.00$$1,900.00$$2,000.00$$2,100.00$$2,200.00$$2,300.00$$2,400.00$$2,500.00$

0$ 25$ 50$ 75$ 100$ 125$ 150$ 175$ 200$ 225$ 250$ 275$ 300$ 325$ 350$ 375$ 400$ 425$ 450$ 475$ 500$ 525$ 550$ 575$ 600$ 625$ 650$ 675$ 700$ 725$ 750$ 775$ 800$

Mon

thly(cost(for(te

st(con

figura2

on(

Maximum(concurrent(users(whilst(maintaining(Apdex(of(at(least(0.95((

How(much(does(it(cost(to(delight(my(customers?(

Ninefold$ Heroku$PX$

Smooth pricing.

Page 55: Performance hosting on Ninefold for Spree Stores and Apps

Consistent performance.

Page 56: Performance hosting on Ninefold for Spree Stores and Apps

1 in 20 clicks.

Page 57: Performance hosting on Ninefold for Spree Stores and Apps

How many clicks is your average user

journey (to checkout)?

Page 58: Performance hosting on Ninefold for Spree Stores and Apps

Not 1 in 20 users.

Page 59: Performance hosting on Ninefold for Spree Stores and Apps

What does this mean for you?

Page 60: Performance hosting on Ninefold for Spree Stores and Apps

1. Every 100ms matters.

2. Consistency matters.

Page 61: Performance hosting on Ninefold for Spree Stores and Apps

1. Test, scale, test again.

2. Test your options.

Page 62: Performance hosting on Ninefold for Spree Stores and Apps

Spree cached 2-2.

Page 63: Performance hosting on Ninefold for Spree Stores and Apps
Page 64: Performance hosting on Ninefold for Spree Stores and Apps

Performance, engagement, sales.

Page 65: Performance hosting on Ninefold for Spree Stores and Apps

Where should I host?

Page 66: Performance hosting on Ninefold for Spree Stores and Apps

1. Consistent performance. 2. Lowest cost of ownership.

• Competitive VM pricing. • Lower sysadmin costs. • No PaaS premium.

With Ninefold of course…

Page 67: Performance hosting on Ninefold for Spree Stores and Apps

3. Smooth scaling costs. 4. Easy deployment & scaling. 5. Just enough control.

With Ninefold of course…

Page 68: Performance hosting on Ninefold for Spree Stores and Apps

www.ninefold.com/spree @ninefold

!

Schedule your individual demo

[email protected] @s4sharpie

Learn more.