SlideShare une entreprise Scribd logo
1  sur  35
Web Performance Optimization Retreat 2011 [email_address] [email_address]
Agenda ,[object Object],[object Object],[object Object]
Motivación
The Google Analytics exit rate for different page load times   collected from Wikia data. Measured over 29 million  pageviews ( 2009 )
+500 ms -> -20% traffic (Google -2008) +400 ms -> -5 a 9% Full page traffic (Yahoo-2008) +100 ms -> -1% sales (Amazon-2008) +400 ms -> -0.59% searches/users (Google -2009) +2000 ms -> -4.3% revenues/users (Bing -2009)
#1 Anatomía de una web sana
 
Buenas Practicas
[object Object],[object Object],[object Object],[object Object],Lo básico
Gzip ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
 
Cache ,[object Object],[object Object],[object Object],[object Object],[object Object]
Second View
Externalizar CSS y JS ,[object Object],[object Object],[object Object]
Reducir la cantidad de requests ,[object Object],[object Object],[object Object]
Stylesheet en el head ,[object Object],[object Object],Javascript después de OnLoad ,[object Object]
 
Postcarga – Hay vida después del onload? ,[object Object],[object Object],[object Object],[object Object],[object Object]
 
Hasta acá está todo muy al alcance de nuestras manos..ahora hilemos un poco más fino
Uso de CDN ,[object Object],[object Object],<- sin CDN <- con CDN
DNS Lookups ,[object Object],[object Object],[object Object],[object Object],Request por dominio
Dominios cookieless ,[object Object],[object Object],CSS HTML
 
Imágenes ,[object Object],[object Object],[object Object],[object Object],[object Object]
Reducir el número de elementos del DOM ,[object Object],[object Object],[object Object]
Buffer flushing ,[object Object],[object Object],[object Object]
Herramientas
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
 
 
 
Speed tracer ,[object Object],[object Object]
Preguntas
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]

Contenu connexe

Similaire à Web Performance Optimization (WPO) retreat meli 2011

Optimizando Sitios Web
Optimizando Sitios WebOptimizando Sitios Web
Optimizando Sitios WebGrupo Mediabox
 
Curso WPO - Web Performance Optimization 2013
Curso WPO - Web Performance Optimization 2013Curso WPO - Web Performance Optimization 2013
Curso WPO - Web Performance Optimization 2013Pablo Martinez Fernandez
 
0094 rodrigo zubeldía alphasoluciones
0094 rodrigo zubeldía alphasoluciones0094 rodrigo zubeldía alphasoluciones
0094 rodrigo zubeldía alphasolucionesGeneXus
 
Adrián Garrido - WPO para WordPress.pptx
Adrián Garrido - WPO para WordPress.pptxAdrián Garrido - WPO para WordPress.pptx
Adrián Garrido - WPO para WordPress.pptxAdrián Garrido
 
10 reglas de oro para mejorar tu página web
10 reglas de oro para mejorar tu página web10 reglas de oro para mejorar tu página web
10 reglas de oro para mejorar tu página webExtra Software
 
WPO - Murcia Meetup Day #MMD17
WPO - Murcia Meetup Day #MMD17WPO - Murcia Meetup Day #MMD17
WPO - Murcia Meetup Day #MMD17Javier Agudo
 
Optimiza tus webs Grails. Greach 2011
Optimiza tus webs Grails. Greach 2011Optimiza tus webs Grails. Greach 2011
Optimiza tus webs Grails. Greach 2011Dani Latorre
 
Martesclass GTmetrix
Martesclass GTmetrixMartesclass GTmetrix
Martesclass GTmetrixAukera
 
Buenas prácticas para la optimización de sitios web
Buenas prácticas para la optimización de sitios webBuenas prácticas para la optimización de sitios web
Buenas prácticas para la optimización de sitios webLuis Miguel Martín
 
WPO para bloggers de viaje: mejora el tiempo de carga de tu blog
WPO para bloggers de viaje: mejora el tiempo de carga de tu blogWPO para bloggers de viaje: mejora el tiempo de carga de tu blog
WPO para bloggers de viaje: mejora el tiempo de carga de tu blogAlfonso Moure Ortega
 
Analisis Del Dominio Nestle
Analisis Del Dominio NestleAnalisis Del Dominio Nestle
Analisis Del Dominio Nestlebluekiu
 
Presentación Marcelo Garcia Barrese | Exceda - eCommerce IT Camp 2017
Presentación Marcelo Garcia Barrese | Exceda - eCommerce IT Camp 2017Presentación Marcelo Garcia Barrese | Exceda - eCommerce IT Camp 2017
Presentación Marcelo Garcia Barrese | Exceda - eCommerce IT Camp 2017eCommerce Institute
 
