SlideShare a Scribd company logo
1 of 64
Download to read offline
testing user happiness
WebPageTest workshop
• User Satisfaction
• What to Measure
• How to Measure
• What to Monitor
What are we going to focus on?
Online free tool for synthetic performance testing
#PerfMatters
Qué no es?
WebPageTest NO es una herramienta de carga
No vamos a comprobar el rendimiento en situaciones de saturación
No es una herramienta que nos permita conocer el estado de nuestro servicio
No es una auditoría de código de front end ni consola de errores de javascript
Qué es?
WebPageTest es una herramienta de rendimiento a nivel browser que nos
permite determinar y automatizar resultados de visualización y renderización.
En definitiva, nos permite comprobar cuál es la experiencia de usuario
www.webpagetest.org
Qué nos permite? Mobile Testing
Mobile emulation Mode y Dispositivos
móviles desde distintas localizaciones
y con distintos User Agents
Fear the Latency
Fear the Latency
Fear is the path to the
dark side. Fear leads to
Inertia. Inertia Leads to
paralysis. Paralysis leads
to going out of Business.
Let’s Aim for Speed
What shall we Measure?
Vista Waterfall
Una vez ejecutado veremos
Sin
Cache de
Browser
Con
Cache de
Browser
Golden
Performance Rules
Time is Relative
Analytical Review Parameters
Localización
Browser
Velocidad de Conexión
Número de test a ejecutar ( coger un número Impar ;) )
First View and Repeat View ( Cache!!! )
Document Complete vs OnLoad
Ignorar Errores SSL
Capturar tcpdump
User Agent ad Hoc
Custom Headers
What shall we Measure?
Size?
What shall we Measure?
Number of Requests?
Number of Domains?
SPOF y Block
La opción de Block nos simula un error tipo 404 mientras que si usamos el SPOF nos simula un timeout.
Por ejemplo podemos comprobar con Block la diferencia entre el tiempo de carga con y sin anuncios ( bloqueando
anuncios o trackers ;) )
En cambio cuando probamos el Single Point of Failure lo que queremos comprobar es que nuestro site es resilient a 3rd
parties como por ejemplo los trackers, cómo se comporta nuestro site si el acceso a google analytics es lento o realmente
no hay servicio.
“My Mean time is fine."
Apdex Index
t = acceptable response time
satisfied = response time < t
tolerating = t < response time > 4t
frustrated = response time > 4t
Apdex [t] = (satisfied + tolerating/2)/total requests
Afterwards … in PROD ...
Time To
FIRST
BYTE
Waterfall Detalles
Cómo analizar el waterfall
Cuántos Kb tiene el html inicial
En qué segundo comienza el evento render
Cuántos socket connections hay hacia un host en concreto
Cuántas redirecciones
En qué momento hay un socket abierto contra un recurso y por qué
Custom Metrics
[iframe-count]
return document.getElementsByTagName("iframe").length;
[script-tag-count]
return document.getElementsByTagName("script").length;
[meta-viewport]
var viewport = undefined;
var metaTags=document.getElementsByTagName("meta");
for (var i = 0; i < metaTags.length; i++) {
if (metaTags[i].getAttribute("name") == "viewport") {
viewport = metaTags[i].getAttribute("content");
break;
}
}
return viewport
NO se pueden añadir operaciones asincronas :( Timers, Ajax requests etc ...
Performance
It's not just about adding more servers
REAL
USER
MONITORIN
G
Bring Up
RUM*
real user monitoring
Real User Monitoring
THINK BIG
HOW TO … Private Instance
Analytical Review Parámetros
Localización
Browser
Velocidad de Conexión
Número de test a ejecutar ( coger un número Impar ;) )
First View and Repeat View ( Cache!!! )
Document Complete vs OnLoad
Ignorar Errores SSL
Capturar tcpdump
User Agent ad Hoc
Custom Headers
Custom Metrics
[iframe-count]
return document.getElementsByTagName("iframe").length;
[script-tag-count]
return document.getElementsByTagName("script").length;
[meta-viewport]
var viewport = undefined;
var metaTags=document.getElementsByTagName("meta");
for (var i = 0; i < metaTags.length; i++) {
if (metaTags[i].getAttribute("name") == "viewport") {
viewport = metaTags[i].getAttribute("content");
break;
}
}
return viewport
NO se pueden añadir operaciones asincronas :( Timers, Ajax requests etc ...
Vista Waterfall
Una vez ejecutado veremos
Sin
Cache de
Browser
Con
Cache de
Browser
Golden
Performance Rules
Waterfall → Har File
Cómo analizar el waterfall
Cuántos Kb tiene el html inicial
En qué segundo comienza el evento render
Cuántos socket connections hay hacia un host en concreto
Cuántas redirecciones
En qué momento hay un socket abierto contra un recurso y por qué
Waterfall Detalles
SPOF y Block
La opción de Block nos simula un error tipo 404 mientras que si usamos el SPOF nos simula un timeout.
Por ejemplo podemos comprobar con Block la diferencia entre el tiempo de carga con y sin anuncios ( bloqueando
anuncios o trackers ;) )
En cambio cuando probamos el Single Point of Failure lo que queremos comprobar es que nuestro site es resilient a 3rd
parties como por ejemplo los trackers, cómo se comporta nuestro site si el acceso a google analytics es lento o realmente
no hay servicio.
Cómo detectar SPOF
con Charles Proxy y WPO
https://www.charlesproxy.com/
http://www.webpagetest.org/
Proxy > Throttiling
Tools > Map Remote
What to test
API server down?
AdBulk down?
Tracker down?
Traceroute
WPT Bulk Tester by Andy Davis
http://calendar.perfplanet.com/2014/driving-webpagetest-from-a-google-docs-spre
adsheet/

