SlideShare una empresa de Scribd logo
1 de 43
Stephen Thair, Seriti Consulting, @TheOpsMgr London Web Performance Meetup Group, @LDNWebPerf Measuring mobile performance 02/07/2011 © Seriti Consulting 1
Before we start… 3 Things to keep in mind 02/07/2011 © Seriti Consulting 2
Desktop ≠ Mobile 02/07/2011 © Seriti Consulting 3
A Java app calling a java app calling a C++ app using JNI to call a java app…. 02/07/2011 © Seriti Consulting 4 http://assets.en.oreilly.com/1/event/60/Analyzing%20the%20Performance%20of%20Mobile%20Web_%20Challenges%20and%20Techniques%20Presentation.pdf
Wifi ≠ Mobile 02/07/2011 © Seriti Consulting 5
WiFivs HSDPA Performance  02/07/2011 © Seriti Consulting 6
Mobile ≠ Mobile 02/07/2011 © Seriti Consulting 7
Different Phones = Different Performance 02/07/2011 © Seriti Consulting 8 http://www.anandtech.com/show/4144/lg-optimus-2x-nvidia-tegra-2-review-the-first-dual-core-smartphone/8
Different operating systems 02/07/2011 © Seriti Consulting 9
Different Browsers… 02/07/2011 © Seriti Consulting 10 http://www.webdevelopersnotes.com/articles/mobile-web-browsers-list.php
Different network types… 02/07/2011 © Seriti Consulting 11 http://developer.android.com/reference/android/telephony/TelephonyManager.html
Mobile Performance is location-dependent 02/07/2011 © Seriti Consulting 12 http://mytests.3pmobile.com/context/?WyIyUFVDZHlWV2ErZHFISmxCSWFXRENnPT0iLCJEYnFYVVp3SEN4MD0iXQ%3D%3D
HSDPA… on a  #!%&$@*ing  train 02/07/2011 © Seriti Consulting 13 Max RTT = 20266ms http://blog.davidsingleton.org/mobiletcp
Page Load times (along the thames) 02/07/2011 © Seriti Consulting 14 Off the chart (2m36s)
How many ways are there to measure web performance? And how useful are they on Mobile? 02/07/2011 © Seriti Consulting 15
6 02/07/2011 © Seriti Consulting 16
6Browser plug-ins 02/07/2011 © Seriti Consulting 17 As used in HTTPWatch, DynatraceAjax Edition etc But only some mobile browsers support plug-ins…
5Proxy Timing 02/07/2011 © Seriti Consulting 18 E.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”
4Web Server Module 02/07/2011 © Seriti Consulting 19 As 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…
3JavaScript Timing 02/07/2011 © Seriti Consulting 20 As 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…
2 Network level Timing 02/07/2011 © Seriti Consulting 21 As 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…
1 Custom browser 02/07/2011 © Seriti Consulting 22 As 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.
02/07/2011 © Seriti Consulting 23 So what to use?
02/07/2011 © Seriti Consulting 24 Depends on your needs
02/07/2011 © Seriti Consulting 25 Development  vs “Real World”
02/07/2011 © Seriti Consulting 26 Network perspective vsBrowser Perspective?
PCAPPerf Testing	 02/07/2011 © Seriti Consulting 27 WiFi Connection to PC PC acting as Wifi hotspot and capturing packets with Wireshark Upload pcap file to pcapperf.appspot.com And View the waterfall  Upload http://code.google.com/p/pcaphar/wiki/CaptureMobileTraffics
Mobitest – blaze.io/mobile	 02/07/2011 © Seriti Consulting 28 “PCAPPerfas SaaS” + some on-device event capture + screenshots WiFi only Tethered machines in Ottawa, DC, Amsterdam
Mobitest / PCAPPerf waterfall 02/07/2011 © Seriti Consulting 29
3PMobile.com “Browser2” 02/07/2011 © Seriti Consulting 30 Android Native Browser code instrumented for performance measurement Test Anywhere  Full Mobile context – device & location & network Browser-level perspective Screenshots Automated Testing
Device Context 02/07/2011 © Seriti Consulting 31
02/07/2011 © Seriti Consulting 32 Location Context
02/07/2011 © Seriti Consulting 33 Network Context
3PMobile.com “Browser2” Waterfall 02/07/2011 © Seriti Consulting 34 New “detail mode” hybrid waterfall
02/07/2011 © Seriti Consulting 35
3pMobile Open Beta 02/07/2011 © Seriti Consulting 36 Register at www.3pmobile.com Download the APK & install  Test away! The results from the tests shown today are available Username = ajaxmobile@seriticonsulting.com Password = ajaxmobile Feel free to take a look	 (but please don’t delete any tests not your own)
02/07/2011 © Seriti Consulting 37 So what else is there?
TCP Dump on Rooted phone 02/07/2011 © Seriti Consulting 38 http://www.vbsteven.be/blog/android-debugging-inspectin-network-traffic-with-tcpdump/
JavaScript Bookmarklets 02/07/2011 © Seriti Consulting 39 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”)
Keynote MITE (Emulation) 02/07/2011 © Seriti Consulting 40 The free Keynote MITE emulator Webkit-based emulation based on device profiles
Debugging tools 02/07/2011 © Seriti Consulting 41 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)
Watchmouse“IAM” library 02/07/2011 © Seriti Consulting 42 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/
02/07/2011 © Seriti Consulting 43 And that’s all I’ve got…

