SlideShare une entreprise Scribd logo
1  sur  43
Performance des sites web
parlons un peu de latence
http://www.slideshare.net/edaspet/performance-des-sites-web-latence-afup-2010
Consultant Web
http://www.sqli.com/ – edaspet@sqli.com
Société de service en ingénierie informatique
Recrute ! experts, architectes, chefs de projet, …
PHP, Magento, Symfony, Zend Framework
Auteur « PHP 5 avancé », éditions Eyrolles
Fondateur des conférences « Paris Web »
Groupe utilisateur webperf français
Livre webperf en cours de rédaction
http://http://eric.daspet.name/
PHP, Web, Performance, Innovation
Qualité, Excellence technique
Éric Daspet
Performance
« Puzzle 1: How Many Palindromes? », par Chuck Coker, sous licence Creative Commons by-nd 2.0
http://www.flickr.com/photos/caveman_92223/2879809588 - http://creativecommons.org/licenses/by-nd/2.0/deed.fr
Money
« Money », par Dave Barger, sous licence Creative Commons by-nc-sa 2.0
http://www.flickr.com/photos/lalunablanca/1058204843/ - http://creativecommons.org/licenses/by-nc-sa/2.0/deed.fr
Clin d’oeil
« eye-open », par Lee Ann Barker, sous licence Creative Commons by-nc-nd 2.0
http://www.flickr.com/photos/calico_13/419846038/ - http://creativecommons.org/licenses/by-nc-nd/2.0/deed.fr
« eye-closed 2 », par Lee Ann Barker, sous licence Creative Commons by-nc-nd 2.0
http://www.flickr.com/photos/calico_13/419383830/ - http://creativecommons.org/licenses/by-nc-nd/2.0/deed.fr
« eye-open », par Lee Ann Barker, sous licence Creative Commons by-nc-nd 2.0
http://www.flickr.com/photos/calico_13/419846038/ - http://creativecommons.org/licenses/by-nc-nd/2.0/deed.fr
Money
« Money », par Dave Barger, sous licence Creative Commons by-nc-sa 2.0
http://www.flickr.com/photos/lalunablanca/1058204843/ - http://creativecommons.org/licenses/by-nc-sa/2.0/deed.fr
Latence +100ms => ventes -1%
Chargement +500ms => trafic -20%
Chargement +400ms => abandon +5-9%
Chargement +1s => revenu pub -2,8%
Chargement -2,2s => transformation +15%
Université du Système
d'information 2010 –
Performance des sites web –
Front-end
Front-end Back-end
Université du Système
d'information 2010 –
Performance des sites web –
95 %
front-end
5 %
back-end
Pigeons
« Racing Pigeons », par Michael Porter, sous licence Creative Commons by-nc-nd 2.0
http://www.flickr.com/photos/libraryman/63499041/ - http://creativecommons.org/licenses/by-nc-nd/2.0/deed.fr
Pertes de paquets
« Springbreak '06 - Shooting Clay Pigeons », par James McCauley, sous licence Creative Commons by 2.0
http://www.flickr.com/photos/nukeit1/116466154/ - http://creativecommons.org/licenses/by/2.0/deed.fr
Congestion
« St Marks Pigeons », par Jon Lucas, sous licence Creative Commons by-nc 2.0
http://www.flickr.com/photos/jonlucas/8710833/ - http://creativecommons.org/licenses/by-nc/2.0/deed.fr
Latence et ordonnancement
Navigateur web
Serveur web
Navigateur web
Serveur web
Navigateur web
Serveur web
Requête DNS
www.sqli.com
Navigateur web
Serveur web
Réponse DNS
www.sqli.com = 1.2.3.4
Navigateur web
Serveur web
Latence (ping)
Moyenne ADSL France : 50ms
Peut dépasser les 100ms avec l’international
Voire les 300ms sur réseau mobile
Navigateur web
Serveur web
SYN TCP
La connexion est initiée
On peut communiquer
Navigateur web
Serveur web
ACK TCP
La connexion est initiée
On peut communiquer
Navigateur web
Serveur web
Requête HTTP
(GET, POST)
avec :
- cookies
- données de formulaires
- entêtes HTTP diverses
< 1ko idéalement
Navigateur web
Serveur web
Réponse
(longue à télécharger)
Navigateur web
Serveur web
Navigateur web
Serveur web
Latence et ordonnancement
« Solving the Rubik's Cube », par Steve Rhodes, sous licence Creative Commons by-nd 2.0
http://www.flickr.com/photos/ari/2217206582/- http://creativecommons.org/licenses/by-nd/2.0/deed.fr
« Solving the Rubik's Cube », par Steve Rhodes, sous licence Creative Commons by-nd 2.0
http://www.flickr.com/photos/ari/2217206582/- http://creativecommons.org/licenses/by-nd/2.0/deed.fr
Fusion JS
Fusion CSS
« Solving the Rubik's Cube », par Steve Rhodes, sous licence Creative Commons by-nd 2.0
http://www.flickr.com/photos/ari/2217206582/- http://creativecommons.org/licenses/by-nd/2.0/deed.fr
Fusion Images
« sprites CSS »
« Solving the Rubik's Cube », par Steve Rhodes, sous licence Creative Commons by-nd 2.0
http://www.flickr.com/photos/ari/2217206582/- http://creativecommons.org/licenses/by-nd/2.0/deed.fr
Fusion Images
« sprites CSS »
« Solving the Rubik's Cube », par Steve Rhodes, sous licence Creative Commons by-nd 2.0
http://www.flickr.com/photos/ari/2217206582/- http://creativecommons.org/licenses/by-nd/2.0/deed.fr
Fusion Images
« sprites CSS »
« Solving the Rubik's Cube », par Steve Rhodes, sous licence Creative Commons by-nd 2.0
http://www.flickr.com/photos/ari/2217206582/- http://creativecommons.org/licenses/by-nd/2.0/deed.fr
CDN
Content Delivery Network
« Solving the Rubik's Cube », par Steve Rhodes, sous licence Creative Commons by-nd 2.0
http://www.flickr.com/photos/ari/2217206582/- http://creativecommons.org/licenses/by-nd/2.0/deed.fr
URI en data:
Documents mhtml
Archives JAR
« Solving the Rubik's Cube », par Steve Rhodes, sous licence Creative Commons by-nd 2.0
http://www.flickr.com/photos/ari/2217206582/- http://creativecommons.org/licenses/by-nd/2.0/deed.fr
Chargements parallèles
- domaines multiples
« Solving the Rubik's Cube », par Steve Rhodes, sous licence Creative Commons by-nd 2.0
http://www.flickr.com/photos/ari/2217206582/- http://creativecommons.org/licenses/by-nd/2.0/deed.fr
Connexions persistantes
(keep alive HTTP)
Contenus plus petits
Compression HTTP (gzip)
Minimisation des contenus (espaces blancs)
Recompression des images (avec et sans pertes)
« Grade 9th Math problem », par Arjin, sous licence Creative Commons by-nd 2.0
http://www.flickr.com/photos/arjin/3271430123/ - http://creativecommons.org/licenses/by-nd/2.0/deed.fr
Accélérer le rendu
Chargement différé via AJAX
Ordonner et prioriser le contenu
Envoyer immédiatement les blocs sans calcul serveur
Chargement asynchrone du javascript, ou en bas de page
« Grade 9th Math problem », par Arjin, sous licence Creative Commons by-nd 2.0
http://www.flickr.com/photos/arjin/3271430123/ - http://creativecommons.org/licenses/by-nd/2.0/deed.fr
Mais aussi
Utiliser le cache HTTP
Vraiment utiliser le cache HTTP 
Précharger les contenus à l’avance
« Grade 9th Math problem », par Arjin, sous licence Creative Commons by-nd 2.0
http://www.flickr.com/photos/arjin/3271430123/ - http://creativecommons.org/licenses/by-nd/2.0/deed.fr
Et bien sûr
Optimiser le javascript
Diminuer la complexité
Éviter les sélecteurs CSS/Jquery horriblement lents
« Grade 9th Math problem », par Arjin, sous licence Creative Commons by-nd 2.0
http://www.flickr.com/photos/arjin/3271430123/ - http://creativecommons.org/licenses/by-nd/2.0/deed.fr
« Suburban Construction », par Tudor, sous licence Creative Commons by-sa 2.0
http://www.flickr.com/photos/tudor/1188254856/ - http://creativecommons.org/licenses/by-sa/2.0/deed.fr
Outils
• webpagetest.org
• Firebug
• Yslow et Page Speed
• Dynatrace Ajax
En FR :
• liste de diffusion
• perf planet fr
• livre à venir 
En EN :
• Yahoo! perf
• Google perf
• perf planet
« fahrenheit burn », par Michael Bina, sous licence Creative Commons by-nc-sa 2.0
http://www.flickr.com/photos/mrtwism/40371169/ - http://creativecommons.org/licenses/by-nc-sa/2.0/deed.fr
https://sites.google.com/a/survol.fr/webperf-user-group/
« late night discussion… », par Phil Hilfiker, sous licence Creative Commons by-nc-nd 2.0
http://www.flickr.com/photos/hi-phi/64055296/ - http://creativecommons.org/licenses/by-nc-nd/2.0/deed.fr
Consultant Web
http://www.sqli.com/ – edaspet@sqli.com
Société de service en ingénierie informatique
Recrute ! experts, architectes, chefs de projet, …
PHP, Magento, Symfony, Zend Framework
Auteur « PHP 5 avancé », éditions Eyrolles
Fondateur des conférences « Paris Web »
Groupe utilisateur webperf français
Livre webperf en cours de rédaction
http://http://eric.daspet.name/
PHP, Web, Performance, Innovation
Qualité, Excellence technique
Éric Daspet
http://www.slideshare.net/edaspet/performance-des-sites-web-latence-afup-2010