More Related Content

Viewers also liked

R118 井上孝代・伊藤武彦 (2009). 高校ステークホルダーのコンフリクトについての個人別態度構造分析:レパートリーグリッド法を用いた対話法による「...
R118 井上孝代・伊藤武彦 (2009). 高校ステークホルダーのコンフリクトについての個人別態度構造分析:レパートリーグリッド法を用いた対話法による「...R118 井上孝代・伊藤武彦 (2009). 高校ステークホルダーのコンフリクトについての個人別態度構造分析:レパートリーグリッド法を用いた対話法による「...
R118 井上孝代・伊藤武彦 (2009). 高校ステークホルダーのコンフリクトについての個人別態度構造分析:レパートリーグリッド法を用いた対話法による「...Takehiko Ito
 
My personal goals
My personal goalsMy personal goals
My personal goalschecymar
 
Cesar vallejo 11111
Cesar vallejo 11111Cesar vallejo 11111
Cesar vallejo 11111yarensalhua
 
The performance paradox
The performance paradoxThe performance paradox
The performance paradoxEricsson
 
High Performance Web Components
High Performance Web ComponentsHigh Performance Web Components
High Performance Web ComponentsSteve Souders
 
G250 Ito, T. (2016, July) The results and evaluation of the interview and doc...
G250 Ito, T. (2016, July) The results and evaluation of the interview and doc...G250 Ito, T. (2016, July) The results and evaluation of the interview and doc...
G250 Ito, T. (2016, July) The results and evaluation of the interview and doc...Takehiko Ito
 
Cadernos Didáticos Jul/Dez. 2016
Cadernos Didáticos Jul/Dez. 2016Cadernos Didáticos Jul/Dez. 2016
Cadernos Didáticos Jul/Dez. 2016Lucas Tadeu
 
Rule-Driven, Fully-Configurable Asset Tracking with GIS
Rule-Driven, Fully-Configurable Asset Tracking with GISRule-Driven, Fully-Configurable Asset Tracking with GIS
Rule-Driven, Fully-Configurable Asset Tracking with GISSSP Innovations
 
Oslo Schibsted Performance Gathering
Oslo Schibsted Performance GatheringOslo Schibsted Performance Gathering
Oslo Schibsted Performance GatheringAlmudena Vivanco
 
Système alimentaire 3.0 : les voies de la disruption
Système alimentaire 3.0 : les voies de la disruptionSystème alimentaire 3.0 : les voies de la disruption
Système alimentaire 3.0 : les voies de la disruptionOuiShare
 
