SlideShare a Scribd company logo
Paget e s t:
       W eWebPagetest APIly
Using the b              he Ug
           he Ba d&T
The Good, T
1   First … some basic tips
Understand the test environment
Windows version? DNS resolver?
Hardware specs (RAM, processor)?
Run a large number of tests
Collect RUM data too !
Summary statistics hide insight



            Mean: ~1400 ms
            Median: ~1100 ms
Look at individual tests




                           Normal
                           Ouch!
2   New stuff in the WPT ui
Homepage > Advanced tab
Capture Network Log (Chrome)
Returns big TXT file with JSON … then what?
Pat: “You probably don't want to use the
network log - it was added for the Chrome
team themselves to debug the browser :-)”
Minimum test duration
It works, kindof ...




                       Example (minTestDur=45)
3   WPT API introduction
Getting started

Get an API key from Pat (required)

Know your requests will have low prio     /getLocations.php




Basic process:
1. Submit request via POST or GET
2. Poll for the test status (or use pingback)
3. Fetch test results
4. Fetch objects (charts, screen shots, ...)
Submitting requests

Send a POST or GET to
http://www.webpagetest.org/runtest.php

url is only required parameter

Defaults: Dulles DSL, 1 run, first & repeat
view, public, no video

Overview of parameters
Results

Example XML

It has it all, incl.
1. PageSpeed version & results
2. Page <title>
3. Links to pages/files for everything in UI
4. Video frame URLs & Speed Index score !
Documentation


Official API documentation

Python lib for ad-hoc batch processing

Batch processing command line tool
4   Scripting
Lots of possibilities!
https://sites.google.com/a/webpagetest.org/docs/using-webpagetest/scripting



Navigation/DOM interaction (submitForm)
End Conditions (setDOMelement)
Request Manipulation (setDNS)
Misc (combineSteps)


Great for simulating user-page interaction,
multi-page testing and different 'conditions'
Example scripts

logData    0
navigate   http://www.gamesgames.com/
logData    1
navigate   http://www.gamesgames.com/search.html?
           search=bloons+4


SetDNSName   cdn.domain.com     www.domain.com
overrideHost cdn.domain.com     www.domain.com
navigate     www.domain.com
Commands you'll likely use
Command           Description
navigate          Navigate to next page, wait for it to complete
logData           Set to 0 to not record anything; 1 = record!
setValue          Sets the value attribute of the given DOM element to the
                  provided value.
submitForm        Triggers a submit event for the identified form.
setDOMElement     Sets the attribute of a DOM element that is required for
                  the next event to complete successfully.
block             Blocks individual requests from loading
combineSteps      Causes multiple script steps to be combined into a single
                  "step" in the results
setViewportSize   Changes size of visible browser window
firefoxPref       Allows you to specify arbitrary preferences that will be
                  configured before launching the browser. Eg.
                  firefoxPref      network.http.pipelining           false
setDNS            Allows for overriding the IP address for a host name.
Why did the test fail?
Can be very hard to troubleshoot, esp. on
large scripts
5   WPT – hidden gems
&notify=theboss@whitehouse.org

e-mail address to notify with the test results
&iq=90

Specify a jpeg compression level (30-10095)
for the screen shots and video capture




                                     iq=default
                                     iq=90
                                     Video!
&pngss=1

Set to 1 to save a full-resolution version of
the fully loaded screen shot as a png




                                     Normal JPG
                                     Big PNG24
&f=json

Format. Set to "xml" to request an XML
response instead of a redirect ("json" is also
provisionally supported)
&plr=50

Packet loss rate - percent of packets to drop
(used when specifying a custom connectivity
profile)


                                       plr=0
                                       plr=50
                                       No diff !
                                       Location
                                       specific
                                       issue?
console.log() output
Can be found on the screen shots page ...




                                      Example
Time to Title
Not in UI, but ís in results from API: <titleTime>
Can also be found in “Raw Page data” CSV




                                         Example
6   Closing remarks
WPT can act … surprising
The documentation may not help out
It may drive you mad
Don't give up easily
Put some effort in!
Be the Success Kid!
WebPagetest - Good, Bad & Ugly

More Related Content

What's hot

Making the web faster
Making the web fasterMaking the web faster
Making the web faster
Patrick Meenan
 
Service Workers for Performance
Service Workers for PerformanceService Workers for Performance
Service Workers for Performance
Patrick Meenan
 
Using Modern Browser APIs to Improve the Performance of Your Web Applications
Using Modern Browser APIs to Improve the Performance of Your Web ApplicationsUsing Modern Browser APIs to Improve the Performance of Your Web Applications
Using Modern Browser APIs to Improve the Performance of Your Web Applications
Nicholas Jansma
 
Performance Improvements in Browsers
Performance Improvements in BrowsersPerformance Improvements in Browsers
Performance Improvements in Browsers
jeresig
 
Tuning Web Performance
Tuning Web PerformanceTuning Web Performance
Tuning Web Performance
Eric ShangKuan
 
