SlideShare a Scribd company logo
Stephen Thair, Seriti Consulting, @TheOpsMgr London Web Performance Meetup Group, @LDNWebPerf Measuring mobile performance 14/09/2011 © Seriti Consulting 1
Before we start… 3 Things to keep in mind 14/09/2011 © Seriti Consulting 2
Desktop ≠ Mobile 14/09/2011 © Seriti Consulting 3
A Java app calling a java app calling a C++ app using JNI to call a java app…. 14/09/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 14/09/2011 © Seriti Consulting 5
WiFivs HSDPA Performance  14/09/2011 © Seriti Consulting 6
Mobile ≠ Mobile 14/09/2011 © Seriti Consulting 7
Different Phones = Different Performance 14/09/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 14/09/2011 © Seriti Consulting 9
Different Browsers… 14/09/2011 © Seriti Consulting 10 http://www.webdevelopersnotes.com/articles/mobile-web-browsers-list.php
Different network types… 14/09/2011 © Seriti Consulting 11 http://developer.android.com/reference/android/telephony/TelephonyManager.html
Mobile Performance is location-dependent 14/09/2011 © Seriti Consulting 12 http://mytests.3pmobile.com/context/?WyIyUFVDZHlWV2ErZHFISmxCSWFXRENnPT0iLCJEYnFYVVp3SEN4MD0iXQ%3D%3D
Page Load times (along the thames) 14/09/2011 © Seriti Consulting 13 Off the chart (2m36s)
HSDPA… on a  #!%&$@*ing  train 14/09/2011 © Seriti Consulting 14 Max RTT = 20266ms http://blog.davidsingleton.org/mobiletcp
How important is performance on mobile, anyway? 14/09/2011 © Seriti Consulting 15
You only have 1.5 seconds on mobile!!! 14/09/2011 © Seriti Consulting 16
How many ways are there to measure web performance? And how useful are they on Mobile? 14/09/2011 © Seriti Consulting 17
6 14/09/2011 © Seriti Consulting 18
6Browser plug-ins 14/09/2011 © Seriti Consulting 19 As used in HTTPWatch, DynatraceAjax Edition etc But only some mobile browsers support plug-ins… Android & iPhone = No, WinMo & Blackberry = Yes.
5Proxy Timing 14/09/2011 © Seriti Consulting 20 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 14/09/2011 © Seriti Consulting 21 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 14/09/2011 © Seriti Consulting 22 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 14/09/2011 © Seriti Consulting 23 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 14/09/2011 © Seriti Consulting 24 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.
14/09/2011 © Seriti Consulting 25 So what to use?
14/09/2011 © Seriti Consulting 26 Depends on your needs
14/09/2011 © Seriti Consulting 27 Development  vs “Real World”
14/09/2011 © Seriti Consulting 28 Network perspective vsBrowser Perspective?
PCAPPerf Testing	 14/09/2011 © Seriti Consulting 29 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	 14/09/2011 © Seriti Consulting 30 “PCAPPerfas SaaS” + some on-device event capture + screenshots WiFi only Tethered machines in Ottawa, DC, Amsterdam
Mobitest results screen 14/09/2011 © Seriti Consulting 31 Download time Page Size Waterfall Screenshot Link to HAR
Mobitest / PCAPPerf waterfall 14/09/2011 © Seriti Consulting 32
3PMobile.com “Browser2” 14/09/2011 © Seriti Consulting 33 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
3PMobile.com “Browser2” Waterfall 14/09/2011 © Seriti Consulting 34 Waterfall of www.ft.com (redirected to http://m.ft.com)
Screenshots 14/09/2011 © Seriti Consulting 35
Device Context 14/09/2011 © Seriti Consulting 36
14/09/2011 © Seriti Consulting 37 Location Context
14/09/2011 © Seriti Consulting 38 Network Context
Download the HTML, Script, CSS source 14/09/2011 © Seriti Consulting 39
Sign up for free Beta @ www.3pmobile.com 14/09/2011 © Seriti Consulting 40
14/09/2011 © Seriti Consulting 41 So what else is there?
TCP Dump on Rooted phone 14/09/2011 © Seriti Consulting 42 http://www.vbsteven.be/blog/android-debugging-inspectin-network-traffic-with-tcpdump/
JavaScript Bookmarklets 14/09/2011 © Seriti Consulting 43 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) 14/09/2011 © Seriti Consulting 44 The free Keynote MITE emulator Webkit-based emulation based on device profiles
Debugging tools 14/09/2011 © Seriti Consulting 45 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 14/09/2011 © Seriti Consulting 46 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/
BBC / Epitro Signal Strength Survey 14/09/2011 © Seriti Consulting 47 http://www.bbc.co.uk/news/technology-14644507
14/09/2011 © Seriti Consulting 48 And that’s all I’ve got…
14/09/2011 © Seriti Consulting 49 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/