Más contenido relacionado

Destacado

Mobile App Analytics
Mobile App AnalyticsMobile App Analytics
Mobile App Analytics
pragativbora
 

Destacado (20)

Mobile App Analytics
Mobile App AnalyticsMobile App Analytics
Mobile App Analytics
 
Measuring mobile advertising effectiveness: discussing successful approaches ...
Measuring mobile advertising effectiveness: discussing successful approaches ...Measuring mobile advertising effectiveness: discussing successful approaches ...
Measuring mobile advertising effectiveness: discussing successful approaches ...
 
Conférence Open Data par où commencer ? Intervention J.M.Lazard Open datasoft
Conférence Open Data par où commencer ? Intervention J.M.Lazard Open datasoft Conférence Open Data par où commencer ? Intervention J.M.Lazard Open datasoft
Conférence Open Data par où commencer ? Intervention J.M.Lazard Open datasoft
 
Html5 now light
Html5 now lightHtml5 now light
Html5 now light
 
Introduction à la webperf
Introduction à la webperfIntroduction à la webperf
Introduction à la webperf
 
HTML5 maintenant partie 2 : APIs
HTML5 maintenant partie 2 : APIsHTML5 maintenant partie 2 : APIs
HTML5 maintenant partie 2 : APIs
 
Webpagetest en 5 minutes - Sud Web 2011
Webpagetest en 5 minutes - Sud Web 2011Webpagetest en 5 minutes - Sud Web 2011
Webpagetest en 5 minutes - Sud Web 2011
 
Bassem Asseh - présentation à la Fabrique du changement - mjs pdl sept 2016- ...
Bassem Asseh - présentation à la Fabrique du changement - mjs pdl sept 2016- ...Bassem Asseh - présentation à la Fabrique du changement - mjs pdl sept 2016- ...
Bassem Asseh - présentation à la Fabrique du changement - mjs pdl sept 2016- ...
 
Accélération des pages Web : les bases en exemple
Accélération des pages Web : les bases en exempleAccélération des pages Web : les bases en exemple
Accélération des pages Web : les bases en exemple
 
La performance sur mobile
La performance sur mobileLa performance sur mobile
La performance sur mobile
 
Les Performance de rendu sur mobile
Les Performance de rendu sur mobileLes Performance de rendu sur mobile
Les Performance de rendu sur mobile
 
Référentiels de bonnes pratiques : industrialisons nos savoir-faire
Référentiels de bonnes pratiques : industrialisons nos savoir-faireRéférentiels de bonnes pratiques : industrialisons nos savoir-faire
Référentiels de bonnes pratiques : industrialisons nos savoir-faire
 
HTML5 maintenant partie 1 : la sémantique
HTML5 maintenant partie 1 : la sémantiqueHTML5 maintenant partie 1 : la sémantique
HTML5 maintenant partie 1 : la sémantique
 
Google Analytic for Mobile Applications
Google Analytic for Mobile ApplicationsGoogle Analytic for Mobile Applications
Google Analytic for Mobile Applications
 
Google Mobile App Analytics
Google Mobile App AnalyticsGoogle Mobile App Analytics
Google Mobile App Analytics
 
Physical web
Physical webPhysical web
Physical web
 
4 Mobile Marketing Goals
4 Mobile Marketing Goals4 Mobile Marketing Goals
4 Mobile Marketing Goals
 