Unicorns, Krakens, Self-Organizing Teams and other mythological beasts - #APIL15
Unicorns, Krakens, Self-Organizing Teams and other mythological beasts - #APIL15Unicorns, Krakens, Self-Organizing Teams and other mythological beasts - #APIL15
Unicorns, Krakens, Self-Organizing Teams and other mythological beasts - #APIL15Proyectalis / Improvement21
 
SREcon 2016 Performance Checklists for SREs
SREcon 2016 Performance Checklists for SREsSREcon 2016 Performance Checklists for SREs
SREcon 2016 Performance Checklists for SREsBrendan Gregg
 

Viewers also liked (18)

Us20090327072
Us20090327072Us20090327072
Us20090327072
 
R118 井上孝代・伊藤武彦 (2009). 高校ステークホルダーのコンフリクトについての個人別態度構造分析:レパートリーグリッド法を用いた対話法による「...
R118 井上孝代・伊藤武彦 (2009). 高校ステークホルダーのコンフリクトについての個人別態度構造分析:レパートリーグリッド法を用いた対話法による「...R118 井上孝代・伊藤武彦 (2009). 高校ステークホルダーのコンフリクトについての個人別態度構造分析:レパートリーグリッド法を用いた対話法による「...
R118 井上孝代・伊藤武彦 (2009). 高校ステークホルダーのコンフリクトについての個人別態度構造分析:レパートリーグリッド法を用いた対話法による「...
 
My personal goals
My personal goalsMy personal goals
My personal goals
 
Cesar vallejo 11111
Cesar vallejo 11111Cesar vallejo 11111
Cesar vallejo 11111
 
Tu70
Tu70 Tu70
Tu70
 
Srinivas-Vemulapati-CV
Srinivas-Vemulapati-CVSrinivas-Vemulapati-CV
Srinivas-Vemulapati-CV
 
The performance paradox
The performance paradoxThe performance paradox
The performance paradox
 
High Performance Web Components
High Performance Web ComponentsHigh Performance Web Components
High Performance Web Components
 
G250 Ito, T. (2016, July) The results and evaluation of the interview and doc...
G250 Ito, T. (2016, July) The results and evaluation of the interview and doc...G250 Ito, T. (2016, July) The results and evaluation of the interview and doc...
G250 Ito, T. (2016, July) The results and evaluation of the interview and doc...
 
Ead x eol
Ead x eolEad x eol
Ead x eol
 
Cadernos Didáticos Jul/Dez. 2016
Cadernos Didáticos Jul/Dez. 2016Cadernos Didáticos Jul/Dez. 2016
Cadernos Didáticos Jul/Dez. 2016
 
Niji power to the user
Niji power to the userNiji power to the user
Niji power to the user
 
Rule-Driven, Fully-Configurable Asset Tracking with GIS
Rule-Driven, Fully-Configurable Asset Tracking with GISRule-Driven, Fully-Configurable Asset Tracking with GIS
Rule-Driven, Fully-Configurable Asset Tracking with GIS
 
Oslo Schibsted Performance Gathering
Oslo Schibsted Performance GatheringOslo Schibsted Performance Gathering
Oslo Schibsted Performance Gathering
 
Système alimentaire 3.0 : les voies de la disruption
Système alimentaire 3.0 : les voies de la disruptionSystème alimentaire 3.0 : les voies de la disruption
Système alimentaire 3.0 : les voies de la disruption
 
Roker Labs Food Report - Sept 2015
Roker Labs Food Report - Sept 2015Roker Labs Food Report - Sept 2015
Roker Labs Food Report - Sept 2015
 
Unicorns, Krakens, Self-Organizing Teams and other mythological beasts - #APIL15
Unicorns, Krakens, Self-Organizing Teams and other mythological beasts - #APIL15Unicorns, Krakens, Self-Organizing Teams and other mythological beasts - #APIL15
Unicorns, Krakens, Self-Organizing Teams and other mythological beasts - #APIL15
 
SREcon 2016 Performance Checklists for SREs
SREcon 2016 Performance Checklists for SREsSREcon 2016 Performance Checklists for SREs
SREcon 2016 Performance Checklists for SREs
 

Similar to WPT Midiendo la Felicidad

Web pagetest Meetup At Trovit
Web pagetest Meetup At TrovitWeb pagetest Meetup At Trovit
Web pagetest Meetup At TrovitAlmudena Vivanco
 