Contenu connexe

Similaire à Performance des sites web - Latence - AFUP 2010

Une visite guidée d’Internet Explorer 9 et HTML5 pour les développeurs Web
Une visite guidée d’Internet Explorer 9 et HTML5 pour les développeurs WebUne visite guidée d’Internet Explorer 9 et HTML5 pour les développeurs Web
Une visite guidée d’Internet Explorer 9 et HTML5 pour les développeurs WebFrédéric Harper
 
HTML5... La révolution maintenant!
HTML5... La révolution maintenant!HTML5... La révolution maintenant!
HTML5... La révolution maintenant!CARA_Lyon
 
HTML5... La révolution maintenant!
HTML5... La révolution maintenant!HTML5... La révolution maintenant!
HTML5... La révolution maintenant!CARA_Lyon
 
Codedarmor 2012 - 06/03 - HTML5, CSS3 et Javascript
Codedarmor 2012 - 06/03 - HTML5, CSS3 et JavascriptCodedarmor 2012 - 06/03 - HTML5, CSS3 et Javascript
Codedarmor 2012 - 06/03 - HTML5, CSS3 et Javascriptcodedarmor
 
Présentation welcom la webperf by object23
Présentation welcom la webperf by object23Présentation welcom la webperf by object23
Présentation welcom la webperf by object23Brigitte Marandon
 
