SlideShare uma empresa Scribd logo
1 de 49
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/

Mais conteúdo relacionado

Semelhante a 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 automateLizzy 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 ExperiencePerfecto 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 2018Perfecto Mobile
 
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_testersPerfecto 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 Summitkimw001
 
The Platform for Building Great Software
The Platform for Building Great SoftwareThe Platform for Building Great Software
The Platform for Building Great SoftwarePlatform CF
 
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
 
Testing Mobile App Performance
Testing Mobile App PerformanceTesting Mobile App Performance
Testing Mobile App PerformanceTechWell
 
WebRTC for Telcos & Service Providers
WebRTC for Telcos & Service ProvidersWebRTC for Telcos & Service Providers
WebRTC for Telcos & Service ProvidersUppersideConferences
 
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 automotiveTanbin 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 AutomateTechWell
 
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 PresentSOASTA
 
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 PresentSOASTA
 
Bangalore Cloud Foundry meetup - Mani
Bangalore Cloud Foundry meetup - ManiBangalore Cloud Foundry meetup - Mani
Bangalore Cloud Foundry meetup - ManiMani Chandrasekaran
 
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 ProvidersDean Bubley
 

Semelhante a 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
 
The Platform for Building Great Software
The Platform for Building Great SoftwareThe Platform for Building Great Software
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
Pivotal One: 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
 

Mais de 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 2013Stephen 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 thairStephen 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 TaleStephen 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.ukStephen Thair
 
Measuring web performance. Velocity EU 2011
Measuring web performance. Velocity EU 2011Measuring web performance. Velocity EU 2011
Measuring web performance. Velocity EU 2011Stephen 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 SeminarStephen 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 SPDYStephen 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 thairStephen Thair
 
Performance automation 101 @LDNWebPerf MickMcGuinness
Performance automation 101 @LDNWebPerf MickMcGuinnessPerformance automation 101 @LDNWebPerf MickMcGuinness
Performance automation 101 @LDNWebPerf MickMcGuinnessStephen 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 - AndreasGrabnerStephen Thair
 
Seatwave Web Peformance Optimisation Case Study
Seatwave Web Peformance Optimisation Case StudySeatwave Web Peformance Optimisation Case Study
Seatwave Web Peformance Optimisation Case StudyStephen Thair
 
Configuration Management - The Operations Managers View
Configuration Management - The Operations Managers ViewConfiguration Management - The Operations Managers View
Configuration Management - The Operations Managers ViewStephen 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 StudyStephen Thair
 

Mais de 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
 

Último

Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 

Último (20)

Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 

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/

Notas do 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. 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.