LCA2014 - Introduction to Go
LCA2014 - Introduction to GoLCA2014 - Introduction to Go
LCA2014 - Introduction to Go
dreamwidth
 
A web perf dashboard up & running in 90 minutes presentation
A web perf dashboard up & running in 90 minutes presentationA web perf dashboard up & running in 90 minutes presentation
A web perf dashboard up & running in 90 minutes presentation
Justin Dorfman
 
Make It Fast - Using Modern Browser Performance APIs to Monitor and Improve t...
Make It Fast - Using Modern Browser Performance APIs to Monitor and Improve t...Make It Fast - Using Modern Browser Performance APIs to Monitor and Improve t...
Make It Fast - Using Modern Browser Performance APIs to Monitor and Improve t...
Nicholas Jansma
 
Asynchronous Web Programming with HTML5 WebSockets and Java
Asynchronous Web Programming with HTML5 WebSockets and JavaAsynchronous Web Programming with HTML5 WebSockets and Java
Asynchronous Web Programming with HTML5 WebSockets and Java
James Falkner
 
HTTPS and HTTP/2
HTTPS and HTTP/2HTTPS and HTTP/2
HTTPS and HTTP/2
MatthewWalker9
 
Selecting and deploying automated optimization solutions
Selecting and deploying automated optimization solutionsSelecting and deploying automated optimization solutions
Selecting and deploying automated optimization solutions
Patrick Meenan
 
CouchDB Google
CouchDB GoogleCouchDB Google
CouchDB Google
Steve Souders
 
Building Next Generation Real-Time Web Applications using Websockets
Building Next Generation Real-Time Web Applications using WebsocketsBuilding Next Generation Real-Time Web Applications using Websockets
Building Next Generation Real-Time Web Applications using Websockets
Naresh Chintalcheru
 
Use Xdebug to profile PHP
Use Xdebug to profile PHPUse Xdebug to profile PHP
Use Xdebug to profile PHP
Seravo
 
Performance Improvements in Browsers
Performance Improvements in BrowsersPerformance Improvements in Browsers
Performance Improvements in Browsers
jeresig
 
Creating a full stack web app with python, npm, webpack and react
Creating a full stack web app with python, npm, webpack and reactCreating a full stack web app with python, npm, webpack and react
Creating a full stack web app with python, npm, webpack and react
Angela Kristine Juvet Branaes
 
Preparing your web services for Android and your Android app for web services...
Preparing your web services for Android and your Android app for web services...Preparing your web services for Android and your Android app for web services...
Preparing your web services for Android and your Android app for web services...
Droidcon Eastern Europe
 
Anthony Somerset - Site Speed = Success!
Anthony Somerset - Site Speed = Success!Anthony Somerset - Site Speed = Success!
Anthony Somerset - Site Speed = Success!
WordCamp Cape Town
 
Metrics, metrics everywhere (but where the heck do you start?)
Metrics, metrics everywhere (but where the heck do you start?)Metrics, metrics everywhere (but where the heck do you start?)
Metrics, metrics everywhere (but where the heck do you start?)
Tammy Everts
 
Nuts and Bolts of WebSocket Devoxx 2014
Nuts and Bolts of WebSocket Devoxx 2014Nuts and Bolts of WebSocket Devoxx 2014
Nuts and Bolts of WebSocket Devoxx 2014
Arun Gupta
 

What's hot (20)

Making the web faster
Making the web fasterMaking the web faster
Making the web faster
 
Service Workers for Performance
Service Workers for PerformanceService Workers for Performance
Service Workers for Performance
 
Using Modern Browser APIs to Improve the Performance of Your Web Applications
Using Modern Browser APIs to Improve the Performance of Your Web ApplicationsUsing Modern Browser APIs to Improve the Performance of Your Web Applications
Using Modern Browser APIs to Improve the Performance of Your Web Applications
 
Performance Improvements in Browsers
Performance Improvements in BrowsersPerformance Improvements in Browsers
Performance Improvements in Browsers
 
Tuning Web Performance
Tuning Web PerformanceTuning Web Performance
Tuning Web Performance
 
LCA2014 - Introduction to Go
LCA2014 - Introduction to GoLCA2014 - Introduction to Go
LCA2014 - Introduction to Go
 
A web perf dashboard up & running in 90 minutes presentation
A web perf dashboard up & running in 90 minutes presentationA web perf dashboard up & running in 90 minutes presentation
A web perf dashboard up & running in 90 minutes presentation
 
Make It Fast - Using Modern Browser Performance APIs to Monitor and Improve t...
Make It Fast - Using Modern Browser Performance APIs to Monitor and Improve t...Make It Fast - Using Modern Browser Performance APIs to Monitor and Improve t...
Make It Fast - Using Modern Browser Performance APIs to Monitor and Improve t...
 
Asynchronous Web Programming with HTML5 WebSockets and Java
Asynchronous Web Programming with HTML5 WebSockets and JavaAsynchronous Web Programming with HTML5 WebSockets and Java
Asynchronous Web Programming with HTML5 WebSockets and Java
 
