Documentos de Académico
Documentos de Profesional
Documentos de Cultura
14 Reglas Sitios Web Alto Rendimiento
14 Reglas Sitios Web Alto Rendimiento
1
Rendimiento Excepcional
2
La importancia del rendimiento
Del Front-End
3
Tiempo consumido en el Frontend
Cache Cache
vacío lleno
amazon.com 82% 86%
aol.com 94% 86%
cnn.com 81% 92%
ebay.com 98% 92%
google.com 86% 64%
msn.com 97% 95%
myspace.com 96% 86%
wikipedia.org 80% 88%
yahoo.com 95% 88%
youtube.com 97% 95%
4
La Regla de Oro del Rendimiento
5
14 Reglas
6
14 Reglas
1. Hacer menos peticiones HTTP
2. Usar CDNs (Content Delivery Network)
3. Agregar encabezados de expiración
4. Gzip componentes
5. Colocar hojas de estilo en la parte superior
6. Mover los scripts a la parte inferior
7. Evitar expresiones CSS
8. Hacer JS y CSS externos
9. Reducir búsquedas DNS
10. Minimizar JS
11. Evitar redirecciones
12. Eliminar scripts duplicados
13. Configurar ETags
14. Hacer AJAX cacheable
7
Regla 1: Hacer menos peticiones HTTP
CSS sprites
Scripts combinados , hoja de estilo combinadas
Mapas de Imágenes
8
CSS Sprites
<span style="
background-image: url('sprites.gif');
background-position: -260px -90px;">
</span>
9
Regla 2: Usar una CDN
amazon.com Akamai
aol.com Akamai
cnn.com
ebay.com Akamai, Mirror Image
google.com
msn.com SAVVIS
myspace.com Akamai, Limelight
wikipedia.org
yahoo.com Akamai
youtube.com
12
Gzip: no solo para HTML
HTML Scripts Hojas de estilo
amazon.com x
aol.com x algo algo
cnn.com
ebay.com x
froogle.google.com x x x
msn.com x deflate deflate
myspace.com x x x
wikipedia.org x x x
yahoo.com x x x
youtube.com x algo algo
14
Regla 6: Mover los scripts a la
parte inferior
scripts bloquean descargas paralelas en todos los
hostnames
15
Regla 7: Evitar expresiones CSS
18
Regla 10: Minimizar JS
Minimizar Minimizar
Externo? Inline?
www.amazon.com no no
www.aol.com no no
www.cnn.com no no
www.ebay.com sí no
froogle.google.com sí sí
www.msn.com sí sí
www.myspace.com no no
www.wikipedia.org no no
www.yahoo.com sí sí
www.youtube.com no no
20
Regla 11: Evitar redirecciones
21
Regla 12: Eliminar scripts duplicados
Daña el rendimiento
– peticiones extra HTTP (sólo IE)
– ejecuciones extra
atípico?
– 2 de10 sitios importantes contienen scripts
duplicados
22
Regla 13: Configurar ETags
Único identificador regresado como respuesta
ETag: "c8897e-aee-4165acf0"
Last-Modified: Thu, 07 Oct 2004 20:54:08 GMT
24
YSlow
http://developer.yahoo.com/yslow
Herramienta para evaluar rendimiento
Calificar páginas web para cada regla
Extensión Firefox integrada con Firebug
Y licencia open source
25
26
Ventajas adicionales
Enfocarse al front-end permite los
mejores logros
Controlas los tiempos de respuesta de los
Usuarios
Pequeñas inversiones permite concesiones
LOFNO (Look Out For Number One) -
Sé un defensor de tus usuarios
27
Links
book: http://www.oreilly.com/catalog/9780596514211/
examples: http://stevesouders.com/examples/
image maps: http://www.w3.org/TR/html401/struct/objects.html#h-13.6
CSS sprites: http://alistapart.com/articles/sprites
inline images: http://tools.ietf.org/html/rfc2397
jsmin: http://crockford.com/javascript/jsmin
dojo compressor: http://dojotoolkit.org/docs/shrinksafe
HTTP status codes: http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html
IBM Page Detailer: http://alphaworks.ibm.com/tech/pagedetailer
Fasterfox: http://fasterfox.mozdev.org/
LiveHTTPHeaders: http://livehttpheaders.mozdev.org/
Firebug: http://getfirebug.com/
YUIBlog: http://yuiblog.com/blog/2006/11/28/performance-research-part-1/
http://yuiblog.com/blog/2007/01/04/performance-research-part-2/
http://yuiblog.com/blog/2007/03/01/performance-research-part-3/
http://yuiblog.com/blog/2007/04/11/performance-research-part-4/
YDN: http://developer.yahoo.net/blog/archives/2007/03/high_performanc.html
http://developer.yahoo.net/blog/archives/2007/04/rule_1_make_few.html
28