Cours 1/3 "Architecture Web"
Cours 1/3 "Architecture Web"Cours 1/3 "Architecture Web"
Cours 1/3 "Architecture Web"Adyax
 
Introduction aux RIA (Rich Internet Applications)
Introduction aux RIA (Rich Internet Applications)Introduction aux RIA (Rich Internet Applications)
Introduction aux RIA (Rich Internet Applications)Tugdual Grall
 
La mobilité dans Drupal
La mobilité dans DrupalLa mobilité dans Drupal
La mobilité dans DrupalAdyax
 
xml-webservices-intro.pdfhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
xml-webservices-intro.pdfhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhxml-webservices-intro.pdfhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
xml-webservices-intro.pdfhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhindguendouz2000
 
Programmation web asynchrone avec Tornado
Programmation web asynchrone avec TornadoProgrammation web asynchrone avec Tornado
Programmation web asynchrone avec TornadoRonan Amicel
 
Track 1 - Atelier 2 - Distribution complète d’un site avec le cdn Amazon Clo...
Track 1 - Atelier 2 - Distribution complète d’un site avec le cdn Amazon Clo...Track 1 - Atelier 2 - Distribution complète d’un site avec le cdn Amazon Clo...
Track 1 - Atelier 2 - Distribution complète d’un site avec le cdn Amazon Clo...Amazon Web Services
 
Création des sites web pour débutant
Création des sites web pour débutantCréation des sites web pour débutant
Création des sites web pour débutantKorteby Farouk
 
[FR] Capture vidéo avec HTML5
[FR] Capture vidéo avec HTML5[FR] Capture vidéo avec HTML5
[FR] Capture vidéo avec HTML5Thomas Bassetto
 
Introduction dans la Programmation Web Course 1
Introduction dans la Programmation Web Course 1Introduction dans la Programmation Web Course 1
Introduction dans la Programmation Web Course 1Vlad Posea
 
HTML5 et Internet Explorer 9, est-ce réellement compatible?
HTML5 et Internet Explorer 9, est-ce réellement compatible?HTML5 et Internet Explorer 9, est-ce réellement compatible?
HTML5 et Internet Explorer 9, est-ce réellement compatible?Frédéric Harper
 