HTTPS and HTTP/2
HTTPS and HTTP/2HTTPS and HTTP/2
HTTPS and HTTP/2
 
Selecting and deploying automated optimization solutions
Selecting and deploying automated optimization solutionsSelecting and deploying automated optimization solutions
Selecting and deploying automated optimization solutions
 
CouchDB Google
CouchDB GoogleCouchDB Google
CouchDB Google
 
Building Next Generation Real-Time Web Applications using Websockets
Building Next Generation Real-Time Web Applications using WebsocketsBuilding Next Generation Real-Time Web Applications using Websockets
Building Next Generation Real-Time Web Applications using Websockets
 
Use Xdebug to profile PHP
Use Xdebug to profile PHPUse Xdebug to profile PHP
Use Xdebug to profile PHP
 
Performance Improvements in Browsers
Performance Improvements in BrowsersPerformance Improvements in Browsers
Performance Improvements in Browsers
 
Creating a full stack web app with python, npm, webpack and react
Creating a full stack web app with python, npm, webpack and reactCreating a full stack web app with python, npm, webpack and react
Creating a full stack web app with python, npm, webpack and react
 
Preparing your web services for Android and your Android app for web services...
Preparing your web services for Android and your Android app for web services...Preparing your web services for Android and your Android app for web services...
Preparing your web services for Android and your Android app for web services...
 
Anthony Somerset - Site Speed = Success!
Anthony Somerset - Site Speed = Success!Anthony Somerset - Site Speed = Success!
Anthony Somerset - Site Speed = Success!
 
Metrics, metrics everywhere (but where the heck do you start?)
Metrics, metrics everywhere (but where the heck do you start?)Metrics, metrics everywhere (but where the heck do you start?)
Metrics, metrics everywhere (but where the heck do you start?)
 
Nuts and Bolts of WebSocket Devoxx 2014
Nuts and Bolts of WebSocket Devoxx 2014Nuts and Bolts of WebSocket Devoxx 2014
Nuts and Bolts of WebSocket Devoxx 2014
 

Viewers also liked

Web Page Test - Beyond the Basics
Web Page Test - Beyond the BasicsWeb Page Test - Beyond the Basics
Web Page Test - Beyond the Basics
Andy Davies
 
Week 5 Whats The Big Idea - Emma Dicks
Week 5 Whats The Big Idea -  Emma DicksWeek 5 Whats The Big Idea -  Emma Dicks
Week 5 Whats The Big Idea - Emma Dicks
UCT Upstarts
 
Acceleration Digitalintelligence
Acceleration DigitalintelligenceAcceleration Digitalintelligence
Acceleration Digitalintelligence
arcagility
 
RoomAuction.com-ref-Adrian
RoomAuction.com-ref-AdrianRoomAuction.com-ref-Adrian
RoomAuction.com-ref-Adrian
Adrian Szczodrowski
 
User Experience Mentoring (Ideabox Indonesia)
User Experience Mentoring (Ideabox Indonesia)User Experience Mentoring (Ideabox Indonesia)
User Experience Mentoring (Ideabox Indonesia)
Dian Soraya
 
Creative Business Cup Competition Manual
Creative Business Cup Competition Manual Creative Business Cup Competition Manual
Creative Business Cup Competition Manual
Startupi
 
NaRFU mai 2010
NaRFU mai 2010NaRFU mai 2010
Social Media Optimization - It All Starts With Search
Social Media Optimization - It All Starts With SearchSocial Media Optimization - It All Starts With Search
Social Media Optimization - It All Starts With Search
Tim Schnitzler
 
Chapter 1
Chapter 1Chapter 1
A Hundred Years in a Decade
A Hundred Years in a DecadeA Hundred Years in a Decade
A Hundred Years in a Decade
Alistair Mackay
 
SemáNtico PragmáTico
SemáNtico PragmáTicoSemáNtico PragmáTico
SemáNtico PragmáTico
Cree Ramón Laza
 
WITU Women and Girls
WITU Women and GirlsWITU Women and Girls
WITU Women and Girls
Web Gathering
 
裸裎相見關鍵字
裸裎相見關鍵字裸裎相見關鍵字
裸裎相見關鍵字
Yen-Liang Jing
 
School of Chemical Sciences
School of Chemical SciencesSchool of Chemical Sciences
School of Chemical Sciences
Dublin City University
 
BPE USA agenda - Full Agenda
BPE USA agenda - Full AgendaBPE USA agenda - Full Agenda
BPE USA agenda - Full Agenda
Zoe Gammie
 
Oipf
OipfOipf
HTTP od zera do bohatera
HTTP od zera do bohateraHTTP od zera do bohatera
HTTP od zera do bohateraHordeTechnology
 
LRITC introduction
LRITC introductionLRITC introduction
LRITC introduction
Richard Bishop
 
MMD_Vision 2015
MMD_Vision 2015MMD_Vision 2015
MMD_Vision 2015
Andrew Bulmer
 
Gabor Karcis portfolio
Gabor Karcis portfolioGabor Karcis portfolio
Gabor Karcis portfolio
Gabor Karcis
 