Advertising on the mobile phone
Advertising on the mobile phoneAdvertising on the mobile phone
Advertising on the mobile phone
 
Microsoft et l'Open Source
Microsoft et l'Open SourceMicrosoft et l'Open Source
Microsoft et l'Open Source
 
Responsive logic - Kiwiparty
Responsive logic - KiwipartyResponsive logic - Kiwiparty
Responsive logic - Kiwiparty
 

Similar a Measuring Mobile Web Performance v2

Similar a Measuring Mobile Web Performance v2 (20)

Measuring mobile performance (@LDNWebPerf Version)
Measuring mobile performance (@LDNWebPerf Version)Measuring mobile performance (@LDNWebPerf Version)
Measuring mobile performance (@LDNWebPerf Version)
 
What is IoT and how Modulus and Pacific can Help - Featuring Node.js and Roll...
What is IoT and how Modulus and Pacific can Help - Featuring Node.js and Roll...What is IoT and how Modulus and Pacific can Help - Featuring Node.js and Roll...
What is IoT and how Modulus and Pacific can Help - Featuring Node.js and Roll...
 
Advanced Strategies for Testing Responsive Web
Advanced Strategies for Testing Responsive WebAdvanced Strategies for Testing Responsive Web
Advanced Strategies for Testing Responsive Web
 
Automating things you didn't know you could automate
Automating things you didn't know you could automateAutomating things you didn't know you could automate
Automating things you didn't know you could automate
 
The impact of IOT - exchange cala - 2015
The impact of IOT - exchange cala - 2015The impact of IOT - exchange cala - 2015
The impact of IOT - exchange cala - 2015
 
WebRTC Reborn Hackference
WebRTC Reborn HackferenceWebRTC Reborn Hackference
WebRTC Reborn Hackference
 
IOT - Presentation to PEP @ Progress
IOT - Presentation to PEP @ ProgressIOT - Presentation to PEP @ Progress
IOT - Presentation to PEP @ Progress
 
React and Web Performance
React and Web Performance React and Web Performance
React and Web Performance
 
Top 7 Benefits Of Using Blockchain Technology For Mobile Apps
Top 7 Benefits Of Using Blockchain Technology For Mobile AppsTop 7 Benefits Of Using Blockchain Technology For Mobile Apps
Top 7 Benefits Of Using Blockchain Technology For Mobile Apps
 
Doug Sillars on App Optimization
Doug Sillars on App OptimizationDoug Sillars on App Optimization
Doug Sillars on App Optimization
 
Accelerating Applications with F5
Accelerating Applications with F5Accelerating Applications with F5
Accelerating Applications with F5
 
IOT BASED ROBOTIC CAR USING RASPBERRY
IOT BASED ROBOTIC CAR USING RASPBERRYIOT BASED ROBOTIC CAR USING RASPBERRY
IOT BASED ROBOTIC CAR USING RASPBERRY
 
How to Scale Mobile Testing Across Several Teams
How to Scale Mobile Testing Across Several TeamsHow to Scale Mobile Testing Across Several Teams
How to Scale Mobile Testing Across Several Teams
 
React and Web Performance
React and Web PerformanceReact and Web Performance
React and Web Performance
 
GDG Devfest 2016 session on Android N
GDG Devfest 2016 session on Android NGDG Devfest 2016 session on Android N
GDG Devfest 2016 session on Android N
 
Wolters Kluwer Tech. Conference: Disrupting Mobile Development
Wolters Kluwer Tech. Conference: Disrupting Mobile DevelopmentWolters Kluwer Tech. Conference: Disrupting Mobile Development
Wolters Kluwer Tech. Conference: Disrupting Mobile Development
 
Proven strategy for testing pw as aus-agile_testers
Proven strategy for testing pw as aus-agile_testersProven strategy for testing pw as aus-agile_testers
Proven strategy for testing pw as aus-agile_testers
 
Mobile Optimization Tips from Yottaa - MEGMeetup #1
Mobile Optimization Tips from Yottaa - MEGMeetup #1Mobile Optimization Tips from Yottaa - MEGMeetup #1
Mobile Optimization Tips from Yottaa - MEGMeetup #1
 
Bangalore Cloud Foundry meetup - Mani
Bangalore Cloud Foundry meetup - ManiBangalore Cloud Foundry meetup - Mani
Bangalore Cloud Foundry meetup - Mani
 
WebRTC Reborn Over The Air
WebRTC Reborn Over The AirWebRTC Reborn Over The Air
WebRTC Reborn Over The Air
 