Client riche et nouvelles technologies
Client riche et nouvelles technologiesClient riche et nouvelles technologies
Client riche et nouvelles technologiesSébastien Letélié
 
Yass-RSI-Bootstrap.pptx
Yass-RSI-Bootstrap.pptxYass-RSI-Bootstrap.pptx
Yass-RSI-Bootstrap.pptxyassinesouli2
 
Applications Android - cours 13 : Connectivité et services Web
Applications Android - cours 13 : Connectivité et services WebApplications Android - cours 13 : Connectivité et services Web
Applications Android - cours 13 : Connectivité et services WebAhmed-Chawki Chaouche
 
Ajax intro 2pp
Ajax intro 2ppAjax intro 2pp
Ajax intro 2ppRYMAA
 
L'histoire d'html5 pour les développeurs windows phone 8
L'histoire d'html5 pour les développeurs windows phone 8L'histoire d'html5 pour les développeurs windows phone 8
L'histoire d'html5 pour les développeurs windows phone 8davrous
 

Similaire à Performance des sites web - Latence - AFUP 2010 (20)

Une visite guidée d’Internet Explorer 9 et HTML5 pour les développeurs Web
Une visite guidée d’Internet Explorer 9 et HTML5 pour les développeurs WebUne visite guidée d’Internet Explorer 9 et HTML5 pour les développeurs Web
Une visite guidée d’Internet Explorer 9 et HTML5 pour les développeurs Web
 
HTML5... La révolution maintenant!
HTML5... La révolution maintenant!HTML5... La révolution maintenant!
HTML5... La révolution maintenant!
 
HTML5... La révolution maintenant!
HTML5... La révolution maintenant!HTML5... La révolution maintenant!
HTML5... La révolution maintenant!
 
Codedarmor 2012 - 06/03 - HTML5, CSS3 et Javascript
Codedarmor 2012 - 06/03 - HTML5, CSS3 et JavascriptCodedarmor 2012 - 06/03 - HTML5, CSS3 et Javascript
Codedarmor 2012 - 06/03 - HTML5, CSS3 et Javascript
 
Présentation welcom la webperf by object23
Présentation welcom la webperf by object23Présentation welcom la webperf by object23
Présentation welcom la webperf by object23
 
Cours 1/3 "Architecture Web"
Cours 1/3 "Architecture Web"Cours 1/3 "Architecture Web"
Cours 1/3 "Architecture Web"
 
Introduction aux RIA (Rich Internet Applications)
Introduction aux RIA (Rich Internet Applications)Introduction aux RIA (Rich Internet Applications)
Introduction aux RIA (Rich Internet Applications)
 
La mobilité dans Drupal
La mobilité dans DrupalLa mobilité dans Drupal
La mobilité dans Drupal
 
xml-webservices-intro.pdfhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
xml-webservices-intro.pdfhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhxml-webservices-intro.pdfhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
xml-webservices-intro.pdfhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
 
Programmation web asynchrone avec Tornado
Programmation web asynchrone avec TornadoProgrammation web asynchrone avec Tornado
Programmation web asynchrone avec Tornado
 
Track 1 - Atelier 2 - Distribution complète d’un site avec le cdn Amazon Clo...
Track 1 - Atelier 2 - Distribution complète d’un site avec le cdn Amazon Clo...Track 1 - Atelier 2 - Distribution complète d’un site avec le cdn Amazon Clo...
Track 1 - Atelier 2 - Distribution complète d’un site avec le cdn Amazon Clo...
 
Création des sites web pour débutant
Création des sites web pour débutantCréation des sites web pour débutant
Création des sites web pour débutant
 
[FR] Capture vidéo avec HTML5
[FR] Capture vidéo avec HTML5[FR] Capture vidéo avec HTML5
[FR] Capture vidéo avec HTML5
 
Introduction dans la Programmation Web Course 1
Introduction dans la Programmation Web Course 1Introduction dans la Programmation Web Course 1
Introduction dans la Programmation Web Course 1
 
HTML5 et Internet Explorer 9, est-ce réellement compatible?
HTML5 et Internet Explorer 9, est-ce réellement compatible?HTML5 et Internet Explorer 9, est-ce réellement compatible?
HTML5 et Internet Explorer 9, est-ce réellement compatible?
 
Client riche et nouvelles technologies
Client riche et nouvelles technologiesClient riche et nouvelles technologies
Client riche et nouvelles technologies
 