Viewers also liked (20)

Web Page Test - Beyond the Basics
Web Page Test - Beyond the BasicsWeb Page Test - Beyond the Basics
Web Page Test - Beyond the Basics
 
Week 5 Whats The Big Idea - Emma Dicks
Week 5 Whats The Big Idea -  Emma DicksWeek 5 Whats The Big Idea -  Emma Dicks
Week 5 Whats The Big Idea - Emma Dicks
 
Acceleration Digitalintelligence
Acceleration DigitalintelligenceAcceleration Digitalintelligence
Acceleration Digitalintelligence
 
RoomAuction.com-ref-Adrian
RoomAuction.com-ref-AdrianRoomAuction.com-ref-Adrian
RoomAuction.com-ref-Adrian
 
User Experience Mentoring (Ideabox Indonesia)
User Experience Mentoring (Ideabox Indonesia)User Experience Mentoring (Ideabox Indonesia)
User Experience Mentoring (Ideabox Indonesia)
 
Creative Business Cup Competition Manual
Creative Business Cup Competition Manual Creative Business Cup Competition Manual
Creative Business Cup Competition Manual
 
NaRFU mai 2010
NaRFU mai 2010NaRFU mai 2010
NaRFU mai 2010
 
Social Media Optimization - It All Starts With Search
Social Media Optimization - It All Starts With SearchSocial Media Optimization - It All Starts With Search
Social Media Optimization - It All Starts With Search
 
Chapter 1
Chapter 1Chapter 1
Chapter 1
 
A Hundred Years in a Decade
A Hundred Years in a DecadeA Hundred Years in a Decade
A Hundred Years in a Decade
 
SemáNtico PragmáTico
SemáNtico PragmáTicoSemáNtico PragmáTico
SemáNtico PragmáTico
 
WITU Women and Girls
WITU Women and GirlsWITU Women and Girls
WITU Women and Girls
 
裸裎相見關鍵字
裸裎相見關鍵字裸裎相見關鍵字
裸裎相見關鍵字
 
School of Chemical Sciences
School of Chemical SciencesSchool of Chemical Sciences
School of Chemical Sciences
 
BPE USA agenda - Full Agenda
BPE USA agenda - Full AgendaBPE USA agenda - Full Agenda
BPE USA agenda - Full Agenda
 
Oipf
OipfOipf
Oipf
 
HTTP od zera do bohatera
HTTP od zera do bohateraHTTP od zera do bohatera
HTTP od zera do bohatera
 
LRITC introduction
LRITC introductionLRITC introduction
LRITC introduction
 
MMD_Vision 2015
MMD_Vision 2015MMD_Vision 2015
MMD_Vision 2015
 
Gabor Karcis portfolio
Gabor Karcis portfolioGabor Karcis portfolio
Gabor Karcis portfolio
 

Similar to WebPagetest - Good, Bad & Ugly

Hack Like It's 2013 (The Workshop)
Hack Like It's 2013 (The Workshop)Hack Like It's 2013 (The Workshop)
Hack Like It's 2013 (The Workshop)
Itzik Kotler
 
DalekJS Workshop at T3DD14
DalekJS Workshop at T3DD14DalekJS Workshop at T3DD14
DalekJS Workshop at T3DD14
Peter Foerger
 
Profiling PHP with Xdebug / Webgrind
Profiling PHP with Xdebug / WebgrindProfiling PHP with Xdebug / Webgrind
Profiling PHP with Xdebug / Webgrind
Sam Keen
 
Powershell Tech Ed2009
Powershell Tech Ed2009Powershell Tech Ed2009
Powershell Tech Ed2009
rsnarayanan
 
Scaling python webapps from 0 to 50 million users - A top-down approach
Scaling python webapps from 0 to 50 million users - A top-down approachScaling python webapps from 0 to 50 million users - A top-down approach
Scaling python webapps from 0 to 50 million users - A top-down approach
Jinal Jhaveri
 
Mastering selenium for automated acceptance tests
Mastering selenium for automated acceptance testsMastering selenium for automated acceptance tests
Mastering selenium for automated acceptance tests
Nick Belhomme
 
One-Man Ops
One-Man OpsOne-Man Ops
One-Man Ops
Jos Boumans
 
Customize and Secure the Runtime and Dependencies of Your Procedural Language...
Customize and Secure the Runtime and Dependencies of Your Procedural Language...Customize and Secure the Runtime and Dependencies of Your Procedural Language...
Customize and Secure the Runtime and Dependencies of Your Procedural Language...
VMware Tanzu
 
Belvedere
BelvedereBelvedere
Belvedere
Colin Panisset
 
SD, a P2P bug tracking system
SD, a P2P bug tracking systemSD, a P2P bug tracking system
SD, a P2P bug tracking system
Jesse Vincent
 
Advanced Eclipse Workshop (held at IPC2010 -spring edition-)
Advanced Eclipse Workshop (held at IPC2010 -spring edition-)Advanced Eclipse Workshop (held at IPC2010 -spring edition-)
Advanced Eclipse Workshop (held at IPC2010 -spring edition-)
Bastian Feder
 