More Related Content

Similar to Measuring mobile performance (@LDNWebPerf Version)

Is it harder to find a taxi when it is raining?
Is it harder to find a taxi when it is raining? Is it harder to find a taxi when it is raining?
Is it harder to find a taxi when it is raining?
Wilfried Hoge
 
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
Lizzy Guido (she/her)
 
Responsive Web Design: Testing to Deliver a Consistent User Experience
Responsive Web Design: Testing to Deliver a Consistent User ExperienceResponsive Web Design: Testing to Deliver a Consistent User Experience
Responsive Web Design: Testing to Deliver a Consistent User Experience
Perfecto by Perforce
 
Online testconf event rwd and pwa 2018
Online testconf event rwd and pwa 2018Online testconf event rwd and pwa 2018
Online testconf event rwd and pwa 2018
Perfecto Mobile
 
Tanzanite Infotech
Tanzanite InfotechTanzanite Infotech
Tanzanite Infotech
Tanzanite Infotech
 
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
Perfecto Mobile
 
Tech Mahindra - OpenStack Summit 2016/Red Hat NFV Mini Summit
Tech Mahindra - OpenStack Summit 2016/Red Hat NFV Mini SummitTech Mahindra - OpenStack Summit 2016/Red Hat NFV Mini Summit
Tech Mahindra - OpenStack Summit 2016/Red Hat NFV Mini Summit
kimw001
 
Pivotal One: The Platform For Building Great Software
Pivotal One: The Platform For Building Great Software Pivotal One: The Platform For Building Great Software
Pivotal One: The Platform For Building Great Software
VMware Tanzu
 
The Platform for Building Great Software
The Platform for Building Great SoftwareThe Platform for Building Great Software
The Platform for Building Great Software
Platform CF
 
Testing Mobile App Performance
Testing Mobile App PerformanceTesting Mobile App Performance
Testing Mobile App Performance
TechWell
 
Node.js as an IOT Bridge
Node.js as an IOT BridgeNode.js as an IOT Bridge
Node.js as an IOT Bridge
Eduardo Pelegri-Llopart
 
WebRTC for Telcos & Service Providers
WebRTC for Telcos & Service ProvidersWebRTC for Telcos & Service Providers
WebRTC for Telcos & Service Providers
UppersideConferences
 
Automating Web UI Testing | Inflectra Webinars | (Part 1)
Automating Web UI Testing | Inflectra Webinars | (Part 1)Automating Web UI Testing | Inflectra Webinars | (Part 1)
Automating Web UI Testing | Inflectra Webinars | (Part 1)
Inflectra
 
Morphing smart phones into automotive
Morphing smart phones into automotiveMorphing smart phones into automotive
Morphing smart phones into automotive
Tanbin Islam Siyam
 
Mobile Testing: What—and What Not—to Automate
Mobile Testing: What—and What Not—to AutomateMobile Testing: What—and What Not—to Automate
Mobile Testing: What—and What Not—to Automate
TechWell
 
Modern Load Testing: Move Your Load Testing from the Past to the Present
Modern Load Testing: Move Your Load Testing from the Past to the PresentModern Load Testing: Move Your Load Testing from the Past to the Present
Modern Load Testing: Move Your Load Testing from the Past to the Present
SOASTA
 
Modern Load Testing: Move Your Load Testing from the Past to the Present
Modern Load Testing: Move Your Load Testing from the Past to the PresentModern Load Testing: Move Your Load Testing from the Past to the Present
Modern Load Testing: Move Your Load Testing from the Past to the Present
SOASTA
 
Bangalore Cloud Foundry meetup - Mani
Bangalore Cloud Foundry meetup - ManiBangalore Cloud Foundry meetup - Mani
Bangalore Cloud Foundry meetup - Mani
Mani Chandrasekaran
 