Yass-RSI-Bootstrap.pptx
Yass-RSI-Bootstrap.pptxYass-RSI-Bootstrap.pptx
Yass-RSI-Bootstrap.pptx
 
Applications Android - cours 13 : Connectivité et services Web
Applications Android - cours 13 : Connectivité et services WebApplications Android - cours 13 : Connectivité et services Web
Applications Android - cours 13 : Connectivité et services Web
 
Ajax intro 2pp
Ajax intro 2ppAjax intro 2pp
Ajax intro 2pp
 
L'histoire d'html5 pour les développeurs windows phone 8
L'histoire d'html5 pour les développeurs windows phone 8L'histoire d'html5 pour les développeurs windows phone 8
L'histoire d'html5 pour les développeurs windows phone 8
 

Plus de Eric D.

Bonnes pratiques API - Paris Web 2013
Bonnes pratiques API - Paris Web 2013Bonnes pratiques API - Paris Web 2013
Bonnes pratiques API - Paris Web 2013Eric D.
 
Blend Web Mix 2013 : Concevoir son API
Blend Web Mix 2013 : Concevoir son APIBlend Web Mix 2013 : Concevoir son API
Blend Web Mix 2013 : Concevoir son APIEric D.
 
Un peu de TLS ne fait pas de mal - Sudweb 2013
Un peu de TLS ne fait pas de mal - Sudweb 2013Un peu de TLS ne fait pas de mal - Sudweb 2013
Un peu de TLS ne fait pas de mal - Sudweb 2013Eric D.
 
Api - mix it 2013
Api - mix it 2013Api - mix it 2013
Api - mix it 2013Eric D.
 
Performance des applications web - USI Casa 2011
Performance des applications web - USI Casa 2011Performance des applications web - USI Casa 2011
Performance des applications web - USI Casa 2011Eric D.
 
Webpagetest en 5 minutes - Sud Web 2011
Webpagetest en 5 minutes - Sud Web 2011Webpagetest en 5 minutes - Sud Web 2011
Webpagetest en 5 minutes - Sud Web 2011Eric D.
 
Soirée webperf du 29 nov 2010 - Latence et CDN
Soirée webperf du 29 nov 2010 - Latence et CDNSoirée webperf du 29 nov 2010 - Latence et CDN
Soirée webperf du 29 nov 2010 - Latence et CDNEric D.
 
PHP et Performances - AFUP 2005
PHP et Performances - AFUP 2005PHP et Performances - AFUP 2005
PHP et Performances - AFUP 2005Eric D.
 
Introduction à Rails - Paris on Rails 2006
Introduction à Rails - Paris on Rails 2006Introduction à Rails - Paris on Rails 2006
Introduction à Rails - Paris on Rails 2006Eric D.
 
Utiliser pleinement le navigateur et les nouveaux clients web - AFUP 2007
Utiliser pleinement le navigateur et les nouveaux clients web  - AFUP 2007Utiliser pleinement le navigateur et les nouveaux clients web  - AFUP 2007
Utiliser pleinement le navigateur et les nouveaux clients web - AFUP 2007Eric D.
 
Yahoo! Search monkey API - CEBIT 2008
Yahoo! Search monkey API - CEBIT 2008Yahoo! Search monkey API - CEBIT 2008
Yahoo! Search monkey API - CEBIT 2008Eric D.
 
Migrations PHP 5 - Solutions linux 2009
Migrations PHP 5 - Solutions linux 2009Migrations PHP 5 - Solutions linux 2009
Migrations PHP 5 - Solutions linux 2009Eric D.
 
Frameworks php - Solutions Linux 2008
Frameworks php - Solutions Linux 2008Frameworks php - Solutions Linux 2008
Frameworks php - Solutions Linux 2008Eric D.
 
Performance des sites web : qui, pourquoi, quoi, comment et où ? - USI 2010
Performance des sites web : qui, pourquoi, quoi, comment et où ? - USI 2010Performance des sites web : qui, pourquoi, quoi, comment et où ? - USI 2010
Performance des sites web : qui, pourquoi, quoi, comment et où ? - USI 2010Eric D.
 
Introduction à la soirée webperf du 21 juillet 2010, Paris
Introduction à la soirée webperf du 21 juillet 2010, ParisIntroduction à la soirée webperf du 21 juillet 2010, Paris
Introduction à la soirée webperf du 21 juillet 2010, ParisEric D.
 
Performances Web - Afup 2008
Performances Web - Afup 2008Performances Web - Afup 2008
Performances Web - Afup 2008Eric D.
 