Nagios Conference 2012 - Dan Wittenberg - Case Study: Scaling Nagios Core at ...
Nagios Conference 2012 - Dan Wittenberg - Case Study: Scaling Nagios Core at ...Nagios Conference 2012 - Dan Wittenberg - Case Study: Scaling Nagios Core at ...
Nagios Conference 2012 - Dan Wittenberg - Case Study: Scaling Nagios Core at ...
Nagios
 
(phpconftw2012) PHP as a Middleware in Embedded Systems
(phpconftw2012) PHP as a Middleware in Embedded Systems(phpconftw2012) PHP as a Middleware in Embedded Systems
(phpconftw2012) PHP as a Middleware in Embedded Systems
sosorry
 
Easy deployment & management of cloud apps
Easy deployment & management of cloud appsEasy deployment & management of cloud apps
Easy deployment & management of cloud apps
David Cunningham
 
Plone deployment made easy
Plone deployment made easyPlone deployment made easy
Plone deployment made easy
Kim Chee Leong
 
Heavy Web Optimization: Backend
Heavy Web Optimization: BackendHeavy Web Optimization: Backend
Heavy Web Optimization: Backend
Võ Duy Tuấn
 
Embedded Recipes 2019 - Testing firmware the devops way
Embedded Recipes 2019 - Testing firmware the devops wayEmbedded Recipes 2019 - Testing firmware the devops way
Embedded Recipes 2019 - Testing firmware the devops way
Anne Nicolas
 
Presentation of JSConf.eu
Presentation of JSConf.euPresentation of JSConf.eu
Presentation of JSConf.eu
Fredrik Wendt
 
Introduction to PowerShell
Introduction to PowerShellIntroduction to PowerShell
Introduction to PowerShell
Boulos Dib
 
Hadoop Monitoring best Practices
Hadoop Monitoring best PracticesHadoop Monitoring best Practices
Hadoop Monitoring best Practices
Edward Capriolo
 

Similar to WebPagetest - Good, Bad & Ugly (20)

Hack Like It's 2013 (The Workshop)
Hack Like It's 2013 (The Workshop)Hack Like It's 2013 (The Workshop)
Hack Like It's 2013 (The Workshop)
 
DalekJS Workshop at T3DD14
DalekJS Workshop at T3DD14DalekJS Workshop at T3DD14
DalekJS Workshop at T3DD14
 
Profiling PHP with Xdebug / Webgrind
Profiling PHP with Xdebug / WebgrindProfiling PHP with Xdebug / Webgrind
Profiling PHP with Xdebug / Webgrind
 
Powershell Tech Ed2009
Powershell Tech Ed2009Powershell Tech Ed2009
Powershell Tech Ed2009
 
Scaling python webapps from 0 to 50 million users - A top-down approach
Scaling python webapps from 0 to 50 million users - A top-down approachScaling python webapps from 0 to 50 million users - A top-down approach
Scaling python webapps from 0 to 50 million users - A top-down approach
 
Mastering selenium for automated acceptance tests
Mastering selenium for automated acceptance testsMastering selenium for automated acceptance tests
Mastering selenium for automated acceptance tests
 
One-Man Ops
One-Man OpsOne-Man Ops
One-Man Ops
 
Customize and Secure the Runtime and Dependencies of Your Procedural Language...
Customize and Secure the Runtime and Dependencies of Your Procedural Language...Customize and Secure the Runtime and Dependencies of Your Procedural Language...
Customize and Secure the Runtime and Dependencies of Your Procedural Language...
 
Belvedere
BelvedereBelvedere
Belvedere
 
SD, a P2P bug tracking system
SD, a P2P bug tracking systemSD, a P2P bug tracking system
SD, a P2P bug tracking system
 
Advanced Eclipse Workshop (held at IPC2010 -spring edition-)
Advanced Eclipse Workshop (held at IPC2010 -spring edition-)Advanced Eclipse Workshop (held at IPC2010 -spring edition-)
Advanced Eclipse Workshop (held at IPC2010 -spring edition-)
 
Nagios Conference 2012 - Dan Wittenberg - Case Study: Scaling Nagios Core at ...
Nagios Conference 2012 - Dan Wittenberg - Case Study: Scaling Nagios Core at ...Nagios Conference 2012 - Dan Wittenberg - Case Study: Scaling Nagios Core at ...
Nagios Conference 2012 - Dan Wittenberg - Case Study: Scaling Nagios Core at ...
 
(phpconftw2012) PHP as a Middleware in Embedded Systems
(phpconftw2012) PHP as a Middleware in Embedded Systems(phpconftw2012) PHP as a Middleware in Embedded Systems
(phpconftw2012) PHP as a Middleware in Embedded Systems
 
Easy deployment & management of cloud apps
Easy deployment & management of cloud appsEasy deployment & management of cloud apps
Easy deployment & management of cloud apps
 
Plone deployment made easy
Plone deployment made easyPlone deployment made easy
Plone deployment made easy
 