The wpo academy_clinic_seo
The wpo academy_clinic_seoThe wpo academy_clinic_seo
The wpo academy_clinic_seoDigital Growth
 
"Los Imprescindibles de .NetCore"
"Los Imprescindibles de .NetCore""Los Imprescindibles de .NetCore"
"Los Imprescindibles de .NetCore"www.encamina.com
 
Pylot : Herramienta para pruebas de rendimiento de Aplicaciones Web
Pylot : Herramienta para pruebas  de rendimiento de Aplicaciones WebPylot : Herramienta para pruebas  de rendimiento de Aplicaciones Web
Pylot : Herramienta para pruebas de rendimiento de Aplicaciones WebDeisy Sapaico
 
Servlets y jsp
Servlets y jspServlets y jsp
Servlets y jspdtbadboy0
 
Curso basicoseguridadweb slideshare4
Curso basicoseguridadweb slideshare4Curso basicoseguridadweb slideshare4
Curso basicoseguridadweb slideshare4tantascosasquenose
 
The wpo academy: Qué es y que mide la velocidad de carga de una web?
The wpo academy: Qué es y que mide la velocidad de carga de una web?The wpo academy: Qué es y que mide la velocidad de carga de una web?
The wpo academy: Qué es y que mide la velocidad de carga de una web?Digital Growth
 
Intro a ASP.NET
Intro a ASP.NETIntro a ASP.NET
Intro a ASP.NETwilliamsm
 
Descubriendo Ruby on Rails (Desarrollo Agil de Aplicaciones Web)
Descubriendo Ruby on Rails (Desarrollo Agil de Aplicaciones Web)Descubriendo Ruby on Rails (Desarrollo Agil de Aplicaciones Web)
Descubriendo Ruby on Rails (Desarrollo Agil de Aplicaciones Web)lenny
 
Descubriendo Ruby On Rails (Desarrollo Agil De Aplicaciones Web)
Descubriendo Ruby On Rails (Desarrollo Agil De Aplicaciones Web)Descubriendo Ruby On Rails (Desarrollo Agil De Aplicaciones Web)
Descubriendo Ruby On Rails (Desarrollo Agil De Aplicaciones Web)INSIGNIA4U
 
04 17-2021 - procesando modelos tabulares global azure latam
04 17-2021 - procesando modelos tabulares global azure latam04 17-2021 - procesando modelos tabulares global azure latam
04 17-2021 - procesando modelos tabulares global azure latamGaston Cruz
 
Creando Aplicaciones Web en el 2015
 Creando Aplicaciones Web en el 2015 Creando Aplicaciones Web en el 2015
Creando Aplicaciones Web en el 2015Globant
 
Taller Testing en Grails con Grails y Geb (WebDriver) - Springio I/O 2011
Taller Testing en Grails con Grails y Geb (WebDriver) - Springio I/O 2011Taller Testing en Grails con Grails y Geb (WebDriver) - Springio I/O 2011
Taller Testing en Grails con Grails y Geb (WebDriver) - Springio I/O 2011Fátima Casaú Pérez
 
¿Grails + DDD + Eventsourcing + CQRS?
¿Grails + DDD + Eventsourcing + CQRS?¿Grails + DDD + Eventsourcing + CQRS?
¿Grails + DDD + Eventsourcing + CQRS?Jorge Franco Leza
 
Patrones Arquitecturales Para Aplicaciones Web
Patrones Arquitecturales Para Aplicaciones WebPatrones Arquitecturales Para Aplicaciones Web
Patrones Arquitecturales Para Aplicaciones Webguesta7f40
 

Similar to WPT Midiendo la Felicidad (20)

AJAX EN CURSO PHP
AJAX EN CURSO PHPAJAX EN CURSO PHP
AJAX EN CURSO PHP
 
Web pagetest Meetup At Trovit
Web pagetest Meetup At TrovitWeb pagetest Meetup At Trovit
Web pagetest Meetup At Trovit
 
The wpo academy_clinic_seo
The wpo academy_clinic_seoThe wpo academy_clinic_seo
The wpo academy_clinic_seo
 