General ppt
General pptGeneral ppt
General ppt
Tanzanite Infotech
 
WebRTC Drivers & Opportunities for Telecom Service Providers
WebRTC Drivers & Opportunities for Telecom Service ProvidersWebRTC Drivers & Opportunities for Telecom Service Providers
WebRTC Drivers & Opportunities for Telecom Service Providers
Dean Bubley
 

Similar to Measuring mobile performance (@LDNWebPerf Version) (20)

Is it harder to find a taxi when it is raining?
Is it harder to find a taxi when it is raining? Is it harder to find a taxi when it is raining?
Is it harder to find a taxi when it is raining?
 
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
 
Responsive Web Design: Testing to Deliver a Consistent User Experience
Responsive Web Design: Testing to Deliver a Consistent User ExperienceResponsive Web Design: Testing to Deliver a Consistent User Experience
Responsive Web Design: Testing to Deliver a Consistent User Experience
 
Online testconf event rwd and pwa 2018
Online testconf event rwd and pwa 2018Online testconf event rwd and pwa 2018
Online testconf event rwd and pwa 2018
 
Tanzanite Infotech
Tanzanite InfotechTanzanite Infotech
Tanzanite Infotech
 
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
 
Tech Mahindra - OpenStack Summit 2016/Red Hat NFV Mini Summit
Tech Mahindra - OpenStack Summit 2016/Red Hat NFV Mini SummitTech Mahindra - OpenStack Summit 2016/Red Hat NFV Mini Summit
Tech Mahindra - OpenStack Summit 2016/Red Hat NFV Mini Summit
 
Pivotal One: The Platform For Building Great Software
Pivotal One: The Platform For Building Great Software Pivotal One: The Platform For Building Great Software
Pivotal One: The Platform For Building Great Software
 
The Platform for Building Great Software
The Platform for Building Great SoftwareThe Platform for Building Great Software
The Platform for Building Great Software
 
Testing Mobile App Performance
Testing Mobile App PerformanceTesting Mobile App Performance
Testing Mobile App Performance
 
Node.js as an IOT Bridge
Node.js as an IOT BridgeNode.js as an IOT Bridge
Node.js as an IOT Bridge
 
WebRTC for Telcos & Service Providers
WebRTC for Telcos & Service ProvidersWebRTC for Telcos & Service Providers
WebRTC for Telcos & Service Providers
 
Automating Web UI Testing | Inflectra Webinars | (Part 1)
Automating Web UI Testing | Inflectra Webinars | (Part 1)Automating Web UI Testing | Inflectra Webinars | (Part 1)
Automating Web UI Testing | Inflectra Webinars | (Part 1)
 
Morphing smart phones into automotive
Morphing smart phones into automotiveMorphing smart phones into automotive
Morphing smart phones into automotive
 
Mobile Testing: What—and What Not—to Automate
Mobile Testing: What—and What Not—to AutomateMobile Testing: What—and What Not—to Automate
Mobile Testing: What—and What Not—to Automate
 
Modern Load Testing: Move Your Load Testing from the Past to the Present
Modern Load Testing: Move Your Load Testing from the Past to the PresentModern Load Testing: Move Your Load Testing from the Past to the Present
Modern Load Testing: Move Your Load Testing from the Past to the Present
 
Modern Load Testing: Move Your Load Testing from the Past to the Present
Modern Load Testing: Move Your Load Testing from the Past to the PresentModern Load Testing: Move Your Load Testing from the Past to the Present
Modern Load Testing: Move Your Load Testing from the Past to the Present
 
Bangalore Cloud Foundry meetup - Mani
Bangalore Cloud Foundry meetup - ManiBangalore Cloud Foundry meetup - Mani
Bangalore Cloud Foundry meetup - Mani
 
General ppt
General pptGeneral ppt
General ppt
 
WebRTC Drivers & Opportunities for Telecom Service Providers
WebRTC Drivers & Opportunities for Telecom Service ProvidersWebRTC Drivers & Opportunities for Telecom Service Providers
WebRTC Drivers & Opportunities for Telecom Service Providers
 

More from Stephen Thair

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
Stephen Thair
 
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
Stephen 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
Stephen Thair
 
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
Stephen Thair
 
Measuring web performance. Velocity EU 2011
Measuring web performance. Velocity EU 2011Measuring web performance. Velocity EU 2011
Measuring web performance. Velocity EU 2011
Stephen Thair
 