Más de Stephen Thair

Más de Stephen Thair (12)

London web performance WPO Lessons from the field June 2013
London web performance   WPO Lessons from the field June 2013London web performance   WPO Lessons from the field June 2013
London web performance WPO Lessons from the field June 2013
 
Is the current model of load testing broken ukcmg - steve thair
Is the current model of load testing broken   ukcmg - steve thairIs the current model of load testing broken   ukcmg - steve thair
Is the current model of load testing broken ukcmg - steve thair
 
Continuous Integration - A Performance Engineer's Tale
Continuous Integration - A Performance Engineer's TaleContinuous Integration - A Performance Engineer's Tale
Continuous Integration - A Performance Engineer's Tale
 
Web Performance Optimisation at times.co.uk
Web Performance Optimisation at times.co.ukWeb Performance Optimisation at times.co.uk
Web Performance Optimisation at times.co.uk
 
Measuring web performance. Velocity EU 2011
Measuring web performance. Velocity EU 2011Measuring web performance. Velocity EU 2011
Measuring web performance. Velocity EU 2011
 
Velocity 2011 Feedback - architecture, statistics and SPDY
Velocity 2011 Feedback - architecture, statistics and SPDYVelocity 2011 Feedback - architecture, statistics and SPDY
Velocity 2011 Feedback - architecture, statistics and SPDY
 
Web performance and measurement - UKCMG Conference 2011 - steve thair
Web performance and measurement - UKCMG Conference 2011 - steve thairWeb performance and measurement - UKCMG Conference 2011 - steve thair
Web performance and measurement - UKCMG Conference 2011 - steve thair
 
Performance automation 101 @LDNWebPerf MickMcGuinness
Performance automation 101 @LDNWebPerf MickMcGuinnessPerformance automation 101 @LDNWebPerf MickMcGuinness
Performance automation 101 @LDNWebPerf MickMcGuinness
 
Performance testing automation with Dynatrace @LDNWebPerf - AndreasGrabner
Performance testing automation with Dynatrace  @LDNWebPerf - AndreasGrabnerPerformance testing automation with Dynatrace  @LDNWebPerf - AndreasGrabner
Performance testing automation with Dynatrace @LDNWebPerf - AndreasGrabner
 
Seatwave Web Peformance Optimisation Case Study
Seatwave Web Peformance Optimisation Case StudySeatwave Web Peformance Optimisation Case Study
Seatwave Web Peformance Optimisation Case Study
 
Configuration Management - The Operations Managers View
Configuration Management - The Operations Managers ViewConfiguration Management - The Operations Managers View
Configuration Management - The Operations Managers View
 
Test Expo 2009 Site Confidence & Seriti Consulting Load Test Case Study
Test Expo 2009   Site Confidence & Seriti Consulting   Load Test Case StudyTest Expo 2009   Site Confidence & Seriti Consulting   Load Test Case Study
Test Expo 2009 Site Confidence & Seriti Consulting Load Test Case Study
 

Último

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Último (20)

AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 

