Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Measuring Mobile Web Performance v2

5,844 views

Published on

Measuring Mobile Web Performance presentation at the London Ajax Mobile Conference 2nd July 2011. Covers the basics of web performance measurement and looks specifically at the measurement of page load speed from mobile devices.

Published in: Technology
  • Be the first to comment

Measuring Mobile Web Performance v2

  1. 1. Stephen Thair, Seriti Consulting, @TheOpsMgr<br />London Web Performance Meetup Group, @LDNWebPerf<br />Measuring mobile performance<br />02/07/2011<br />© Seriti Consulting<br />1<br />
  2. 2. Before we start…<br />3<br />Things to keep in mind<br />02/07/2011<br />© Seriti Consulting<br />2<br />
  3. 3. Desktop<br />≠<br />Mobile<br />02/07/2011<br />© Seriti Consulting<br />3<br />
  4. 4. A Java app calling a java app calling a C++ app using JNI to call a java app….<br />02/07/2011<br />© Seriti Consulting<br />4<br />http://assets.en.oreilly.com/1/event/60/Analyzing%20the%20Performance%20of%20Mobile%20Web_%20Challenges%20and%20Techniques%20Presentation.pdf<br />
  5. 5. Wifi<br />≠<br />Mobile<br />02/07/2011<br />© Seriti Consulting<br />5<br />
  6. 6. WiFivs HSDPA Performance <br />02/07/2011<br />© Seriti Consulting<br />6<br />
  7. 7. Mobile<br />≠<br />Mobile<br />02/07/2011<br />© Seriti Consulting<br />7<br />
  8. 8. Different Phones = Different Performance<br />02/07/2011<br />© Seriti Consulting<br />8<br />http://www.anandtech.com/show/4144/lg-optimus-2x-nvidia-tegra-2-review-the-first-dual-core-smartphone/8<br />
  9. 9. Different operating systems<br />02/07/2011<br />© Seriti Consulting<br />9<br />
  10. 10. Different Browsers…<br />02/07/2011<br />© Seriti Consulting<br />10<br />http://www.webdevelopersnotes.com/articles/mobile-web-browsers-list.php<br />
  11. 11. Different network types…<br />02/07/2011<br />© Seriti Consulting<br />11<br />http://developer.android.com/reference/android/telephony/TelephonyManager.html<br />
  12. 12. Mobile Performance is location-dependent<br />02/07/2011<br />© Seriti Consulting<br />12<br />http://mytests.3pmobile.com/context/?WyIyUFVDZHlWV2ErZHFISmxCSWFXRENnPT0iLCJEYnFYVVp3SEN4MD0iXQ%3D%3D<br />
  13. 13. HSDPA… on a #!%&$@*ing train<br />02/07/2011<br />© Seriti Consulting<br />13<br />Max RTT = 20266ms<br />http://blog.davidsingleton.org/mobiletcp<br />
  14. 14. Page Load times (along the thames)<br />02/07/2011<br />© Seriti Consulting<br />14<br />Off the chart (2m36s)<br />
  15. 15. How many ways are there to measure web performance?<br />And how useful are they on Mobile?<br />02/07/2011<br />© Seriti Consulting<br />15<br />
  16. 16. 6<br />02/07/2011<br />© Seriti Consulting<br />16<br />
  17. 17. 6Browser plug-ins<br />02/07/2011<br />© Seriti Consulting<br />17<br />As used in HTTPWatch, DynatraceAjax Edition etc<br />But only some mobile browsers support plug-ins…<br />
  18. 18. 5Proxy Timing<br />02/07/2011<br />© Seriti Consulting<br />18<br />E.g. Fiddler Proxy (http://www.fiddler2.com/Fiddler2/version.asp)<br />There is no proxy settings in Android unless you root your phone (http://android-proxy.blogspot.com/)<br />Only useful for WiFi…<br />Beware the “observer effect”<br />
  19. 19. 4Web Server Module<br />02/07/2011<br />© Seriti Consulting<br />19<br />As used by many APM solutions e.g. Dynatrace, New Relic<br />Install mod_ or ISAPI filter <br />Measure the RTT between web server and DB/Application tier<br />Great for measuring your back-end performance<br />Not much good for front end…<br />
  20. 20. 3JavaScript Timing<br />02/07/2011<br />© Seriti Consulting<br />20<br />As used in Boomerang, Episodes, GA, WebTuna etc<br />OK for web pages, better with new WebTiming and NavigationTiming APIs not that mobile browsers support them…<br />Relies on JavaScript and Cookies… which is problematic…<br />
  21. 21. 2 Network level Timing<br />02/07/2011<br />© Seriti Consulting<br />21<br />As used by PCAPPerf and by Atomic Labs Pion, Tealeaf, Coradiant<br />PCAPPERF limited to over WiFi (otherwise you can’t capture the packets)*<br />Pion, Tealeaf etc require network tap…<br />
  22. 22. 1 Custom browser<br />02/07/2011<br />© Seriti Consulting<br />22<br />As used by 3PMobile.com (on the phone) and synthetic agents (by active monitoring providers e.g. Site Confidence)<br />At present this is the only way to get real OTA performance data. <br />
  23. 23. 02/07/2011<br />© Seriti Consulting<br />23<br />So what to use?<br />
  24. 24. 02/07/2011<br />© Seriti Consulting<br />24<br />Depends on your needs<br />
  25. 25. 02/07/2011<br />© Seriti Consulting<br />25<br />Development <br />vs<br />“Real World”<br />
  26. 26. 02/07/2011<br />© Seriti Consulting<br />26<br />Network perspective vsBrowser Perspective? <br />
  27. 27. PCAPPerf Testing <br />02/07/2011<br />© Seriti Consulting<br />27<br />WiFi Connection to PC<br />PC acting as Wifi hotspot and capturing packets with Wireshark<br />Upload pcap file to pcapperf.appspot.com<br />And<br />View the waterfall <br />Upload<br />http://code.google.com/p/pcaphar/wiki/CaptureMobileTraffics<br />
  28. 28. Mobitest – blaze.io/mobile <br />02/07/2011<br />© Seriti Consulting<br />28<br />“PCAPPerfas SaaS” + some on-device event capture + screenshots<br />WiFi only<br />Tethered machines in Ottawa, DC, Amsterdam<br />
  29. 29. Mobitest / PCAPPerf waterfall<br />02/07/2011<br />© Seriti Consulting<br />29<br />
  30. 30. 3PMobile.com “Browser2”<br />02/07/2011<br />© Seriti Consulting<br />30<br />Android Native Browser code instrumented for performance measurement<br />Test Anywhere <br />Full Mobile context – device & location & network<br />Browser-level perspective<br />Screenshots<br />Automated Testing<br />
  31. 31. Device Context<br />02/07/2011<br />© Seriti Consulting<br />31<br />
  32. 32. 02/07/2011<br />© Seriti Consulting<br />32<br />Location Context<br />
  33. 33. 02/07/2011<br />© Seriti Consulting<br />33<br />Network Context<br />
  34. 34. 3PMobile.com “Browser2” Waterfall<br />02/07/2011<br />© Seriti Consulting<br />34<br />New “detail mode” hybrid waterfall<br />
  35. 35. 02/07/2011<br />© Seriti Consulting<br />35<br />
  36. 36. 3pMobile Open Beta<br />02/07/2011<br />© Seriti Consulting<br />36<br />Register at www.3pmobile.com<br />Download the APK & install <br />Test away!<br />The results from the tests shown today are available<br />Username = ajaxmobile@seriticonsulting.com<br />Password = ajaxmobile<br />Feel free to take a look (but please don’t delete any tests not your own)<br />
  37. 37. 02/07/2011<br />© Seriti Consulting<br />37<br />So what else is there? <br />
  38. 38. TCP Dump on Rooted phone<br />02/07/2011<br />© Seriti Consulting<br />38<br />http://www.vbsteven.be/blog/android-debugging-inspectin-network-traffic-with-tcpdump/<br />
  39. 39. JavaScript Bookmarklets<br />02/07/2011<br />© Seriti Consulting<br />39<br />Steve Souder’s Mobile Performance Bookmarlet<br />http://stevesouders.com/mobileperf/mobileperfbkm.php<br />None of these measure performance per se, but they can give you more information about the page (but beware of a strong “observer effect”) <br />
  40. 40. Keynote MITE (Emulation)<br />02/07/2011<br />© Seriti Consulting<br />40<br />The free Keynote MITE emulator<br />Webkit-based emulation based on device profiles<br />
  41. 41. Debugging tools<br />02/07/2011<br />© Seriti Consulting<br />41<br />Most SDK’s include debugging tools and profilers that can help you understand what’s going on<br />But you are tethered to your PC (normally)<br />
  42. 42. Watchmouse“IAM” library<br />02/07/2011<br />© Seriti Consulting<br />42<br />In-App Monitoring (IAM) is a set of libraries to help instrument your web apps. Currently iPhone only. <br />Replace your app WebView calls with IAMWebView<br />It will gather the performance data and beacon it out for you<br />https://bitbucket.org/watchmouse/iam/<br />
  43. 43. 02/07/2011<br />© Seriti Consulting<br />43<br />And that’s all I’ve got… <br />
  44. 44. 02/07/2011<br />© Seriti Consulting<br />44<br />Questions?<br />Stephen Thair, Seriti Consulting, @TheOpsMgr<br />Stephen.thair@seriticonsulting.com<br />www.seriticonsulting.com/blog<br />London Web Performance Meetup Group, @LDNWebPerf<br />Monthly Meetups in Central London (near Bank)<br />http://www.meetup.com/London-Web-Performance-Group/<br />

×