performance hosting with ninefold for spree apps and stores

68
Lightning fast page load time with Spree & Ninefold

Upload: andrew-sharpe

Post on 07-Aug-2015

209 views

Category:

Internet


1 download

TRANSCRIPT

  1. 1. Lightning fast page load time with Spree & Ninefold
  2. 2. Hi. Im Andrew.
  3. 3. How you measure things makes a big difference.
  4. 4. Why should you care about performance?
  5. 5. 1. Do it for the users.
  6. 6. So, users, what do they even want?
  7. 7. Google asked.
  8. 8. We want more results.
  9. 9. More results = 500ms slower. 20% drop in traffic and revenue.
  10. 10. Bad performance can ruin your UX.
  11. 11. Improved load time by 400ms. Increased traffic by 9%. http://www.slideshare.net/stoyan/yslow-20-presentation
  12. 12. 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
  13. 13. 2. Do it for the money.
  14. 14. 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
  15. 15. Load time: 6 seconds -> 1.2 seconds. Page views: up 25%. Revenue: up 12%. http://www.slideshare.net/timmorrow/shopzilla-performance-by-design-2433735
  16. 16. 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/
  17. 17. What does good even look like?
  18. 18. Google again.
  19. 19. Mate! Were much quicker than that!
  20. 20. Good. Only problem is
  21. 21. The mean is a lie.
  22. 22. Stats 101: the Bell Curve.
  23. 23. The real world.
  24. 24. What does that even mean?
  25. 25. Every 100ms matters. How can hosting help?
  26. 26. Proof needs testing.
  27. 27. First: find an app.
  28. 28. Why Spree? - Ruby on Rails. - Performance matters. - Adoption through the roof.
  29. 29. Got the app: what next?
  30. 30. 1. Set up a server. 2. Design a simulation. 3. Throw simulated users at the server. 4. Measure the latency.
  31. 31. Tools.
  32. 32. 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.
  33. 33. Capture click data.
  34. 34. JMeter.
  35. 35. JMeter.
  36. 36. JMeter.
  37. 37. Dont cry. Theres ruby-jmeter.
  38. 38. Our test plan.
  39. 39. Our test plan.
  40. 40. Running the test at scale.
  41. 41. Flood.io - Requires some understanding of JMeter. - Scales as big as you want to pay for. - Gives high-level and very granular results.
  42. 42. Flood.io
  43. 43. 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
  44. 44. Why Apdex? 95th/99th percentile is based on the mean. We know the mean is a lie. Apdex brings user experience to the table.
  45. 45. Happiness as a constant. Apdex [0.75] 0.95 Benchmarked against Heroku. Higher threshold than we would have liked.
  46. 46. 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
  47. 47. The results.
  48. 48. Smooth scaling.
  49. 49. Smooth pricing.
  50. 50. Consistent performance.
  51. 51. 1 in 20 clicks.
  52. 52. How many clicks is your average user journey (to checkout)?
  53. 53. Not 1 in 20 users.
  54. 54. What does this mean for you?
  55. 55. 1. Every 100ms matters. 2. Consistency matters.
  56. 56. 1. Test, scale, test again. 2. Test your options.
  57. 57. Spree cached 2-2.
  58. 58. Performance, engagement, sales.
  59. 59. Where should I host?
  60. 60. 1. Consistent performance. Lowest cost of ownership. Competitive VM pricing. Lower sysadmin costs. No PaaS premium. With Ninefold of course
  61. 61. 3. Smooth scaling costs. Easy deployment & scaling. Just enough control. With Ninefold of course
  62. 62. www.ninefold.com/spree @ninefold Schedule your individual demo [email protected] @s4sharpie Learn more.