[Code Camp 2009] ASP.NET MVC a full (Matías Juan Rubí + Jonathan Solarz)
[Code Camp 2009] ASP.NET MVC a full (Matías Juan Rubí + Jonathan Solarz)[Code Camp 2009] ASP.NET MVC a full (Matías Juan Rubí + Jonathan Solarz)
[Code Camp 2009] ASP.NET MVC a full (Matías Juan Rubí + Jonathan Solarz)
 
"Los Imprescindibles de .NetCore"
"Los Imprescindibles de .NetCore""Los Imprescindibles de .NetCore"
"Los Imprescindibles de .NetCore"
 
Pylot : Herramienta para pruebas de rendimiento de Aplicaciones Web
Pylot : Herramienta para pruebas  de rendimiento de Aplicaciones WebPylot : Herramienta para pruebas  de rendimiento de Aplicaciones Web
Pylot : Herramienta para pruebas de rendimiento de Aplicaciones Web
 
Servlets y jsp
Servlets y jspServlets y jsp
Servlets y jsp
 
Curso basicoseguridadweb slideshare4
Curso basicoseguridadweb slideshare4Curso basicoseguridadweb slideshare4
Curso basicoseguridadweb slideshare4
 
ASP.NET MVC Workshop Día 3
ASP.NET MVC Workshop Día 3ASP.NET MVC Workshop Día 3
ASP.NET MVC Workshop Día 3
 
Ajax
AjaxAjax
Ajax
 
The wpo academy: Qué es y que mide la velocidad de carga de una web?
The wpo academy: Qué es y que mide la velocidad de carga de una web?The wpo academy: Qué es y que mide la velocidad de carga de una web?
The wpo academy: Qué es y que mide la velocidad de carga de una web?
 
Intro a ASP.NET
Intro a ASP.NETIntro a ASP.NET
Intro a ASP.NET
 
Descubriendo Ruby on Rails (Desarrollo Agil de Aplicaciones Web)
Descubriendo Ruby on Rails (Desarrollo Agil de Aplicaciones Web)Descubriendo Ruby on Rails (Desarrollo Agil de Aplicaciones Web)
Descubriendo Ruby on Rails (Desarrollo Agil de Aplicaciones Web)
 
Descubriendo Ruby On Rails (Desarrollo Agil De Aplicaciones Web)
Descubriendo Ruby On Rails (Desarrollo Agil De Aplicaciones Web)Descubriendo Ruby On Rails (Desarrollo Agil De Aplicaciones Web)
Descubriendo Ruby On Rails (Desarrollo Agil De Aplicaciones Web)
 
04 17-2021 - procesando modelos tabulares global azure latam
04 17-2021 - procesando modelos tabulares global azure latam04 17-2021 - procesando modelos tabulares global azure latam
04 17-2021 - procesando modelos tabulares global azure latam
 
Creando Aplicaciones Web en el 2015
 Creando Aplicaciones Web en el 2015 Creando Aplicaciones Web en el 2015
Creando Aplicaciones Web en el 2015
 
Taller Testing en Grails con Grails y Geb (WebDriver) - Springio I/O 2011
Taller Testing en Grails con Grails y Geb (WebDriver) - Springio I/O 2011Taller Testing en Grails con Grails y Geb (WebDriver) - Springio I/O 2011
Taller Testing en Grails con Grails y Geb (WebDriver) - Springio I/O 2011
 
¿Grails + DDD + Eventsourcing + CQRS?
¿Grails + DDD + Eventsourcing + CQRS?¿Grails + DDD + Eventsourcing + CQRS?
¿Grails + DDD + Eventsourcing + CQRS?
 
Javascript
JavascriptJavascript
Javascript
 
Patrones Arquitecturales Para Aplicaciones Web
Patrones Arquitecturales Para Aplicaciones WebPatrones Arquitecturales Para Aplicaciones Web
Patrones Arquitecturales Para Aplicaciones Web
 

More from Almudena Vivanco

Performance Microservices in the Cloud
Performance Microservices in the CloudPerformance Microservices in the Cloud
Performance Microservices in the CloudAlmudena Vivanco
 
The sWag of performance Testing
The sWag of performance TestingThe sWag of performance Testing
The sWag of performance TestingAlmudena Vivanco
 