Heavy Web Optimization: Backend
Heavy Web Optimization: BackendHeavy Web Optimization: Backend
Heavy Web Optimization: Backend
 
Embedded Recipes 2019 - Testing firmware the devops way
Embedded Recipes 2019 - Testing firmware the devops wayEmbedded Recipes 2019 - Testing firmware the devops way
Embedded Recipes 2019 - Testing firmware the devops way
 
Presentation of JSConf.eu
Presentation of JSConf.euPresentation of JSConf.eu
Presentation of JSConf.eu
 
Introduction to PowerShell
Introduction to PowerShellIntroduction to PowerShell
Introduction to PowerShell
 
Hadoop Monitoring best Practices
Hadoop Monitoring best PracticesHadoop Monitoring best Practices
Hadoop Monitoring best Practices
 

Recently uploaded

What’s New in Teams Calling, Meetings and Devices May 2024
What’s New in Teams Calling, Meetings and Devices May 2024What’s New in Teams Calling, Meetings and Devices May 2024
What’s New in Teams Calling, Meetings and Devices May 2024
Stephanie Beckett
 
Getting Started Using the National Research Platform
Getting Started Using the National Research PlatformGetting Started Using the National Research Platform
Getting Started Using the National Research Platform
Larry Smarr
 
How to Improve Your Ability to Solve Complex Performance Problems
How to Improve Your Ability to Solve Complex Performance ProblemsHow to Improve Your Ability to Solve Complex Performance Problems
How to Improve Your Ability to Solve Complex Performance Problems
ScyllaDB
 
this resume for sadika shaikh bca student
this resume for sadika shaikh bca studentthis resume for sadika shaikh bca student
this resume for sadika shaikh bca student
SadikaShaikh7
 
Pigging Solutions Sustainability brochure.pdf
Pigging Solutions Sustainability brochure.pdfPigging Solutions Sustainability brochure.pdf
Pigging Solutions Sustainability brochure.pdf
Pigging Solutions
 
“Intel’s Approach to Operationalizing AI in the Manufacturing Sector,” a Pres...
“Intel’s Approach to Operationalizing AI in the Manufacturing Sector,” a Pres...“Intel’s Approach to Operationalizing AI in the Manufacturing Sector,” a Pres...
“Intel’s Approach to Operationalizing AI in the Manufacturing Sector,” a Pres...
Edge AI and Vision Alliance
 
Metadata Lakes for Next-Gen AI/ML - Datastrato
Metadata Lakes for Next-Gen AI/ML - DatastratoMetadata Lakes for Next-Gen AI/ML - Datastrato
Metadata Lakes for Next-Gen AI/ML - Datastrato
Zilliz
 
ASIMOV: Enterprise RAG at Dialog Axiata PLC
ASIMOV: Enterprise RAG at Dialog Axiata PLCASIMOV: Enterprise RAG at Dialog Axiata PLC
ASIMOV: Enterprise RAG at Dialog Axiata PLC
Zilliz
 
Chapter 6 - Test Tools Considerations V4.0
Chapter 6 - Test Tools Considerations V4.0Chapter 6 - Test Tools Considerations V4.0
Chapter 6 - Test Tools Considerations V4.0
Neeraj Kumar Singh
 
Chapter 2 - Testing Throughout SDLC V4.0
Chapter 2 - Testing Throughout SDLC V4.0Chapter 2 - Testing Throughout SDLC V4.0
Chapter 2 - Testing Throughout SDLC V4.0
Neeraj Kumar Singh
 
Data Protection in a Connected World: Sovereignty and Cyber Security
Data Protection in a Connected World: Sovereignty and Cyber SecurityData Protection in a Connected World: Sovereignty and Cyber Security
Data Protection in a Connected World: Sovereignty and Cyber Security
anupriti
 
Building an Agentic RAG locally with Ollama and Milvus
Building an Agentic RAG locally with Ollama and MilvusBuilding an Agentic RAG locally with Ollama and Milvus
Building an Agentic RAG locally with Ollama and Milvus
Zilliz
 
Chapter 5 - Managing Test Activities V4.0
Chapter 5 - Managing Test Activities V4.0Chapter 5 - Managing Test Activities V4.0
Chapter 5 - Managing Test Activities V4.0
Neeraj Kumar Singh
 
UiPath Community Day Kraków: Devs4Devs Conference
UiPath Community Day Kraków: Devs4Devs ConferenceUiPath Community Day Kraków: Devs4Devs Conference
UiPath Community Day Kraków: Devs4Devs Conference
UiPathCommunity
 
MYIR Product Brochure - A Global Provider of Embedded SOMs & Solutions
MYIR Product Brochure - A Global Provider of Embedded SOMs & SolutionsMYIR Product Brochure - A Global Provider of Embedded SOMs & Solutions
MYIR Product Brochure - A Global Provider of Embedded SOMs & Solutions
Linda Zhang
 
DealBook of Ukraine: 2024 edition
DealBook of Ukraine: 2024 editionDealBook of Ukraine: 2024 edition
DealBook of Ukraine: 2024 edition
Yevgen Sysoyev
 
