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 PerformanceEric 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
 
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
 
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
 
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 GirlsWeb 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 AgendaZoe Gammie
 
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
 
Gabor Karcis portfolio
Gabor Karcis portfolioGabor Karcis portfolio
Gabor Karcis portfolioGabor 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 Ed2009rsnarayanan
 
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 testsNick 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
 
SD, a P2P bug tracking system
SD, a P2P bug tracking systemSD, a P2P bug tracking system
SD, a P2P bug tracking systemJesse 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 appsDavid 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

Generating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using SmithyGenerating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using Smithy
g2nightmarescribd
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
Elena Simperl
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
Product School
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Tobias Schneck
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Inflectra
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Product School
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
Cheryl Hung
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
OnBoard
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Thierry Lestable
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
Product School
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
DianaGray10
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
Frank van Harmelen
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
RTTS
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 

Recently uploaded (20)

Generating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using SmithyGenerating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using Smithy
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 

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