Scalable Event Analytics with MongoDB & Ruby on Rails
Web performance meetup bos 11 18-2010
1. Hide yo slowBoston Web Performance Meetup 11-18-2010 Jared Rosoff (@forjared) VP Products jrosoff@yottaa.com Yottaa Inc. 2 Canal Park 5th Floor Cambridge MA 02141 http://www.yottaa.com
2. Is your site slow? Is your website slow? 2 http://stop-the-damage.com/2010/08/276/
3. Time on Site Pages / Visit It impacts your business Bounce Rate Revenue SEO Conversion Rate 3
4. It makes your users unhappy Makes users unhappy 4 http://hmu.com/blog/wp-content/uploads/2009/04/computer_guy_grumpy.jpg
11. Connection Measurement Tells you How fast can you process a single request Actions to take Upgrade your hardware Optimize your software Change ISP / Hosting Provider 11
12. DNS Measurement Verisign 2 1 3 ISP GoDaddy 5 4 1 Browser requests www.domain.com 2 ISP Resolver looks up .com Your DNS 3 ISP Resolver looks up domain.com 4 ISP Resolver looks up www.domain.com 5 ISP Resolver responds to browser 12
13. DNS Measurement Tells you How long does it take for a client to resolve my web site Actions to take Use a larger TTL Change DNS Hosting provider Reduce DNS hops (CNAME’s, Delegation) 13
15. Topology Analysis Tells you What is network distance to my visitors Actions to take Use a CDN Change your data center / ISP Deploy multiple data centers 15
16. Page Load Performance Time to Title Time to First Paint Time to Display Time to Interaction Cache efficiency Concurrency 3rd Party Impact 16
20. Page Load Waterfall Tells you The timing and sequence of resource loading from the browser for a page Actions to take Numerous (YSlow, Page Speed) 20
22. Cache Efficiency Tells you How well your pages leverage browser cache Actions to take Set cache headers Use shared versions of assets (e.g. jquery) Separate dynamic / static content 22
23. Concurrency Worst Case C = 1.4/3 = 0.46 Best Case C = 1.4/1.4 = 1 1s 2s 3s 4s 1s 2s 3s 4s Initial Page Initial Page Asset Asset Asset Asset Asset Asset 1.4s 3s Actual C = 1.4/2 = 0.7 1s 2s 3s 4s Initial Page Asset Asset Asset 2s
24. Concurrency Tells you How well you take advantage of browser concurrency Actions to take Domain sharding Asynchronous loading Deferred execution 24
25. 3rd Party Tags Ad 2 Excluded Total Time: 11.2s Ad 2 Impact: 1.1s Ad 1 Excluded Total Time: 10.1s Ad 1 Impact: 2.2s Full Page Total Time: 12.3s Ad 2 Impact Ad 1 Impact Page without Ad 1 Original Page without ad 2 25
26. 3rd Party Tags Tells you How are 3rd party assets impacting my page? Actions to take Remove assets Blame someone else 26
35. Benchmarking Tells you How you perform against industry segments / competitors Actions to take Change investment in performance Demonstrate competitive advantage 34
37. Segmentation Tells you How performance impacts business metrics Actions to take Demonstrate business case for performance Improve conversions / revenue 36
42. On-Demand Synthetic Monitors Examples Yottaa, Keynote, Gomez, Web Page Test Advantages Easy to use Instant results Disadvantages Sample error No / Limited historical reporting
44. Network Tap Examples Coradiant Advantages Real user measurement Low/No impact on system Disadvantages Do not see end user times, just server side times Do not see 3rd party requests Difficult to integrate with analytics
46. Server instrumentation Examples New Relic, Tracelytics, DTrace Advantages Real user measurement Low/No impact on system Disadvantages Do not see end user times, just server side times Do not see 3rd party requests Difficult to integrate with analytics
48. Browser instrumentation Examples Boomerang, Yottaa, Gomez Advantages Real user measurement Integrates well with analytics Includes 3rd party Disadvantages Can impact browser performance High load on collection
50. In-Browser Tools Examples Firebug, Chrome Developer tools Advantages Easy to use Interactive Disadvantages Not continuous Only from a single browser / location