Plus de Eric D. (16)

Bonnes pratiques API - Paris Web 2013
Bonnes pratiques API - Paris Web 2013Bonnes pratiques API - Paris Web 2013
Bonnes pratiques API - Paris Web 2013
 
Blend Web Mix 2013 : Concevoir son API
Blend Web Mix 2013 : Concevoir son APIBlend Web Mix 2013 : Concevoir son API
Blend Web Mix 2013 : Concevoir son API
 
Un peu de TLS ne fait pas de mal - Sudweb 2013
Un peu de TLS ne fait pas de mal - Sudweb 2013Un peu de TLS ne fait pas de mal - Sudweb 2013
Un peu de TLS ne fait pas de mal - Sudweb 2013
 
Api - mix it 2013
Api - mix it 2013Api - mix it 2013
Api - mix it 2013
 
Performance des applications web - USI Casa 2011
Performance des applications web - USI Casa 2011Performance des applications web - USI Casa 2011
Performance des applications web - USI Casa 2011
 
Webpagetest en 5 minutes - Sud Web 2011
Webpagetest en 5 minutes - Sud Web 2011Webpagetest en 5 minutes - Sud Web 2011
Webpagetest en 5 minutes - Sud Web 2011
 
Soirée webperf du 29 nov 2010 - Latence et CDN
Soirée webperf du 29 nov 2010 - Latence et CDNSoirée webperf du 29 nov 2010 - Latence et CDN
Soirée webperf du 29 nov 2010 - Latence et CDN
 
PHP et Performances - AFUP 2005
PHP et Performances - AFUP 2005PHP et Performances - AFUP 2005
PHP et Performances - AFUP 2005
 
Introduction à Rails - Paris on Rails 2006
Introduction à Rails - Paris on Rails 2006Introduction à Rails - Paris on Rails 2006
Introduction à Rails - Paris on Rails 2006
 
Utiliser pleinement le navigateur et les nouveaux clients web - AFUP 2007
Utiliser pleinement le navigateur et les nouveaux clients web  - AFUP 2007Utiliser pleinement le navigateur et les nouveaux clients web  - AFUP 2007
Utiliser pleinement le navigateur et les nouveaux clients web - AFUP 2007
 
Yahoo! Search monkey API - CEBIT 2008
Yahoo! Search monkey API - CEBIT 2008Yahoo! Search monkey API - CEBIT 2008
Yahoo! Search monkey API - CEBIT 2008
 
Migrations PHP 5 - Solutions linux 2009
Migrations PHP 5 - Solutions linux 2009Migrations PHP 5 - Solutions linux 2009
Migrations PHP 5 - Solutions linux 2009
 
Frameworks php - Solutions Linux 2008
Frameworks php - Solutions Linux 2008Frameworks php - Solutions Linux 2008
Frameworks php - Solutions Linux 2008
 
Performance des sites web : qui, pourquoi, quoi, comment et où ? - USI 2010
Performance des sites web : qui, pourquoi, quoi, comment et où ? - USI 2010Performance des sites web : qui, pourquoi, quoi, comment et où ? - USI 2010
Performance des sites web : qui, pourquoi, quoi, comment et où ? - USI 2010
 
Introduction à la soirée webperf du 21 juillet 2010, Paris
Introduction à la soirée webperf du 21 juillet 2010, ParisIntroduction à la soirée webperf du 21 juillet 2010, Paris
Introduction à la soirée webperf du 21 juillet 2010, Paris
 
Performances Web - Afup 2008
Performances Web - Afup 2008Performances Web - Afup 2008
Performances Web - Afup 2008
 

