measuring mobile performance (@ldnwebperf version)
DESCRIPTION
A presentation to the London Web Performance User Group covering the different ways of measuring Mobile web performance and some of the strength & weaknesses of each, depending on your needs.TRANSCRIPT
![Page 1: Measuring mobile performance (@LDNWebPerf Version)](https://reader037.vdocuments.site/reader037/viewer/2022103014/54b7b9af4a7959bf688b47ca/html5/thumbnails/1.jpg)
Stephen Thair, Seriti Consulting, @TheOpsMgr
London Web Performance Meetup Group, @LDNWebPerf
MEASURING MOBILE PERFORMANCE
![Page 2: Measuring mobile performance (@LDNWebPerf Version)](https://reader037.vdocuments.site/reader037/viewer/2022103014/54b7b9af4a7959bf688b47ca/html5/thumbnails/2.jpg)
Before we start…
3Things to keep in mind
![Page 3: Measuring mobile performance (@LDNWebPerf Version)](https://reader037.vdocuments.site/reader037/viewer/2022103014/54b7b9af4a7959bf688b47ca/html5/thumbnails/3.jpg)
Desktop
≠
Mobile
![Page 4: Measuring mobile performance (@LDNWebPerf Version)](https://reader037.vdocuments.site/reader037/viewer/2022103014/54b7b9af4a7959bf688b47ca/html5/thumbnails/4.jpg)
A JAVA APP CALLING A JAVA APP CALLING A C++ APP USING JNI TO CALL A JAVA APP….
http://assets.en.oreilly.com/1/event/60/Analyzing%20the%20Performance%20of%20Mobile%20Web_%20Challenges%20and%20Techniques%20Presentation.pdf
![Page 5: Measuring mobile performance (@LDNWebPerf Version)](https://reader037.vdocuments.site/reader037/viewer/2022103014/54b7b9af4a7959bf688b47ca/html5/thumbnails/5.jpg)
Wifi
≠
Mobile
![Page 6: Measuring mobile performance (@LDNWebPerf Version)](https://reader037.vdocuments.site/reader037/viewer/2022103014/54b7b9af4a7959bf688b47ca/html5/thumbnails/6.jpg)
WIFI VS HSDPA PERFORMANCE
![Page 7: Measuring mobile performance (@LDNWebPerf Version)](https://reader037.vdocuments.site/reader037/viewer/2022103014/54b7b9af4a7959bf688b47ca/html5/thumbnails/7.jpg)
Mobile
≠
Mobile
![Page 8: Measuring mobile performance (@LDNWebPerf Version)](https://reader037.vdocuments.site/reader037/viewer/2022103014/54b7b9af4a7959bf688b47ca/html5/thumbnails/8.jpg)
DIFFERENT PHONES = DIFFERENT PERFORMANCE
http://www.anandtech.com/show/4144/lg-optimus-2x-nvidia-tegra-2-review-the-first-dual-core-smartphone/8
![Page 9: Measuring mobile performance (@LDNWebPerf Version)](https://reader037.vdocuments.site/reader037/viewer/2022103014/54b7b9af4a7959bf688b47ca/html5/thumbnails/9.jpg)
DIFFERENT OPERATING SYSTEMS
![Page 10: Measuring mobile performance (@LDNWebPerf Version)](https://reader037.vdocuments.site/reader037/viewer/2022103014/54b7b9af4a7959bf688b47ca/html5/thumbnails/10.jpg)
DIFFERENT BROWSERS…
http://www.webdevelopersnotes.com/articles/mobile-web-browsers-list.php
![Page 11: Measuring mobile performance (@LDNWebPerf Version)](https://reader037.vdocuments.site/reader037/viewer/2022103014/54b7b9af4a7959bf688b47ca/html5/thumbnails/11.jpg)
DIFFERENT NETWORK TYPES…NETWORK_TYPE_1xRTT Current network is 1xRTT
NETWORK_TYPE_CDMA Current network is CDMA: Either IS95A or IS95B
NETWORK_TYPE_EDGE Current network is EDGE
NETWORK_TYPE_EHRPD Current network is eHRPD
NETWORK_TYPE_EVDO_0 Current network is EVDO revision 0
NETWORK_TYPE_EVDO_A Current network is EVDO revision A
NETWORK_TYPE_EVDO_B Current network is EVDO revision B
NETWORK_TYPE_GPRS Current network is GPRS
NETWORK_TYPE_HSDPA Current network is HSDPA
NETWORK_TYPE_HSPA Current network is HSPA
NETWORK_TYPE_HSUPA Current network is HSUPA
NETWORK_TYPE_IDEN Current network is iDen
NETWORK_TYPE_LTE Current network is LTE
NETWORK_TYPE_UMTS Current network is UMTS
NETWORK_TYPE_UNKNOWN Network type is unknown
http://developer.android.com/reference/android/telephony/TelephonyManager.html
![Page 12: Measuring mobile performance (@LDNWebPerf Version)](https://reader037.vdocuments.site/reader037/viewer/2022103014/54b7b9af4a7959bf688b47ca/html5/thumbnails/12.jpg)
MOBILE PERFORMANCE IS LOCATION-DEPENDENT
http://mytests.3pmobile.com/context/?WyIyUFVDZHlWV2ErZHFISmxCSWFXRENnPT0iLCJEYnFYVVp3SEN4MD0iXQ%3D%3D
![Page 13: Measuring mobile performance (@LDNWebPerf Version)](https://reader037.vdocuments.site/reader037/viewer/2022103014/54b7b9af4a7959bf688b47ca/html5/thumbnails/13.jpg)
PAGE LOAD TIMES (ALONG THE THAMES)
Off the chart (2m36s)
![Page 14: Measuring mobile performance (@LDNWebPerf Version)](https://reader037.vdocuments.site/reader037/viewer/2022103014/54b7b9af4a7959bf688b47ca/html5/thumbnails/14.jpg)
HSDPA… ON A #!%&$@*ING TRAIN
http://blog.davidsingleton.org/mobiletcp
Max RTT = 20266ms
![Page 15: Measuring mobile performance (@LDNWebPerf Version)](https://reader037.vdocuments.site/reader037/viewer/2022103014/54b7b9af4a7959bf688b47ca/html5/thumbnails/15.jpg)
How important is performance on mobile, anyway?
![Page 16: Measuring mobile performance (@LDNWebPerf Version)](https://reader037.vdocuments.site/reader037/viewer/2022103014/54b7b9af4a7959bf688b47ca/html5/thumbnails/16.jpg)
YOU ONLY HAVE 1.5 SECONDS ON MOBILE!!!
![Page 17: Measuring mobile performance (@LDNWebPerf Version)](https://reader037.vdocuments.site/reader037/viewer/2022103014/54b7b9af4a7959bf688b47ca/html5/thumbnails/17.jpg)
How many ways are there to measure web performance?
And how useful are they on Mobile?
![Page 18: Measuring mobile performance (@LDNWebPerf Version)](https://reader037.vdocuments.site/reader037/viewer/2022103014/54b7b9af4a7959bf688b47ca/html5/thumbnails/18.jpg)
6
![Page 19: Measuring mobile performance (@LDNWebPerf Version)](https://reader037.vdocuments.site/reader037/viewer/2022103014/54b7b9af4a7959bf688b47ca/html5/thumbnails/19.jpg)
6 BROWSER PLUG-INSAs used in HTTPWatch, Dynatrace Ajax Edition etc
But only some mobile browsers support plug-ins… Android & iPhone = No, WinMo & Blackberry = Yes.
![Page 20: Measuring mobile performance (@LDNWebPerf Version)](https://reader037.vdocuments.site/reader037/viewer/2022103014/54b7b9af4a7959bf688b47ca/html5/thumbnails/20.jpg)
5 PROXY TIMINGE.g. Fiddler Proxy (http://www.fiddler2.com/Fiddler2/version.asp)
There is no proxy settings in Android unless you root your phone (http://android-proxy.blogspot.com/)
Only useful for WiFi…
Beware the “observer effect”
![Page 21: Measuring mobile performance (@LDNWebPerf Version)](https://reader037.vdocuments.site/reader037/viewer/2022103014/54b7b9af4a7959bf688b47ca/html5/thumbnails/21.jpg)
4 WEB SERVER MODULEAs used by many APM solutions e.g. Dynatrace, New Relic
Install mod_ or ISAPI filter
Measure the RTT between web server and DB/Application tier
Great for measuring your back-end performance
Not much good for front end…
![Page 22: Measuring mobile performance (@LDNWebPerf Version)](https://reader037.vdocuments.site/reader037/viewer/2022103014/54b7b9af4a7959bf688b47ca/html5/thumbnails/22.jpg)
3 JAVASCRIPT TIMINGAs used in Boomerang, Episodes, GA, WebTuna etc
OK for web pages, better with new WebTiming and NavigationTiming APIs not that mobile browsers support them…
Relies on JavaScript and Cookies… which is problematic…
![Page 23: Measuring mobile performance (@LDNWebPerf Version)](https://reader037.vdocuments.site/reader037/viewer/2022103014/54b7b9af4a7959bf688b47ca/html5/thumbnails/23.jpg)
2 NETWORK LEVEL TIMINGAs used by PCAPPerf and by Atomic Labs Pion, Tealeaf, Coradiant
PCAPPERF limited to over WiFi (otherwise you can’t capture the packets)*
Pion, Tealeaf etc require network tap…
![Page 24: Measuring mobile performance (@LDNWebPerf Version)](https://reader037.vdocuments.site/reader037/viewer/2022103014/54b7b9af4a7959bf688b47ca/html5/thumbnails/24.jpg)
1 CUSTOM BROWSERAs used by 3PMobile.com (on the phone) and synthetic agents (by active monitoring providers e.g. Site Confidence)
At present this is the only way to get real OTA performance data.
![Page 25: Measuring mobile performance (@LDNWebPerf Version)](https://reader037.vdocuments.site/reader037/viewer/2022103014/54b7b9af4a7959bf688b47ca/html5/thumbnails/25.jpg)
So what to use?
![Page 26: Measuring mobile performance (@LDNWebPerf Version)](https://reader037.vdocuments.site/reader037/viewer/2022103014/54b7b9af4a7959bf688b47ca/html5/thumbnails/26.jpg)
Depends on your needs
![Page 27: Measuring mobile performance (@LDNWebPerf Version)](https://reader037.vdocuments.site/reader037/viewer/2022103014/54b7b9af4a7959bf688b47ca/html5/thumbnails/27.jpg)
Development vs
“Real World”
![Page 28: Measuring mobile performance (@LDNWebPerf Version)](https://reader037.vdocuments.site/reader037/viewer/2022103014/54b7b9af4a7959bf688b47ca/html5/thumbnails/28.jpg)
Network perspective vs
Browser Perspective?
![Page 29: Measuring mobile performance (@LDNWebPerf Version)](https://reader037.vdocuments.site/reader037/viewer/2022103014/54b7b9af4a7959bf688b47ca/html5/thumbnails/29.jpg)
PCAPPERF TESTING
PC acting as Wifi hotspot and capturing packets with Wireshark
http://code.google.com/p/pcaphar/wiki/CaptureMobileTraffics
Upload pcap file to pcapperf.appspot.com
AndView the waterfall
Upload
WiFi Connection to PC
![Page 30: Measuring mobile performance (@LDNWebPerf Version)](https://reader037.vdocuments.site/reader037/viewer/2022103014/54b7b9af4a7959bf688b47ca/html5/thumbnails/30.jpg)
MOBITEST – BLAZE.IO/MOBILE
“PCAPPerf as SaaS” + some on-device event capture + screenshots
WiFi only
Tethered machines in Ottawa, DC, Amsterdam
![Page 31: Measuring mobile performance (@LDNWebPerf Version)](https://reader037.vdocuments.site/reader037/viewer/2022103014/54b7b9af4a7959bf688b47ca/html5/thumbnails/31.jpg)
MOBITEST RESULTS SCREEN
• Download time
• Page Size
• Waterfall
• Screenshot
• Link to HAR
![Page 32: Measuring mobile performance (@LDNWebPerf Version)](https://reader037.vdocuments.site/reader037/viewer/2022103014/54b7b9af4a7959bf688b47ca/html5/thumbnails/32.jpg)
MOBITEST / PCAPPERF WATERFALL
![Page 33: Measuring mobile performance (@LDNWebPerf Version)](https://reader037.vdocuments.site/reader037/viewer/2022103014/54b7b9af4a7959bf688b47ca/html5/thumbnails/33.jpg)
3PMOBILE.COM “BROWSER2”
Android Native Browser code instrumented for performance measurement
Test Anywhere you have signal…
Full Mobile context – device & location & network. WiFi & 3G.
Browser-level perspective
Screenshots
Automated Testing
HTML, CSS, Script source code
![Page 34: Measuring mobile performance (@LDNWebPerf Version)](https://reader037.vdocuments.site/reader037/viewer/2022103014/54b7b9af4a7959bf688b47ca/html5/thumbnails/34.jpg)
3PMOBILE.COM “BROWSER2” WATERFALLWaterfall of www.ft.com (redirected to http://m.ft.com)
![Page 35: Measuring mobile performance (@LDNWebPerf Version)](https://reader037.vdocuments.site/reader037/viewer/2022103014/54b7b9af4a7959bf688b47ca/html5/thumbnails/35.jpg)
SCREENSHOTS
![Page 36: Measuring mobile performance (@LDNWebPerf Version)](https://reader037.vdocuments.site/reader037/viewer/2022103014/54b7b9af4a7959bf688b47ca/html5/thumbnails/36.jpg)
DEVICE CONTEXT
![Page 37: Measuring mobile performance (@LDNWebPerf Version)](https://reader037.vdocuments.site/reader037/viewer/2022103014/54b7b9af4a7959bf688b47ca/html5/thumbnails/37.jpg)
LOCATION CONTEXT
![Page 38: Measuring mobile performance (@LDNWebPerf Version)](https://reader037.vdocuments.site/reader037/viewer/2022103014/54b7b9af4a7959bf688b47ca/html5/thumbnails/38.jpg)
NETWORK CONTEXT
![Page 39: Measuring mobile performance (@LDNWebPerf Version)](https://reader037.vdocuments.site/reader037/viewer/2022103014/54b7b9af4a7959bf688b47ca/html5/thumbnails/39.jpg)
DOWNLOAD THE HTML, SCRIPT, CSS SOURCE
![Page 40: Measuring mobile performance (@LDNWebPerf Version)](https://reader037.vdocuments.site/reader037/viewer/2022103014/54b7b9af4a7959bf688b47ca/html5/thumbnails/40.jpg)
SIGN UP FOR FREE BETA @ WWW.3PMOBILE.COM
![Page 41: Measuring mobile performance (@LDNWebPerf Version)](https://reader037.vdocuments.site/reader037/viewer/2022103014/54b7b9af4a7959bf688b47ca/html5/thumbnails/41.jpg)
So what else is there?
![Page 42: Measuring mobile performance (@LDNWebPerf Version)](https://reader037.vdocuments.site/reader037/viewer/2022103014/54b7b9af4a7959bf688b47ca/html5/thumbnails/42.jpg)
TCP DUMP ON ROOTED PHONEhttp://www.vbsteven.be/blog/android-debugging-inspectin-network-traffic-with-tcpdump/
![Page 43: Measuring mobile performance (@LDNWebPerf Version)](https://reader037.vdocuments.site/reader037/viewer/2022103014/54b7b9af4a7959bf688b47ca/html5/thumbnails/43.jpg)
JAVASCRIPT BOOKMARKLETS
Steve Souder’s Mobile Performance Bookmarlet
http://stevesouders.com/mobileperf/mobileperfbkm.php
None of these measure performance per se, but they can give you more information about the page
(but beware of a strong “observer effect”)
![Page 44: Measuring mobile performance (@LDNWebPerf Version)](https://reader037.vdocuments.site/reader037/viewer/2022103014/54b7b9af4a7959bf688b47ca/html5/thumbnails/44.jpg)
KEYNOTE MITE (EMULATION)
The free Keynote MITE emulator
Webkit-based emulation based on device profiles
![Page 45: Measuring mobile performance (@LDNWebPerf Version)](https://reader037.vdocuments.site/reader037/viewer/2022103014/54b7b9af4a7959bf688b47ca/html5/thumbnails/45.jpg)
DEBUGGING TOOLS
Most SDK’s include debugging tools and profilers that can help you understand what’s going on
But you are tethered to your PC (normally)
![Page 46: Measuring mobile performance (@LDNWebPerf Version)](https://reader037.vdocuments.site/reader037/viewer/2022103014/54b7b9af4a7959bf688b47ca/html5/thumbnails/46.jpg)
WATCHMOUSE “IAM” LIBRARY
In-App Monitoring (IAM) is a set of libraries to help instrument your web apps. Currently iPhone only.
Replace your app WebView calls with IAMWebView
It will gather the performance data and beacon it out for you
https://bitbucket.org/watchmouse/iam/
![Page 47: Measuring mobile performance (@LDNWebPerf Version)](https://reader037.vdocuments.site/reader037/viewer/2022103014/54b7b9af4a7959bf688b47ca/html5/thumbnails/47.jpg)
10/04/2023© SERITI CONSULTING 47
BBC / EPITRO SIGNAL STRENGTH SURVEY
http://www.bbc.co.uk/news/technology-14644507
![Page 48: Measuring mobile performance (@LDNWebPerf Version)](https://reader037.vdocuments.site/reader037/viewer/2022103014/54b7b9af4a7959bf688b47ca/html5/thumbnails/48.jpg)
And that’s all I’ve got…
![Page 49: Measuring mobile performance (@LDNWebPerf Version)](https://reader037.vdocuments.site/reader037/viewer/2022103014/54b7b9af4a7959bf688b47ca/html5/thumbnails/49.jpg)
Questions?• Stephen Thair, Seriti Consulting, @TheOpsMgr
• www.seriticonsulting.com/blog
• London Web Performance Meetup Group, @LDNWebPerf
• Monthly Meetups in Central London (near Bank)
• http://www.meetup.com/London-Web-Performance-Group/