Practical web performance - Site Confidence Web Performance Seminar
Practical web performance - Site Confidence Web Performance SeminarPractical web performance - Site Confidence Web Performance Seminar
Practical web performance - Site Confidence Web Performance Seminar
Stephen Thair
 
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
Stephen Thair
 
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
Stephen Thair
 
Performance automation 101 @LDNWebPerf MickMcGuinness
Performance automation 101 @LDNWebPerf MickMcGuinnessPerformance automation 101 @LDNWebPerf MickMcGuinness
Performance automation 101 @LDNWebPerf MickMcGuinness
Stephen Thair
 
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
Stephen Thair
 
Web performance 101
Web performance 101Web performance 101
Web performance 101
Stephen Thair
 
Seatwave Web Peformance Optimisation Case Study
Seatwave Web Peformance Optimisation Case StudySeatwave Web Peformance Optimisation Case Study
Seatwave Web Peformance Optimisation Case Study
Stephen Thair
 
Configuration Management - The Operations Managers View
Configuration Management - The Operations Managers ViewConfiguration Management - The Operations Managers View
Configuration Management - The Operations Managers View
Stephen Thair
 
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
Stephen Thair
 

More from Stephen Thair (14)

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
 
Practical web performance - Site Confidence Web Performance Seminar
Practical web performance - Site Confidence Web Performance SeminarPractical web performance - Site Confidence Web Performance Seminar
Practical web performance - Site Confidence Web Performance Seminar
 
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
 
Web performance 101
Web performance 101Web performance 101
Web performance 101
 
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
 

Recently uploaded

GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
Tomaz Bratanic
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
Daiki Mogmet Ito
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
Jason Packer
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
Zilliz
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
Matthew Sinclair
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
panagenda
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
tolgahangng
 
Mariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceXMariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceX
Mariano Tinti
 
Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)
Jakub Marek
 
5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides
DanBrown980551
 
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptxOcean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
SitimaJohn
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
Zilliz
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
Matthew Sinclair
 
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
akankshawande
 
Generating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and MilvusGenerating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and Milvus
Zilliz
 
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
Edge AI and Vision Alliance
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
ssuserfac0301
 
Skybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoptionSkybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoption
Tatiana Kojar
 
GenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizationsGenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizations
kumardaparthi1024
 
UI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentationUI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentation
Wouter Lemaire
 

Recently uploaded (20)

GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
 
Mariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceXMariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceX
 
Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)
 
5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides
 
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptxOcean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
 
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
 
Generating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and MilvusGenerating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and Milvus
 
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
 
Skybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoptionSkybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoption
 
GenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizationsGenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizations
 
UI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentationUI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentation
 