Continuous Performance Testing
Continuous Performance TestingContinuous Performance Testing
Continuous Performance TestingAlmudena Vivanco
 
Integrating taurus and jmeter
Integrating taurus and jmeterIntegrating taurus and jmeter
Integrating taurus and jmeterAlmudena Vivanco
 
Fine line between performance and security
Fine line between performance and securityFine line between performance and security
Fine line between performance and securityAlmudena Vivanco
 
Dia02 t03-s04-vlctesting2017-seminario-almudena-vivanco
Dia02 t03-s04-vlctesting2017-seminario-almudena-vivancoDia02 t03-s04-vlctesting2017-seminario-almudena-vivanco
Dia02 t03-s04-vlctesting2017-seminario-almudena-vivancoAlmudena Vivanco
 
Modelling performance tests
Modelling performance testsModelling performance tests
Modelling performance testsAlmudena Vivanco
 
After test Barcelona 20160303
After test Barcelona 20160303After test Barcelona 20160303
After test Barcelona 20160303Almudena Vivanco
 
Workshop performance vl ctesting
Workshop performance vl ctestingWorkshop performance vl ctesting
Workshop performance vl ctestingAlmudena Vivanco
 
Deployment Driven Development and Performance Testing TEFCON2015
Deployment Driven Development and Performance Testing TEFCON2015Deployment Driven Development and Performance Testing TEFCON2015
Deployment Driven Development and Performance Testing TEFCON2015Almudena Vivanco
 
Webperfdays2014 movistar tv
Webperfdays2014 movistar tvWebperfdays2014 movistar tv
Webperfdays2014 movistar tvAlmudena Vivanco
 
cómo medir lo inmensurable: real user experience
cómo medir lo inmensurable: real user experiencecómo medir lo inmensurable: real user experience
cómo medir lo inmensurable: real user experienceAlmudena Vivanco
 

More from Almudena Vivanco (17)

Performance Microservices in the Cloud
Performance Microservices in the CloudPerformance Microservices in the Cloud
Performance Microservices in the Cloud
 
Dotnet conf2019 barcelona
Dotnet conf2019 barcelonaDotnet conf2019 barcelona
Dotnet conf2019 barcelona
 
The sWag of performance Testing
The sWag of performance TestingThe sWag of performance Testing
The sWag of performance Testing
 
Continuous Performance Testing
Continuous Performance TestingContinuous Performance Testing
Continuous Performance Testing
 
Integrating taurus and jmeter
Integrating taurus and jmeterIntegrating taurus and jmeter
Integrating taurus and jmeter
 
Fine line between performance and security
Fine line between performance and securityFine line between performance and security
Fine line between performance and security
 
Dia02 t03-s04-vlctesting2017-seminario-almudena-vivanco
Dia02 t03-s04-vlctesting2017-seminario-almudena-vivancoDia02 t03-s04-vlctesting2017-seminario-almudena-vivanco
Dia02 t03-s04-vlctesting2017-seminario-almudena-vivanco
 
Modelling performance tests
Modelling performance testsModelling performance tests
Modelling performance tests
 
Expo qa 2016
Expo qa 2016Expo qa 2016
Expo qa 2016
 
After test Barcelona 20160303
After test Barcelona 20160303After test Barcelona 20160303
After test Barcelona 20160303
 
Workshop performance vl ctesting
Workshop performance vl ctestingWorkshop performance vl ctesting
Workshop performance vl ctesting
 
Deployment Driven Development and Performance Testing TEFCON2015
Deployment Driven Development and Performance Testing TEFCON2015Deployment Driven Development and Performance Testing TEFCON2015
Deployment Driven Development and Performance Testing TEFCON2015
 
Webperfdays2014 movistar tv
Webperfdays2014 movistar tvWebperfdays2014 movistar tv
Webperfdays2014 movistar tv
 
Velocity2014 gvp
Velocity2014 gvpVelocity2014 gvp
Velocity2014 gvp
 
Speed me up!
Speed me up!Speed me up!
Speed me up!
 
cómo medir lo inmensurable: real user experience
cómo medir lo inmensurable: real user experiencecómo medir lo inmensurable: real user experience
cómo medir lo inmensurable: real user experience
 
Performance
Performance Performance
Performance
 

WPT Midiendo la Felicidad