Optimiza WordPress y a correr - WordCamp Cantabria 2015 - @DarioBF
Optimiza WordPress y a correr - WordCamp Cantabria 2015 - @DarioBFOptimiza WordPress y a correr - WordCamp Cantabria 2015 - @DarioBF
Optimiza WordPress y a correr - WordCamp Cantabria 2015 - @DarioBFDarío BF
 
Rendimiento y velocidad, acelera tu sitio WordPress
Rendimiento y velocidad, acelera tu sitio WordPressRendimiento y velocidad, acelera tu sitio WordPress
Rendimiento y velocidad, acelera tu sitio WordPressLibreCon
 
WPO para que tu web en WordPress vuele! - FlashTalk - TECHNE 2018
WPO para que tu web en WordPress vuele! - FlashTalk - TECHNE 2018WPO para que tu web en WordPress vuele! - FlashTalk - TECHNE 2018
WPO para que tu web en WordPress vuele! - FlashTalk - TECHNE 2018JuanKa Díaz - jdevelopia
 
Un proyecto web de 0 a 100
Un proyecto web de 0 a 100Un proyecto web de 0 a 100
Un proyecto web de 0 a 100Antonio Gonzalez
 

Similaire à Web Performance Optimization (WPO) retreat meli 2011 (20)

Optimizando Sitios Web
Optimizando Sitios WebOptimizando Sitios Web
Optimizando Sitios Web
 
Mejores practicas para acelerar sitios web
Mejores practicas para acelerar sitios webMejores practicas para acelerar sitios web
Mejores practicas para acelerar sitios web
 
Curso WPO - Web Performance Optimization 2013
Curso WPO - Web Performance Optimization 2013Curso WPO - Web Performance Optimization 2013
Curso WPO - Web Performance Optimization 2013
 
0094 rodrigo zubeldía alphasoluciones
0094 rodrigo zubeldía alphasoluciones0094 rodrigo zubeldía alphasoluciones
0094 rodrigo zubeldía alphasoluciones
 
Adrián Garrido - WPO para WordPress.pptx
Adrián Garrido - WPO para WordPress.pptxAdrián Garrido - WPO para WordPress.pptx
Adrián Garrido - WPO para WordPress.pptx
 
10 reglas de oro para mejorar tu página web
10 reglas de oro para mejorar tu página web10 reglas de oro para mejorar tu página web
10 reglas de oro para mejorar tu página web
 
WPO - Murcia Meetup Day #MMD17
WPO - Murcia Meetup Day #MMD17WPO - Murcia Meetup Day #MMD17
WPO - Murcia Meetup Day #MMD17
 
Optimiza tus webs Grails. Greach 2011
Optimiza tus webs Grails. Greach 2011Optimiza tus webs Grails. Greach 2011
Optimiza tus webs Grails. Greach 2011
 
Martesclass GTmetrix
Martesclass GTmetrixMartesclass GTmetrix
Martesclass GTmetrix
 
Buenas prácticas para la optimización de sitios web
Buenas prácticas para la optimización de sitios webBuenas prácticas para la optimización de sitios web
Buenas prácticas para la optimización de sitios web
 
WPO para bloggers de viaje: mejora el tiempo de carga de tu blog
WPO para bloggers de viaje: mejora el tiempo de carga de tu blogWPO para bloggers de viaje: mejora el tiempo de carga de tu blog
WPO para bloggers de viaje: mejora el tiempo de carga de tu blog
 
Acelera tu sitio WordPress WPO
Acelera tu sitio WordPress WPOAcelera tu sitio WordPress WPO
Acelera tu sitio WordPress WPO
 
Analisis Del Dominio Nestle
Analisis Del Dominio NestleAnalisis Del Dominio Nestle
Analisis Del Dominio Nestle
 
Presentación Marcelo Garcia Barrese | Exceda - eCommerce IT Camp 2017
Presentación Marcelo Garcia Barrese | Exceda - eCommerce IT Camp 2017Presentación Marcelo Garcia Barrese | Exceda - eCommerce IT Camp 2017
Presentación Marcelo Garcia Barrese | Exceda - eCommerce IT Camp 2017
 
Optimiza WordPress y a correr - WordCamp Cantabria 2015 - @DarioBF
Optimiza WordPress y a correr - WordCamp Cantabria 2015 - @DarioBFOptimiza WordPress y a correr - WordCamp Cantabria 2015 - @DarioBF
Optimiza WordPress y a correr - WordCamp Cantabria 2015 - @DarioBF
 
Rendimiento y velocidad, acelera tu sitio WordPress
Rendimiento y velocidad, acelera tu sitio WordPressRendimiento y velocidad, acelera tu sitio WordPress
Rendimiento y velocidad, acelera tu sitio WordPress
 
Mejorar WPO Joomla
Mejorar WPO JoomlaMejorar WPO Joomla
Mejorar WPO Joomla
 