Measuring mobile performance (@LDNWebPerf Version)

  • 1. Stephen Thair, Seriti Consulting, @TheOpsMgr London Web Performance Meetup Group, @LDNWebPerf Measuring mobile performance 14/09/2011 © Seriti Consulting 1
  • 2. Before we start… 3 Things to keep in mind 14/09/2011 © Seriti Consulting 2
  • 3. Desktop ≠ Mobile 14/09/2011 © Seriti Consulting 3
  • 4. A Java app calling a java app calling a C++ app using JNI to call a java app…. 14/09/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 14/09/2011 © Seriti Consulting 5
  • 6. WiFivs HSDPA Performance 14/09/2011 © Seriti Consulting 6
  • 7. Mobile ≠ Mobile 14/09/2011 © Seriti Consulting 7
  • 8. Different Phones = Different Performance 14/09/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 14/09/2011 © Seriti Consulting 9
  • 10. Different Browsers… 14/09/2011 © Seriti Consulting 10 http://www.webdevelopersnotes.com/articles/mobile-web-browsers-list.php
  • 11. Different network types… 14/09/2011 © Seriti Consulting 11 http://developer.android.com/reference/android/telephony/TelephonyManager.html
  • 12. Mobile Performance is location-dependent 14/09/2011 © Seriti Consulting 12 http://mytests.3pmobile.com/context/?WyIyUFVDZHlWV2ErZHFISmxCSWFXRENnPT0iLCJEYnFYVVp3SEN4MD0iXQ%3D%3D
  • 13. Page Load times (along the thames) 14/09/2011 © Seriti Consulting 13 Off the chart (2m36s)
  • 14. HSDPA… on a #!%&$@*ing train 14/09/2011 © Seriti Consulting 14 Max RTT = 20266ms http://blog.davidsingleton.org/mobiletcp
  • 15. How important is performance on mobile, anyway? 14/09/2011 © Seriti Consulting 15
  • 16. You only have 1.5 seconds on mobile!!! 14/09/2011 © Seriti Consulting 16
  • 17. How many ways are there to measure web performance? And how useful are they on Mobile? 14/09/2011 © Seriti Consulting 17
  • 18. 6 14/09/2011 © Seriti Consulting 18
  • 19. 6Browser plug-ins 14/09/2011 © Seriti Consulting 19 As used in HTTPWatch, DynatraceAjax Edition etc But only some mobile browsers support plug-ins… Android & iPhone = No, WinMo & Blackberry = Yes.
  • 20. 5Proxy Timing 14/09/2011 © Seriti Consulting 20 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”
  • 21. 4Web Server Module 14/09/2011 © Seriti Consulting 21 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…
  • 22. 3JavaScript Timing 14/09/2011 © Seriti Consulting 22 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…
  • 23. 2 Network level Timing 14/09/2011 © Seriti Consulting 23 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…
  • 24. 1 Custom browser 14/09/2011 © Seriti Consulting 24 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.
  • 25. 14/09/2011 © Seriti Consulting 25 So what to use?
  • 26. 14/09/2011 © Seriti Consulting 26 Depends on your needs
  • 27. 14/09/2011 © Seriti Consulting 27 Development vs “Real World”
  • 28. 14/09/2011 © Seriti Consulting 28 Network perspective vsBrowser Perspective?
  • 29. PCAPPerf Testing 14/09/2011 © Seriti Consulting 29 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
  • 30. Mobitest – blaze.io/mobile 14/09/2011 © Seriti Consulting 30 “PCAPPerfas SaaS” + some on-device event capture + screenshots WiFi only Tethered machines in Ottawa, DC, Amsterdam
  • 31. Mobitest results screen 14/09/2011 © Seriti Consulting 31 Download time Page Size Waterfall Screenshot Link to HAR
  • 32. Mobitest / PCAPPerf waterfall 14/09/2011 © Seriti Consulting 32
  • 33. 3PMobile.com “Browser2” 14/09/2011 © Seriti Consulting 33 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
  • 34. 3PMobile.com “Browser2” Waterfall 14/09/2011 © Seriti Consulting 34 Waterfall of www.ft.com (redirected to http://m.ft.com)
  • 35. Screenshots 14/09/2011 © Seriti Consulting 35
  • 36. Device Context 14/09/2011 © Seriti Consulting 36
  • 37. 14/09/2011 © Seriti Consulting 37 Location Context
  • 38. 14/09/2011 © Seriti Consulting 38 Network Context
  • 39. Download the HTML, Script, CSS source 14/09/2011 © Seriti Consulting 39
  • 40. Sign up for free Beta @ www.3pmobile.com 14/09/2011 © Seriti Consulting 40
  • 41. 14/09/2011 © Seriti Consulting 41 So what else is there?
  • 42. TCP Dump on Rooted phone 14/09/2011 © Seriti Consulting 42 http://www.vbsteven.be/blog/android-debugging-inspectin-network-traffic-with-tcpdump/
  • 43. JavaScript Bookmarklets 14/09/2011 © Seriti Consulting 43 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”)
  • 44. Keynote MITE (Emulation) 14/09/2011 © Seriti Consulting 44 The free Keynote MITE emulator Webkit-based emulation based on device profiles
  • 45. Debugging tools 14/09/2011 © Seriti Consulting 45 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)
  • 46. Watchmouse“IAM” library 14/09/2011 © Seriti Consulting 46 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/
  • 47. BBC / Epitro Signal Strength Survey 14/09/2011 © Seriti Consulting 47 http://www.bbc.co.uk/news/technology-14644507
  • 48. 14/09/2011 © Seriti Consulting 48 And that’s all I’ve got…
  • 49. 14/09/2011 © Seriti Consulting 49 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/

Editor's Notes

  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. Test MarkerTime (Sec)Signal Strength (ASU)19.2753212.681339.68274156.52018512.071969.28513752.86814810.1849923.1658Average32.859Median12.071Std Deviation45.691
  9. “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!
  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.