Measuring Mobile Web Performance v2

  • 1. Stephen Thair, Seriti Consulting, @TheOpsMgr London Web Performance Meetup Group, @LDNWebPerf Measuring mobile performance 02/07/2011 © Seriti Consulting 1
  • 2. Before we start… 3 Things to keep in mind 02/07/2011 © Seriti Consulting 2
  • 3. Desktop ≠ Mobile 02/07/2011 © Seriti Consulting 3
  • 4. A Java app calling a java app calling a C++ app using JNI to call a java app…. 02/07/2011 © Seriti Consulting 4 http://assets.en.oreilly.com/1/event/60/Analyzing%20the%20Performance%20of%20Mobile%20Web_%20Challenges%20and%20Techniques%20Presentation.pdf
  • 5. Wifi ≠ Mobile 02/07/2011 © Seriti Consulting 5
  • 6. WiFivs HSDPA Performance 02/07/2011 © Seriti Consulting 6
  • 7. Mobile ≠ Mobile 02/07/2011 © Seriti Consulting 7
  • 8. Different Phones = Different Performance 02/07/2011 © Seriti Consulting 8 http://www.anandtech.com/show/4144/lg-optimus-2x-nvidia-tegra-2-review-the-first-dual-core-smartphone/8
  • 9. Different operating systems 02/07/2011 © Seriti Consulting 9
  • 10. Different Browsers… 02/07/2011 © Seriti Consulting 10 http://www.webdevelopersnotes.com/articles/mobile-web-browsers-list.php
  • 11. Different network types… 02/07/2011 © Seriti Consulting 11 http://developer.android.com/reference/android/telephony/TelephonyManager.html
  • 12. Mobile Performance is location-dependent 02/07/2011 © Seriti Consulting 12 http://mytests.3pmobile.com/context/?WyIyUFVDZHlWV2ErZHFISmxCSWFXRENnPT0iLCJEYnFYVVp3SEN4MD0iXQ%3D%3D
  • 13. HSDPA… on a #!%&$@*ing train 02/07/2011 © Seriti Consulting 13 Max RTT = 20266ms http://blog.davidsingleton.org/mobiletcp
  • 14. Page Load times (along the thames) 02/07/2011 © Seriti Consulting 14 Off the chart (2m36s)
  • 15. How many ways are there to measure web performance? And how useful are they on Mobile? 02/07/2011 © Seriti Consulting 15
  • 16. 6 02/07/2011 © Seriti Consulting 16
  • 17. 6Browser plug-ins 02/07/2011 © Seriti Consulting 17 As used in HTTPWatch, DynatraceAjax Edition etc But only some mobile browsers support plug-ins…
  • 18. 5Proxy Timing 02/07/2011 © Seriti Consulting 18 E.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”
  • 19. 4Web Server Module 02/07/2011 © Seriti Consulting 19 As 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…
  • 20. 3JavaScript Timing 02/07/2011 © Seriti Consulting 20 As 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…
  • 21. 2 Network level Timing 02/07/2011 © Seriti Consulting 21 As 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…
  • 22. 1 Custom browser 02/07/2011 © Seriti Consulting 22 As 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.
  • 23. 02/07/2011 © Seriti Consulting 23 So what to use?
  • 24. 02/07/2011 © Seriti Consulting 24 Depends on your needs
  • 25. 02/07/2011 © Seriti Consulting 25 Development vs “Real World”
  • 26. 02/07/2011 © Seriti Consulting 26 Network perspective vsBrowser Perspective?
  • 27. PCAPPerf Testing 02/07/2011 © Seriti Consulting 27 WiFi Connection to PC PC acting as Wifi hotspot and capturing packets with Wireshark Upload pcap file to pcapperf.appspot.com And View the waterfall Upload http://code.google.com/p/pcaphar/wiki/CaptureMobileTraffics
  • 28. Mobitest – blaze.io/mobile 02/07/2011 © Seriti Consulting 28 “PCAPPerfas SaaS” + some on-device event capture + screenshots WiFi only Tethered machines in Ottawa, DC, Amsterdam
  • 29. Mobitest / PCAPPerf waterfall 02/07/2011 © Seriti Consulting 29
  • 30. 3PMobile.com “Browser2” 02/07/2011 © Seriti Consulting 30 Android Native Browser code instrumented for performance measurement Test Anywhere Full Mobile context – device & location & network Browser-level perspective Screenshots Automated Testing
  • 31. Device Context 02/07/2011 © Seriti Consulting 31
  • 32. 02/07/2011 © Seriti Consulting 32 Location Context
  • 33. 02/07/2011 © Seriti Consulting 33 Network Context
  • 34. 3PMobile.com “Browser2” Waterfall 02/07/2011 © Seriti Consulting 34 New “detail mode” hybrid waterfall
  • 35. 02/07/2011 © Seriti Consulting 35
  • 36. 3pMobile Open Beta 02/07/2011 © Seriti Consulting 36 Register at www.3pmobile.com Download the APK & install Test away! The results from the tests shown today are available Username = ajaxmobile@seriticonsulting.com Password = ajaxmobile Feel free to take a look (but please don’t delete any tests not your own)
  • 37. 02/07/2011 © Seriti Consulting 37 So what else is there?
  • 38. TCP Dump on Rooted phone 02/07/2011 © Seriti Consulting 38 http://www.vbsteven.be/blog/android-debugging-inspectin-network-traffic-with-tcpdump/
  • 39. JavaScript Bookmarklets 02/07/2011 © Seriti Consulting 39 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”)
  • 40. Keynote MITE (Emulation) 02/07/2011 © Seriti Consulting 40 The free Keynote MITE emulator Webkit-based emulation based on device profiles
  • 41. Debugging tools 02/07/2011 © Seriti Consulting 41 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)
  • 42. Watchmouse“IAM” library 02/07/2011 © Seriti Consulting 42 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/
  • 43. 02/07/2011 © Seriti Consulting 43 And that’s all I’ve got…
  • 44. 02/07/2011 © Seriti Consulting 44 Questions? Stephen Thair, Seriti Consulting, @TheOpsMgr Stephen.thair@seriticonsulting.com 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/