Performance des sites web - Latence - AFUP 2010

  • 1. Performance des sites web parlons un peu de latence http://www.slideshare.net/edaspet/performance-des-sites-web-latence-afup-2010
  • 2. Consultant Web http://www.sqli.com/ – edaspet@sqli.com Société de service en ingénierie informatique Recrute ! experts, architectes, chefs de projet, … PHP, Magento, Symfony, Zend Framework Auteur « PHP 5 avancé », éditions Eyrolles Fondateur des conférences « Paris Web » Groupe utilisateur webperf français Livre webperf en cours de rédaction http://http://eric.daspet.name/ PHP, Web, Performance, Innovation Qualité, Excellence technique Éric Daspet
  • 3. Performance « Puzzle 1: How Many Palindromes? », par Chuck Coker, sous licence Creative Commons by-nd 2.0 http://www.flickr.com/photos/caveman_92223/2879809588 - http://creativecommons.org/licenses/by-nd/2.0/deed.fr
  • 4. Money « Money », par Dave Barger, sous licence Creative Commons by-nc-sa 2.0 http://www.flickr.com/photos/lalunablanca/1058204843/ - http://creativecommons.org/licenses/by-nc-sa/2.0/deed.fr
  • 5. Clin d’oeil « eye-open », par Lee Ann Barker, sous licence Creative Commons by-nc-nd 2.0 http://www.flickr.com/photos/calico_13/419846038/ - http://creativecommons.org/licenses/by-nc-nd/2.0/deed.fr
  • 6. « eye-closed 2 », par Lee Ann Barker, sous licence Creative Commons by-nc-nd 2.0 http://www.flickr.com/photos/calico_13/419383830/ - http://creativecommons.org/licenses/by-nc-nd/2.0/deed.fr
  • 7. « eye-open », par Lee Ann Barker, sous licence Creative Commons by-nc-nd 2.0 http://www.flickr.com/photos/calico_13/419846038/ - http://creativecommons.org/licenses/by-nc-nd/2.0/deed.fr
  • 8. Money « Money », par Dave Barger, sous licence Creative Commons by-nc-sa 2.0 http://www.flickr.com/photos/lalunablanca/1058204843/ - http://creativecommons.org/licenses/by-nc-sa/2.0/deed.fr Latence +100ms => ventes -1% Chargement +500ms => trafic -20% Chargement +400ms => abandon +5-9% Chargement +1s => revenu pub -2,8% Chargement -2,2s => transformation +15%
  • 9. Université du Système d'information 2010 – Performance des sites web – Front-end
  • 10. Front-end Back-end Université du Système d'information 2010 – Performance des sites web – 95 % front-end 5 % back-end
  • 11. Pigeons « Racing Pigeons », par Michael Porter, sous licence Creative Commons by-nc-nd 2.0 http://www.flickr.com/photos/libraryman/63499041/ - http://creativecommons.org/licenses/by-nc-nd/2.0/deed.fr
  • 12. Pertes de paquets « Springbreak '06 - Shooting Clay Pigeons », par James McCauley, sous licence Creative Commons by 2.0 http://www.flickr.com/photos/nukeit1/116466154/ - http://creativecommons.org/licenses/by/2.0/deed.fr
  • 13. Congestion « St Marks Pigeons », par Jon Lucas, sous licence Creative Commons by-nc 2.0 http://www.flickr.com/photos/jonlucas/8710833/ - http://creativecommons.org/licenses/by-nc/2.0/deed.fr
  • 18. Navigateur web Serveur web Réponse DNS www.sqli.com = 1.2.3.4
  • 19. Navigateur web Serveur web Latence (ping) Moyenne ADSL France : 50ms Peut dépasser les 100ms avec l’international Voire les 300ms sur réseau mobile
  • 20. Navigateur web Serveur web SYN TCP La connexion est initiée On peut communiquer
  • 21. Navigateur web Serveur web ACK TCP La connexion est initiée On peut communiquer
  • 22. Navigateur web Serveur web Requête HTTP (GET, POST) avec : - cookies - données de formulaires - entêtes HTTP diverses < 1ko idéalement
  • 27. « Solving the Rubik's Cube », par Steve Rhodes, sous licence Creative Commons by-nd 2.0 http://www.flickr.com/photos/ari/2217206582/- http://creativecommons.org/licenses/by-nd/2.0/deed.fr
  • 28. « Solving the Rubik's Cube », par Steve Rhodes, sous licence Creative Commons by-nd 2.0 http://www.flickr.com/photos/ari/2217206582/- http://creativecommons.org/licenses/by-nd/2.0/deed.fr Fusion JS Fusion CSS
  • 29. « Solving the Rubik's Cube », par Steve Rhodes, sous licence Creative Commons by-nd 2.0 http://www.flickr.com/photos/ari/2217206582/- http://creativecommons.org/licenses/by-nd/2.0/deed.fr Fusion Images « sprites CSS »
  • 30. « Solving the Rubik's Cube », par Steve Rhodes, sous licence Creative Commons by-nd 2.0 http://www.flickr.com/photos/ari/2217206582/- http://creativecommons.org/licenses/by-nd/2.0/deed.fr Fusion Images « sprites CSS »
  • 31. « Solving the Rubik's Cube », par Steve Rhodes, sous licence Creative Commons by-nd 2.0 http://www.flickr.com/photos/ari/2217206582/- http://creativecommons.org/licenses/by-nd/2.0/deed.fr Fusion Images « sprites CSS »
  • 32. « Solving the Rubik's Cube », par Steve Rhodes, sous licence Creative Commons by-nd 2.0 http://www.flickr.com/photos/ari/2217206582/- http://creativecommons.org/licenses/by-nd/2.0/deed.fr CDN Content Delivery Network
  • 33. « Solving the Rubik's Cube », par Steve Rhodes, sous licence Creative Commons by-nd 2.0 http://www.flickr.com/photos/ari/2217206582/- http://creativecommons.org/licenses/by-nd/2.0/deed.fr URI en data: Documents mhtml Archives JAR
  • 34. « Solving the Rubik's Cube », par Steve Rhodes, sous licence Creative Commons by-nd 2.0 http://www.flickr.com/photos/ari/2217206582/- http://creativecommons.org/licenses/by-nd/2.0/deed.fr Chargements parallèles - domaines multiples
  • 35. « Solving the Rubik's Cube », par Steve Rhodes, sous licence Creative Commons by-nd 2.0 http://www.flickr.com/photos/ari/2217206582/- http://creativecommons.org/licenses/by-nd/2.0/deed.fr Connexions persistantes (keep alive HTTP)
  • 36. Contenus plus petits Compression HTTP (gzip) Minimisation des contenus (espaces blancs) Recompression des images (avec et sans pertes) « Grade 9th Math problem », par Arjin, sous licence Creative Commons by-nd 2.0 http://www.flickr.com/photos/arjin/3271430123/ - http://creativecommons.org/licenses/by-nd/2.0/deed.fr
  • 37. Accélérer le rendu Chargement différé via AJAX Ordonner et prioriser le contenu Envoyer immédiatement les blocs sans calcul serveur Chargement asynchrone du javascript, ou en bas de page « Grade 9th Math problem », par Arjin, sous licence Creative Commons by-nd 2.0 http://www.flickr.com/photos/arjin/3271430123/ - http://creativecommons.org/licenses/by-nd/2.0/deed.fr
  • 38. Mais aussi Utiliser le cache HTTP Vraiment utiliser le cache HTTP  Précharger les contenus à l’avance « Grade 9th Math problem », par Arjin, sous licence Creative Commons by-nd 2.0 http://www.flickr.com/photos/arjin/3271430123/ - http://creativecommons.org/licenses/by-nd/2.0/deed.fr
  • 39. Et bien sûr Optimiser le javascript Diminuer la complexité Éviter les sélecteurs CSS/Jquery horriblement lents « Grade 9th Math problem », par Arjin, sous licence Creative Commons by-nd 2.0 http://www.flickr.com/photos/arjin/3271430123/ - http://creativecommons.org/licenses/by-nd/2.0/deed.fr
  • 40. « Suburban Construction », par Tudor, sous licence Creative Commons by-sa 2.0 http://www.flickr.com/photos/tudor/1188254856/ - http://creativecommons.org/licenses/by-sa/2.0/deed.fr Outils • webpagetest.org • Firebug • Yslow et Page Speed • Dynatrace Ajax
  • 41. En FR : • liste de diffusion • perf planet fr • livre à venir  En EN : • Yahoo! perf • Google perf • perf planet « fahrenheit burn », par Michael Bina, sous licence Creative Commons by-nc-sa 2.0 http://www.flickr.com/photos/mrtwism/40371169/ - http://creativecommons.org/licenses/by-nc-sa/2.0/deed.fr https://sites.google.com/a/survol.fr/webperf-user-group/
  • 42. « late night discussion… », par Phil Hilfiker, sous licence Creative Commons by-nc-nd 2.0 http://www.flickr.com/photos/hi-phi/64055296/ - http://creativecommons.org/licenses/by-nc-nd/2.0/deed.fr
  • 43. Consultant Web http://www.sqli.com/ – edaspet@sqli.com Société de service en ingénierie informatique Recrute ! experts, architectes, chefs de projet, … PHP, Magento, Symfony, Zend Framework Auteur « PHP 5 avancé », éditions Eyrolles Fondateur des conférences « Paris Web » Groupe utilisateur webperf français Livre webperf en cours de rédaction http://http://eric.daspet.name/ PHP, Web, Performance, Innovation Qualité, Excellence technique Éric Daspet http://www.slideshare.net/edaspet/performance-des-sites-web-latence-afup-2010