Kubernetes Cloud Native Indonesia Meetup - June 2024
Kubernetes Cloud Native Indonesia Meetup - June 2024Kubernetes Cloud Native Indonesia Meetup - June 2024
Kubernetes Cloud Native Indonesia Meetup - June 2024
Prasta Maha
 
9 Ways Pastors Will Use AI Everyday By 2029
9 Ways Pastors Will Use AI Everyday By 20299 Ways Pastors Will Use AI Everyday By 2029
9 Ways Pastors Will Use AI Everyday By 2029
Big Click Syndicate LLC
 
Leveraging AI for Software Developer Productivity.pptx
Leveraging AI for Software Developer Productivity.pptxLeveraging AI for Software Developer Productivity.pptx
Leveraging AI for Software Developer Productivity.pptx
petabridge
 
Blockchain and Cyber Defense Strategies in new genre times
Blockchain and Cyber Defense Strategies in new genre timesBlockchain and Cyber Defense Strategies in new genre times
Blockchain and Cyber Defense Strategies in new genre times
anupriti
 

Recently uploaded (20)

What’s New in Teams Calling, Meetings and Devices May 2024
What’s New in Teams Calling, Meetings and Devices May 2024What’s New in Teams Calling, Meetings and Devices May 2024
What’s New in Teams Calling, Meetings and Devices May 2024
 
Getting Started Using the National Research Platform
Getting Started Using the National Research PlatformGetting Started Using the National Research Platform
Getting Started Using the National Research Platform
 
How to Improve Your Ability to Solve Complex Performance Problems
How to Improve Your Ability to Solve Complex Performance ProblemsHow to Improve Your Ability to Solve Complex Performance Problems
How to Improve Your Ability to Solve Complex Performance Problems
 
this resume for sadika shaikh bca student
this resume for sadika shaikh bca studentthis resume for sadika shaikh bca student
this resume for sadika shaikh bca student
 
Pigging Solutions Sustainability brochure.pdf
Pigging Solutions Sustainability brochure.pdfPigging Solutions Sustainability brochure.pdf
Pigging Solutions Sustainability brochure.pdf
 
“Intel’s Approach to Operationalizing AI in the Manufacturing Sector,” a Pres...
“Intel’s Approach to Operationalizing AI in the Manufacturing Sector,” a Pres...“Intel’s Approach to Operationalizing AI in the Manufacturing Sector,” a Pres...
“Intel’s Approach to Operationalizing AI in the Manufacturing Sector,” a Pres...
 
Metadata Lakes for Next-Gen AI/ML - Datastrato
Metadata Lakes for Next-Gen AI/ML - DatastratoMetadata Lakes for Next-Gen AI/ML - Datastrato
Metadata Lakes for Next-Gen AI/ML - Datastrato
 
ASIMOV: Enterprise RAG at Dialog Axiata PLC
ASIMOV: Enterprise RAG at Dialog Axiata PLCASIMOV: Enterprise RAG at Dialog Axiata PLC
ASIMOV: Enterprise RAG at Dialog Axiata PLC
 
Chapter 6 - Test Tools Considerations V4.0
Chapter 6 - Test Tools Considerations V4.0Chapter 6 - Test Tools Considerations V4.0
Chapter 6 - Test Tools Considerations V4.0
 
Chapter 2 - Testing Throughout SDLC V4.0
Chapter 2 - Testing Throughout SDLC V4.0Chapter 2 - Testing Throughout SDLC V4.0
Chapter 2 - Testing Throughout SDLC V4.0
 
Data Protection in a Connected World: Sovereignty and Cyber Security
Data Protection in a Connected World: Sovereignty and Cyber SecurityData Protection in a Connected World: Sovereignty and Cyber Security
Data Protection in a Connected World: Sovereignty and Cyber Security
 
Building an Agentic RAG locally with Ollama and Milvus
Building an Agentic RAG locally with Ollama and MilvusBuilding an Agentic RAG locally with Ollama and Milvus
Building an Agentic RAG locally with Ollama and Milvus
 
Chapter 5 - Managing Test Activities V4.0
Chapter 5 - Managing Test Activities V4.0Chapter 5 - Managing Test Activities V4.0
Chapter 5 - Managing Test Activities V4.0
 
UiPath Community Day Kraków: Devs4Devs Conference
UiPath Community Day Kraków: Devs4Devs ConferenceUiPath Community Day Kraków: Devs4Devs Conference
UiPath Community Day Kraków: Devs4Devs Conference
 
MYIR Product Brochure - A Global Provider of Embedded SOMs & Solutions
MYIR Product Brochure - A Global Provider of Embedded SOMs & SolutionsMYIR Product Brochure - A Global Provider of Embedded SOMs & Solutions
MYIR Product Brochure - A Global Provider of Embedded SOMs & Solutions
 
DealBook of Ukraine: 2024 edition
DealBook of Ukraine: 2024 editionDealBook of Ukraine: 2024 edition
DealBook of Ukraine: 2024 edition
 