Full-stack JavaScript: Desarrollo integral de aplicaciones Web con JavaScript
Full-stack JavaScript: Desarrollo integral de aplicaciones Web con JavaScriptFull-stack JavaScript: Desarrollo integral de aplicaciones Web con JavaScript
Full-stack JavaScript: Desarrollo integral de aplicaciones Web con JavaScript
 
WPO para que tu web en WordPress vuele! - FlashTalk - TECHNE 2018
WPO para que tu web en WordPress vuele! - FlashTalk - TECHNE 2018WPO para que tu web en WordPress vuele! - FlashTalk - TECHNE 2018
WPO para que tu web en WordPress vuele! - FlashTalk - TECHNE 2018
 
Un proyecto web de 0 a 100
Un proyecto web de 0 a 100Un proyecto web de 0 a 100
Un proyecto web de 0 a 100
 

Dernier

EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxMiguelAtencio10
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...JohnRamos830530
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estossgonzalezp1
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.FlorenciaCattelani
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxAlan779941
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanamcerpam
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21mariacbr99
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxJorgeParada26
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfvladimiroflores1
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfAnnimoUno1
 

Dernier (11)

EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
 

Web Performance Optimization (WPO) retreat meli 2011

Notes de l'éditeur

  1. The Google Analytics exit rate  for different page load times   collected from Wikia data. Measured over 29 million   pageviews ( 2009 )
  2. Cargar el Css y el Js desde archivos, en vez de consumirlo &amp;quot;inline&amp;quot; ayuda a que los recursos sean cacheados por el borwser. Si se encuentran inline, el css o el js se bajan cada vez que descargamos el html. Con los recursos inline evitamos  requests, pero tenemos un html más pesado y perdemos la posibilidad de compartir los recursos ,además de cachearlos de forma independiente. Si los recursos son bien cacheados, se reduce la cantidad de request también sin tener un html más pesado. La decision de externalizar o no se basa en la posibilidad de cachear el recurso.
  3. La mayoría del tiempo q el usuario pasa en el front end , es descargando componentes (img,css,js,etc). Reducir la cantidad de componentes , reduce la cantidad de request.  Combinar archivos:  combinar scripts css, js en un solo archivo. Sprites  es una de las formas más sencillas y que mejor rinden para reducir la cantidad de request a imágenes. El sprite consiste en juntar todas las imagenes en una, mostrarlas como un background de css, pero solo dejar visible un área de pixeles, que correspondan a la imágene a mostrar. 
  4. Poner los styles en el head, permite un render progresivo, muchos render engines, evitan renderear hasta no cargar todos los estilos para evitar el re paint de los componentes, si es que los estilos cambian. Para evitar que la página permanezca en blanco y aparezca de golpe, y permitir un rendereo progresivo..styles en el head. El problema con el javascript es que bloquea las descargas en paralelo. Cuando el browser está bajando scripts bloquea cualquier tipo de descarga, por más de que sea a otro hostname. DEFER indica q no va haber un document.write...cosa de q el browser siga con el render. pero ff no lo soporta
  5. El front end tiene que ser lo más simple posible, antes del onload en lo posible , solo tendríamos que cargar html y css..lo indispensable, las imágenes que no se pueden obviar..y luego una vez que cargo la pagina, los scripts, trackeos, imágenes restantes, estilos extra etc. Pensar en lo básico puede ser cubrir solo el area visiblie del usuario con la resoluciión más grande, dar funcionalidad minima indispensable hasta que se muestra la pagina y luego proveer funcionilidad full.
  6. Que tan próximo está el end user al web server tiene impacto en el tiempo de respuesta. Usar una cdn , es decir tener una colleccion de webservers distribuidos en diferentes puntos geográficos, permite un mejor delivery de contenidos..no hay que olvidarse q el usario pasa la mayor parte del tiempo descargando componentes.
  7. Resolver un mapeo DNS (Que consiste en mapear un nombre de domino con una dirección IP ) toma entre 20 y 120 ms. La resolución de los dns es cacheada en el ISP pero también en el browser. Reducir el número de dominios que manejamos implica menos lookups, pero también perdemos dominios para realizar descargas en paralelo. Los dominios a eliminar son aquellos que se usan para unas pocas descargas.
  8. genera tráfico de red que implica enviar cookies a servers que no las usan Algunos proxies no cachean componentes que viene con cookies
  9. usar png en vez de gif  salva algo de peso
  10. Tener un número excesivo de elementos en el dom es un sintoma de que tenemos contenido de más. Reducir la cantidad de elementos del dom implica menos peso, armado del arbol más rápido y  búsquedas más rápidas Más allá de esto, hay que minimizar lo más posible el accero al dom, si queremos velocidad tenemos que en lo posible cachear accesos al dom,  no hacer ajustes de layout con javascript, actualizar los nodos offline y luego agregarlos al arbol.
  11. ayuda a reducir el time to first byte Un buen lugar para hacer flush es el header de la pagina, xq tenes el html ,csss y javascript  básicos