Notas del editor

  1. Forget what you thought you knew…
  2. Here is one reason why a mobile browser isn’t the same as a desktop browser….(on Android) the “web browser” is a Java App calling a C/C++ app which calls another C app…
  3. Different bandwidthDifferent latencyDifferent network layer entirely (Backhaul probably isn’t even IP-based…)
  4. And if you throw in CyanogenMod you can get even better performance…
  5. And if you throw in CyanogenMod you can get even better performance…
  6. What type of network is it connected to?
  7. I was on the Thames Clipper on my way back from the O2 after a concert. So I ran some automated testing and this graphs my results… Average32.859Median12.071Std Deviation45.691Min9.275Max156.520
  8. “Snakes… on a motherf**king plane!” Network latency varies enormously…. What can we see here?The connection is relatively good at sending and receiving data. The green crosses represent packets that were actually lost which only happened for 75 of 1000.There are some crazy-high round trip times. The minimum round trip time was 107ms (which would put my home cable connection to shame) and even the median is pretty awesome at 239ms but the maximum was a whopping 20226 ms - that's more than 20 seconds!
  9. Test MarkerTime (Sec)Signal Strength (ASU)19.2753212.681339.68274156.52018512.071969.28513752.86814810.1849923.1658Average32.859Median12.071Std Deviation45.691
  10. 1.JavaScript timing e.g. WebTuna, Boomerang, Episodes2.Browser plug-in e.g. HTTPwatch3.Custom browser variant e.g. A Webkit-build (often used as a monitoring agent)4.Proxy timing e.g. Fiddler proxy5.Web Server Module e.g. APM solutions like AppDynamics, Dynatraceetc6.Network-level e.g. Atomic Labs Pion, Tealeaf, Coradiant
  11. 2.Browser plug-in e.g. HTTPwatchBut only some mobile browsers have a plug-in architecture… and exactly what timing info that would provide… I have no idea…
  12. 4.Proxy timing e.g. Fiddler proxy or Charles ProxyObserver Affect #1 = http://www.fiddler2.com/fiddler/perf/PerfMeasure.aspObserver Affect #2= http://insidehttp.blogspot.com/2005/06/using-fiddler-for-performance.html
  13. 5.Web Server Module e.g. APM solutions like AppDynamics, Dynatraceetc
  14. 1.JavaScript timing e.g. WebTuna, Boomerang, EpisodesYou can also use YUI Profiler I believe http://developer.yahoo.com/yui/profilerI have seen JavaScript warnings appear due to “excessive time in the onBeforeUnload event” – so keep in mind that JavaScript is a lot slower in mobile devices and hence the observer effect is larger (and the timing more accurate).
  15. Network tap based solutions are great for measuring your own site, not so great for measuring 3rd party sites.PCAPPerf is limited to WiFi… which isn’t anything like the real “mobile” experience. The mobile network stack is NOT the same as the desktop stack, and the client side delay is larger also. *In theory you can use tcpdump on a rooted phone. More on that later…
  16. The mobile network stack is NOT the same as the desktop stack, and the client side delay is larger also.
  17. Is a tethered, rooted phone over wifi adequate to your needs?
  18. Is knowing what’s happening “on the wire” enough, or do you want to understand what’s happening at the browser level?And the “mobile context” …So lets look at a few in detail…
  19. Flexible solution (in theory works with every WiFi enabled phone)But WiFi isn’t mobile…And it’s a faff…
  20. Essentially the PCAPPerf approach as SaaSBut it does support iPhone and Android.
  21. Currently Android only but PoC code for Blackberry and iPhone exists. iPhone client in 90 to 120 days, all being well.
  22. Rooted and Tethered, again…
  23. Even a PC-based version of Webkit isn’t the same as webkit running on a mobile device. But useful none the less. Lots of other features and unsurprisingly there is a (expensive) Pro version “The MITE Pro annual user license is $5,000 and includes 100 hours of free remote testing. To learn more about single- and multiple-license purchases, please contact us today.”
  24. The mobile network stack is NOT the same as the desktop stack, and the client side delay is larger also.