Kubernetes Cloud Native Indonesia Meetup - June 2024
Kubernetes Cloud Native Indonesia Meetup - June 2024Kubernetes Cloud Native Indonesia Meetup - June 2024
Kubernetes Cloud Native Indonesia Meetup - June 2024
 
9 Ways Pastors Will Use AI Everyday By 2029
9 Ways Pastors Will Use AI Everyday By 20299 Ways Pastors Will Use AI Everyday By 2029
9 Ways Pastors Will Use AI Everyday By 2029
 
Leveraging AI for Software Developer Productivity.pptx
Leveraging AI for Software Developer Productivity.pptxLeveraging AI for Software Developer Productivity.pptx
Leveraging AI for Software Developer Productivity.pptx
 
Blockchain and Cyber Defense Strategies in new genre times
Blockchain and Cyber Defense Strategies in new genre timesBlockchain and Cyber Defense Strategies in new genre times
Blockchain and Cyber Defense Strategies in new genre times
 

WebPagetest - Good, Bad & Ugly

  • 1. Paget e s t: W eWebPagetest APIly Using the b he Ug he Ba d&T The Good, T
  • 2. 1 First … some basic tips
  • 3. Understand the test environment Windows version? DNS resolver? Hardware specs (RAM, processor)?
  • 4. Run a large number of tests
  • 6. Summary statistics hide insight Mean: ~1400 ms Median: ~1100 ms
  • 7. Look at individual tests Normal Ouch!
  • 8. 2 New stuff in the WPT ui
  • 10. Capture Network Log (Chrome) Returns big TXT file with JSON … then what? Pat: “You probably don't want to use the network log - it was added for the Chrome team themselves to debug the browser :-)”
  • 11. Minimum test duration It works, kindof ... Example (minTestDur=45)
  • 12. 3 WPT API introduction
  • 13. Getting started Get an API key from Pat (required) Know your requests will have low prio /getLocations.php Basic process: 1. Submit request via POST or GET 2. Poll for the test status (or use pingback) 3. Fetch test results 4. Fetch objects (charts, screen shots, ...)
  • 14. Submitting requests Send a POST or GET to http://www.webpagetest.org/runtest.php url is only required parameter Defaults: Dulles DSL, 1 run, first & repeat view, public, no video Overview of parameters
  • 15. Results Example XML It has it all, incl. 1. PageSpeed version & results 2. Page <title> 3. Links to pages/files for everything in UI 4. Video frame URLs & Speed Index score !
  • 16. Documentation Official API documentation Python lib for ad-hoc batch processing Batch processing command line tool
  • 17. 4 Scripting
  • 18. Lots of possibilities! https://sites.google.com/a/webpagetest.org/docs/using-webpagetest/scripting Navigation/DOM interaction (submitForm) End Conditions (setDOMelement) Request Manipulation (setDNS) Misc (combineSteps) Great for simulating user-page interaction, multi-page testing and different 'conditions'
  • 19. Example scripts logData 0 navigate http://www.gamesgames.com/ logData 1 navigate http://www.gamesgames.com/search.html? search=bloons+4 SetDNSName cdn.domain.com www.domain.com overrideHost cdn.domain.com www.domain.com navigate www.domain.com
  • 20. Commands you'll likely use Command Description navigate Navigate to next page, wait for it to complete logData Set to 0 to not record anything; 1 = record! setValue Sets the value attribute of the given DOM element to the provided value. submitForm Triggers a submit event for the identified form. setDOMElement Sets the attribute of a DOM element that is required for the next event to complete successfully. block Blocks individual requests from loading combineSteps Causes multiple script steps to be combined into a single "step" in the results setViewportSize Changes size of visible browser window firefoxPref Allows you to specify arbitrary preferences that will be configured before launching the browser. Eg. firefoxPref network.http.pipelining false setDNS Allows for overriding the IP address for a host name.
  • 21. Why did the test fail? Can be very hard to troubleshoot, esp. on large scripts
  • 22. 5 WPT – hidden gems
  • 23. &notify=theboss@whitehouse.org e-mail address to notify with the test results
  • 24. &iq=90 Specify a jpeg compression level (30-10095) for the screen shots and video capture iq=default iq=90 Video!
  • 25. &pngss=1 Set to 1 to save a full-resolution version of the fully loaded screen shot as a png Normal JPG Big PNG24
  • 26. &f=json Format. Set to "xml" to request an XML response instead of a redirect ("json" is also provisionally supported)
  • 27. &plr=50 Packet loss rate - percent of packets to drop (used when specifying a custom connectivity profile) plr=0 plr=50 No diff ! Location specific issue?
  • 28. console.log() output Can be found on the screen shots page ... Example
  • 29. Time to Title Not in UI, but ís in results from API: <titleTime> Can also be found in “Raw Page data” CSV Example
  • 30. 6 Closing remarks
  • 31. WPT can act … surprising
  • 32. The documentation may not help out
  • 33. It may drive you mad
  • 34. Don't give up easily