SlideShare a Scribd company logo
1 of 16
+




    Performance WEB

      Mettez vos sites sur orbite
+
    Emmanuel QUENTIN

             Architecte logiciel – Nurun



         Développeur certifié PHP & Magento




                @HereIComeSlowly
+




    Running faster
+
    Pourquoi ?

       Taux de conversion
           Un acheteur n’aime pas attendre
           Amazon : Perte d’1% du C.A. toutes les 100ms
           2/5 visiteurs abandonnent leur panier si chargement > 3s




       Référencement
           Pris en compte par Google (officiel)
           30% de poids en moins : 30% de trafic en plus
           Augmentation de la note affectée à AdWords
+
    Pourquoi ?

       Taux de rebond
           500ms de chargement : 20% de recherche en moins chez Google




       Economie de bande passante



       Montée en charge facilitée
+
    Waterfall

        Début du rendu, fin de la page blanche
+
    Waterfall

       Le frontend et le réseau représentent 90% du boulot



       Le téléchargement dépend de
           Recherche DNS (~20/100ms)
           Connexion TCP
           Téléchargement du contenu


       Le Javascript bloque les autres téléchargements (le relou)



       Les navigateurs limitent les téléchargements en parallèle par domaine (les
        relous)
+
    Les solutions côté frontend !

       DNS prefetching
           <link rel="dns-prefetch" href="//assets.foo.com"> # Sauf IE < 10


       Déporter l’inclusion des Javascripts à la fin du <body>


       Rendre asynchrone le chargement des plugins sociaux



       Mettre en place des domaines spécifiques (ou CDN) pour
        augmenter le chargement en parallèle
+
    Les solutions côté frontend !

       Diminuer le temps de chargement et le nombre de requêtes HTTP


           Concatener et minifier les JS/CSS


           Utiliser les sprites pour les images


           Outil d’optimisation d’image (Pngcrush)


           CDN géolocalisé (réduit la latence)
+
    Réduire le reflow

       Quand ?


           Redimensionnement fenêtre


           Changement taille police


           Changement contenu


           Pseudo classe ( :hover )


           Changement de style en JS
+
    Réduire le reflow

       Comment ?


           Diminuer la profondeur du DOM


           Supprimer les règles CSS inutiles


           Simplifier les règles CSS


           Spécifier les dimensions des images
+
    Autour du backend

       Caching HTTP
           Header Expires
           Header ETag (entity tag)


       Caching applicatif
           Fichier, Memcache, Redis
           Cache d’opcode (PHP) : APC, Zend Optimiser (surement dans PHP 5.5)


       Reverse Proxy
           Varnish, Nginx, Squid
+
    Autour du backend

       Serveur WEB
           Compression gzip (mod_deflate d’Apache)
           Module d’expiration (mod_expire d’Apache)




       Base de donnnées
           Index
           Optimisation des requêtes (EXPLAIN, Last_query_cost)
           Table temporaire, dénormalisation
+
    Autour du backend

       Prévoir ses applications de façon scalables


           Master/slave MySQL – NoSQL


           Queue de message (AMQP) : RabbitMQ, ZeroMQ, ZendQueue


           CRON


           Appels I/O asynchrones (NodeJS)
+
    Outils

       Google page speed (module Chrome / Firefox)



       Yslow (module Chrome / Firefox)



       Web page test ( webpagetest.org )
+

More Related Content

What's hot

Presentation
PresentationPresentation
Presentationbois
 
Motwin - cto crunch - 141205 - Optimiser la latence applicative mobile
Motwin -  cto crunch - 141205 - Optimiser la latence applicative mobileMotwin -  cto crunch - 141205 - Optimiser la latence applicative mobile
Motwin - cto crunch - 141205 - Optimiser la latence applicative mobileCommunity motwin
 
La performance de vos applications Drupal
La performance de vos applications DrupalLa performance de vos applications Drupal
La performance de vos applications DrupalOxalide
 
RennesJS Talk webperf by Dareboost
RennesJS Talk webperf by DareboostRennesJS Talk webperf by Dareboost
RennesJS Talk webperf by DareboostDamien Jubeau
 
Meetup Google Cloud
Meetup Google CloudMeetup Google Cloud
Meetup Google CloudPierre Coste
 
MDDay
MDDayMDDay
MDDaybch
 
Amélioration des performances eCommerce - Webinaire par aYaline
Amélioration des performances eCommerce - Webinaire par aYalineAmélioration des performances eCommerce - Webinaire par aYaline
Amélioration des performances eCommerce - Webinaire par aYalineaYaline
 
Drupagora 2012 Optimisation performances Drupal
Drupagora 2012 Optimisation performances DrupalDrupagora 2012 Optimisation performances Drupal
Drupagora 2012 Optimisation performances DrupalSkilld
 
Un environnement de développement solide avec wamp
Un environnement de développement solide avec wampUn environnement de développement solide avec wamp
Un environnement de développement solide avec wampNicolas Beauvais
 
Presentation sur l'hébergement web et du cpanel
Presentation sur l'hébergement web et du cpanelPresentation sur l'hébergement web et du cpanel
Presentation sur l'hébergement web et du cpanelGilbert Girard
 
Css maintenable - Morgane Hervé
Css maintenable - Morgane HervéCss maintenable - Morgane Hervé
Css maintenable - Morgane HervéWeb à Québec
 
Cours 2/3 - Architecture Web
Cours 2/3 - Architecture WebCours 2/3 - Architecture Web
Cours 2/3 - Architecture WebAdyax
 
Windows Azure Web Sites, Cloud Services ou Virtual Machines ? Quelles technol...
Windows Azure Web Sites, Cloud Services ou Virtual Machines ? Quelles technol...Windows Azure Web Sites, Cloud Services ou Virtual Machines ? Quelles technol...
Windows Azure Web Sites, Cloud Services ou Virtual Machines ? Quelles technol...Microsoft
 
Réu technodejs
Réu technodejsRéu technodejs
Réu technodejsnaholyr
 
Viseo intro Prive Public Cloud vs hosting
Viseo intro Prive Public Cloud vs hostingViseo intro Prive Public Cloud vs hosting
Viseo intro Prive Public Cloud vs hostingthavo001
 

What's hot (20)

Presentation
PresentationPresentation
Presentation
 
Motwin - cto crunch - 141205 - Optimiser la latence applicative mobile
Motwin -  cto crunch - 141205 - Optimiser la latence applicative mobileMotwin -  cto crunch - 141205 - Optimiser la latence applicative mobile
Motwin - cto crunch - 141205 - Optimiser la latence applicative mobile
 
La performance de vos applications Drupal
La performance de vos applications DrupalLa performance de vos applications Drupal
La performance de vos applications Drupal
 
RennesJS Talk webperf by Dareboost
RennesJS Talk webperf by DareboostRennesJS Talk webperf by Dareboost
RennesJS Talk webperf by Dareboost
 
Meetup Google Cloud
Meetup Google CloudMeetup Google Cloud
Meetup Google Cloud
 
MDDay
MDDayMDDay
MDDay
 
Amélioration des performances eCommerce - Webinaire par aYaline
Amélioration des performances eCommerce - Webinaire par aYalineAmélioration des performances eCommerce - Webinaire par aYaline
Amélioration des performances eCommerce - Webinaire par aYaline
 
Drupagora 2012 Optimisation performances Drupal
Drupagora 2012 Optimisation performances DrupalDrupagora 2012 Optimisation performances Drupal
Drupagora 2012 Optimisation performances Drupal
 
Restful
RestfulRestful
Restful
 
Un environnement de développement solide avec wamp
Un environnement de développement solide avec wampUn environnement de développement solide avec wamp
Un environnement de développement solide avec wamp
 
Presentation sur l'hébergement web et du cpanel
Presentation sur l'hébergement web et du cpanelPresentation sur l'hébergement web et du cpanel
Presentation sur l'hébergement web et du cpanel
 
Push Notification
Push Notification Push Notification
Push Notification
 
Css maintenable - Morgane Hervé
Css maintenable - Morgane HervéCss maintenable - Morgane Hervé
Css maintenable - Morgane Hervé
 
Cours 2/3 - Architecture Web
Cours 2/3 - Architecture WebCours 2/3 - Architecture Web
Cours 2/3 - Architecture Web
 
Drupal Performance
Drupal PerformanceDrupal Performance
Drupal Performance
 
Le flash, est-ce pour moi ?
Le flash, est-ce pour moi ? Le flash, est-ce pour moi ?
Le flash, est-ce pour moi ?
 
Windows Azure Web Sites, Cloud Services ou Virtual Machines ? Quelles technol...
Windows Azure Web Sites, Cloud Services ou Virtual Machines ? Quelles technol...Windows Azure Web Sites, Cloud Services ou Virtual Machines ? Quelles technol...
Windows Azure Web Sites, Cloud Services ou Virtual Machines ? Quelles technol...
 
Réu technodejs
Réu technodejsRéu technodejs
Réu technodejs
 
CasperJS
CasperJSCasperJS
CasperJS
 
Viseo intro Prive Public Cloud vs hosting
Viseo intro Prive Public Cloud vs hostingViseo intro Prive Public Cloud vs hosting
Viseo intro Prive Public Cloud vs hosting
 

Viewers also liked

Unucr bilan20122013 pour diffusion
Unucr bilan20122013 pour diffusionUnucr bilan20122013 pour diffusion
Unucr bilan20122013 pour diffusiongenevieve38
 
Una aproximación a la vulneración de derechos en mujeres trabajadoras sexuale...
Una aproximación a la vulneración de derechos en mujeres trabajadoras sexuale...Una aproximación a la vulneración de derechos en mujeres trabajadoras sexuale...
Una aproximación a la vulneración de derechos en mujeres trabajadoras sexuale...Asociación Lazos Pro Solidariedade
 
Un africain un arbre au Niger et partout en Afrique et dans le Monde.
Un africain un arbre au Niger et partout en Afrique et dans le Monde.Un africain un arbre au Niger et partout en Afrique et dans le Monde.
Un africain un arbre au Niger et partout en Afrique et dans le Monde.Patrice Piardon
 
El entorno de las políticas públicas
El entorno de las políticas públicasEl entorno de las políticas públicas
El entorno de las políticas públicasGobernabilidad
 
Análisis de los contenidos más destacados del nuevo Reglamento de Expedientes...
Análisis de los contenidos más destacados del nuevo Reglamento de Expedientes...Análisis de los contenidos más destacados del nuevo Reglamento de Expedientes...
Análisis de los contenidos más destacados del nuevo Reglamento de Expedientes...Universidad Autónoma de Barcelona
 
Experiencia Conecta Joven Club d'Esplai Diversitat Lúdica
Experiencia Conecta Joven Club d'Esplai Diversitat LúdicaExperiencia Conecta Joven Club d'Esplai Diversitat Lúdica
Experiencia Conecta Joven Club d'Esplai Diversitat Lúdicae-Inclusión Fundación Esplai
 
Manual para ingreso y configuración de usuario
Manual para ingreso y configuración de usuarioManual para ingreso y configuración de usuario
Manual para ingreso y configuración de usuarioGeraldy Castro
 
InVactis Slideshare
InVactis SlideshareInVactis Slideshare
InVactis Slideshareinvactis
 
Les 58 ch-teaux_des_bords_de_loire
Les 58 ch-teaux_des_bords_de_loireLes 58 ch-teaux_des_bords_de_loire
Les 58 ch-teaux_des_bords_de_loireGerard Houdinet
 
Brochure JSI Groupe
Brochure JSI GroupeBrochure JSI Groupe
Brochure JSI GroupeJSI Groupe
 
Revolution dans-deux-pays-arabes
Revolution dans-deux-pays-arabesRevolution dans-deux-pays-arabes
Revolution dans-deux-pays-arabesdelphine42
 
Dialnet el origendelpatrimoniocomopoliticapublicaencolombia-4019581
Dialnet el origendelpatrimoniocomopoliticapublicaencolombia-4019581Dialnet el origendelpatrimoniocomopoliticapublicaencolombia-4019581
Dialnet el origendelpatrimoniocomopoliticapublicaencolombia-4019581Arquitecto bogota
 
La mode
La modeLa mode
La modeNuit72
 
Ppt présentation cr pour kit adhérent
Ppt présentation cr pour kit adhérentPpt présentation cr pour kit adhérent
Ppt présentation cr pour kit adhérentOTPornichet
 

Viewers also liked (20)

Unucr bilan20122013 pour diffusion
Unucr bilan20122013 pour diffusionUnucr bilan20122013 pour diffusion
Unucr bilan20122013 pour diffusion
 
Una aproximación a la vulneración de derechos en mujeres trabajadoras sexuale...
Una aproximación a la vulneración de derechos en mujeres trabajadoras sexuale...Una aproximación a la vulneración de derechos en mujeres trabajadoras sexuale...
Una aproximación a la vulneración de derechos en mujeres trabajadoras sexuale...
 
Actividad 8.0
Actividad 8.0Actividad 8.0
Actividad 8.0
 
Un africain un arbre au Niger et partout en Afrique et dans le Monde.
Un africain un arbre au Niger et partout en Afrique et dans le Monde.Un africain un arbre au Niger et partout en Afrique et dans le Monde.
Un africain un arbre au Niger et partout en Afrique et dans le Monde.
 
Preparar pedidos
Preparar  pedidosPreparar  pedidos
Preparar pedidos
 
Le webdocumentaire
Le webdocumentaireLe webdocumentaire
Le webdocumentaire
 
El entorno de las políticas públicas
El entorno de las políticas públicasEl entorno de las políticas públicas
El entorno de las políticas públicas
 
Análisis de los contenidos más destacados del nuevo Reglamento de Expedientes...
Análisis de los contenidos más destacados del nuevo Reglamento de Expedientes...Análisis de los contenidos más destacados del nuevo Reglamento de Expedientes...
Análisis de los contenidos más destacados del nuevo Reglamento de Expedientes...
 
Experiencia Conecta Joven Club d'Esplai Diversitat Lúdica
Experiencia Conecta Joven Club d'Esplai Diversitat LúdicaExperiencia Conecta Joven Club d'Esplai Diversitat Lúdica
Experiencia Conecta Joven Club d'Esplai Diversitat Lúdica
 
Manual para ingreso y configuración de usuario
Manual para ingreso y configuración de usuarioManual para ingreso y configuración de usuario
Manual para ingreso y configuración de usuario
 
InVactis Slideshare
InVactis SlideshareInVactis Slideshare
InVactis Slideshare
 
Les 58 ch-teaux_des_bords_de_loire
Les 58 ch-teaux_des_bords_de_loireLes 58 ch-teaux_des_bords_de_loire
Les 58 ch-teaux_des_bords_de_loire
 
Brochure JSI Groupe
Brochure JSI GroupeBrochure JSI Groupe
Brochure JSI Groupe
 
Revolution dans-deux-pays-arabes
Revolution dans-deux-pays-arabesRevolution dans-deux-pays-arabes
Revolution dans-deux-pays-arabes
 
Focus sur le ROCARE
Focus sur le ROCAREFocus sur le ROCARE
Focus sur le ROCARE
 
Dialnet el origendelpatrimoniocomopoliticapublicaencolombia-4019581
Dialnet el origendelpatrimoniocomopoliticapublicaencolombia-4019581Dialnet el origendelpatrimoniocomopoliticapublicaencolombia-4019581
Dialnet el origendelpatrimoniocomopoliticapublicaencolombia-4019581
 
La mode
La modeLa mode
La mode
 
Cuento motivador
Cuento motivador Cuento motivador
Cuento motivador
 
Ppt présentation cr pour kit adhérent
Ppt présentation cr pour kit adhérentPpt présentation cr pour kit adhérent
Ppt présentation cr pour kit adhérent
 
Mb vu par_konk_mariel
Mb vu par_konk_marielMb vu par_konk_mariel
Mb vu par_konk_mariel
 

Similar to Talk performance web

Techniques accélération des pages web #kiwiparty
Techniques accélération des pages web #kiwipartyTechniques accélération des pages web #kiwiparty
Techniques accélération des pages web #kiwipartyJean-Pierre Vincent
 
Cours 1/3 "Architecture Web"
Cours 1/3 "Architecture Web"Cours 1/3 "Architecture Web"
Cours 1/3 "Architecture Web"Adyax
 
LeParisien.fr - Didier Cros - Retours d'expérience - Soirée webperf Paris du ...
LeParisien.fr - Didier Cros - Retours d'expérience - Soirée webperf Paris du ...LeParisien.fr - Didier Cros - Retours d'expérience - Soirée webperf Paris du ...
LeParisien.fr - Didier Cros - Retours d'expérience - Soirée webperf Paris du ...webperffr
 
Améliorer les performances de vos sites web une priorité pour 2018 - Petit dé...
Améliorer les performances de vos sites web une priorité pour 2018 - Petit dé...Améliorer les performances de vos sites web une priorité pour 2018 - Petit dé...
Améliorer les performances de vos sites web une priorité pour 2018 - Petit dé...Peak Ace
 
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
 
Responsive WebDesign performant
Responsive WebDesign performantResponsive WebDesign performant
Responsive WebDesign performantRefficience
 
Comment Rue Du Commerce est devenu le site e-commerce le plus rapide de France ?
Comment Rue Du Commerce est devenu le site e-commerce le plus rapide de France ?Comment Rue Du Commerce est devenu le site e-commerce le plus rapide de France ?
Comment Rue Du Commerce est devenu le site e-commerce le plus rapide de France ?Fasterize
 
Webperf Front-End SeoCampus 2012
Webperf Front-End SeoCampus 2012Webperf Front-End SeoCampus 2012
Webperf Front-End SeoCampus 2012Refficience
 
Drupagora 2012 Optimisation performances Drupal
Drupagora 2012 Optimisation performances DrupalDrupagora 2012 Optimisation performances Drupal
Drupagora 2012 Optimisation performances DrupalSkilld
 
Pensez Web-Performances avec WordPress - Une conférence de Julien Oger et Pie...
Pensez Web-Performances avec WordPress - Une conférence de Julien Oger et Pie...Pensez Web-Performances avec WordPress - Une conférence de Julien Oger et Pie...
Pensez Web-Performances avec WordPress - Une conférence de Julien Oger et Pie...pierredargham
 
Initiation Webperf : Comprendre, analyser et optimiser les performances web F...
Initiation Webperf : Comprendre, analyser et optimiser les performances web F...Initiation Webperf : Comprendre, analyser et optimiser les performances web F...
Initiation Webperf : Comprendre, analyser et optimiser les performances web F...Kenny Dits
 
Le SEO JavaScript démystifié
Le SEO JavaScript démystifiéLe SEO JavaScript démystifié
Le SEO JavaScript démystifiéAdrien Russo
 
Conférence AFUP 20minutes.Fr
Conférence AFUP 20minutes.FrConférence AFUP 20minutes.Fr
Conférence AFUP 20minutes.FrOxalide
 
LoadTime & SEO - Erlé Alberton
LoadTime & SEO - Erlé AlbertonLoadTime & SEO - Erlé Alberton
LoadTime & SEO - Erlé AlbertonWeLoveSEO
 
We❤️SEO 2019 : WebPerf et SEO
We❤️SEO 2019 : WebPerf et SEOWe❤️SEO 2019 : WebPerf et SEO
We❤️SEO 2019 : WebPerf et SEOErlé Alberton
 
HTTP2 : ce qui va changer par Julien Landuré
HTTP2 : ce qui va changer par Julien LanduréHTTP2 : ce qui va changer par Julien Landuré
HTTP2 : ce qui va changer par Julien LanduréZenika
 
Performances
PerformancesPerformances
PerformancesNeovov
 
Optimisation des performances d'un site web
Optimisation des performances d'un site webOptimisation des performances d'un site web
Optimisation des performances d'un site webKaelig Deloumeau-Prigent
 
Kiwiparty 2011 - Optimisation des sites internet
Kiwiparty 2011 - Optimisation des sites internetKiwiparty 2011 - Optimisation des sites internet
Kiwiparty 2011 - Optimisation des sites internetDevclic
 
HTML5... La révolution maintenant!
HTML5... La révolution maintenant!HTML5... La révolution maintenant!
HTML5... La révolution maintenant!CARA_Lyon
 

Similar to Talk performance web (20)

Techniques accélération des pages web #kiwiparty
Techniques accélération des pages web #kiwipartyTechniques accélération des pages web #kiwiparty
Techniques accélération des pages web #kiwiparty
 
Cours 1/3 "Architecture Web"
Cours 1/3 "Architecture Web"Cours 1/3 "Architecture Web"
Cours 1/3 "Architecture Web"
 
LeParisien.fr - Didier Cros - Retours d'expérience - Soirée webperf Paris du ...
LeParisien.fr - Didier Cros - Retours d'expérience - Soirée webperf Paris du ...LeParisien.fr - Didier Cros - Retours d'expérience - Soirée webperf Paris du ...
LeParisien.fr - Didier Cros - Retours d'expérience - Soirée webperf Paris du ...
 
Améliorer les performances de vos sites web une priorité pour 2018 - Petit dé...
Améliorer les performances de vos sites web une priorité pour 2018 - Petit dé...Améliorer les performances de vos sites web une priorité pour 2018 - Petit dé...
Améliorer les performances de vos sites web une priorité pour 2018 - Petit dé...
 
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...
 
Responsive WebDesign performant
Responsive WebDesign performantResponsive WebDesign performant
Responsive WebDesign performant
 
Comment Rue Du Commerce est devenu le site e-commerce le plus rapide de France ?
Comment Rue Du Commerce est devenu le site e-commerce le plus rapide de France ?Comment Rue Du Commerce est devenu le site e-commerce le plus rapide de France ?
Comment Rue Du Commerce est devenu le site e-commerce le plus rapide de France ?
 
Webperf Front-End SeoCampus 2012
Webperf Front-End SeoCampus 2012Webperf Front-End SeoCampus 2012
Webperf Front-End SeoCampus 2012
 
Drupagora 2012 Optimisation performances Drupal
Drupagora 2012 Optimisation performances DrupalDrupagora 2012 Optimisation performances Drupal
Drupagora 2012 Optimisation performances Drupal
 
Pensez Web-Performances avec WordPress - Une conférence de Julien Oger et Pie...
Pensez Web-Performances avec WordPress - Une conférence de Julien Oger et Pie...Pensez Web-Performances avec WordPress - Une conférence de Julien Oger et Pie...
Pensez Web-Performances avec WordPress - Une conférence de Julien Oger et Pie...
 
Initiation Webperf : Comprendre, analyser et optimiser les performances web F...
Initiation Webperf : Comprendre, analyser et optimiser les performances web F...Initiation Webperf : Comprendre, analyser et optimiser les performances web F...
Initiation Webperf : Comprendre, analyser et optimiser les performances web F...
 
Le SEO JavaScript démystifié
Le SEO JavaScript démystifiéLe SEO JavaScript démystifié
Le SEO JavaScript démystifié
 
Conférence AFUP 20minutes.Fr
Conférence AFUP 20minutes.FrConférence AFUP 20minutes.Fr
Conférence AFUP 20minutes.Fr
 
LoadTime & SEO - Erlé Alberton
LoadTime & SEO - Erlé AlbertonLoadTime & SEO - Erlé Alberton
LoadTime & SEO - Erlé Alberton
 
We❤️SEO 2019 : WebPerf et SEO
We❤️SEO 2019 : WebPerf et SEOWe❤️SEO 2019 : WebPerf et SEO
We❤️SEO 2019 : WebPerf et SEO
 
HTTP2 : ce qui va changer par Julien Landuré
HTTP2 : ce qui va changer par Julien LanduréHTTP2 : ce qui va changer par Julien Landuré
HTTP2 : ce qui va changer par Julien Landuré
 
Performances
PerformancesPerformances
Performances
 
Optimisation des performances d'un site web
Optimisation des performances d'un site webOptimisation des performances d'un site web
Optimisation des performances d'un site web
 
Kiwiparty 2011 - Optimisation des sites internet
Kiwiparty 2011 - Optimisation des sites internetKiwiparty 2011 - Optimisation des sites internet
Kiwiparty 2011 - Optimisation des sites internet
 
HTML5... La révolution maintenant!
HTML5... La révolution maintenant!HTML5... La révolution maintenant!
HTML5... La révolution maintenant!
 

Talk performance web

  • 1. + Performance WEB Mettez vos sites sur orbite
  • 2. + Emmanuel QUENTIN Architecte logiciel – Nurun Développeur certifié PHP & Magento @HereIComeSlowly
  • 3. + Running faster
  • 4. + Pourquoi ?  Taux de conversion  Un acheteur n’aime pas attendre  Amazon : Perte d’1% du C.A. toutes les 100ms  2/5 visiteurs abandonnent leur panier si chargement > 3s  Référencement  Pris en compte par Google (officiel)  30% de poids en moins : 30% de trafic en plus  Augmentation de la note affectée à AdWords
  • 5. + Pourquoi ?  Taux de rebond  500ms de chargement : 20% de recherche en moins chez Google  Economie de bande passante  Montée en charge facilitée
  • 6. + Waterfall Début du rendu, fin de la page blanche
  • 7. + Waterfall  Le frontend et le réseau représentent 90% du boulot  Le téléchargement dépend de  Recherche DNS (~20/100ms)  Connexion TCP  Téléchargement du contenu  Le Javascript bloque les autres téléchargements (le relou)  Les navigateurs limitent les téléchargements en parallèle par domaine (les relous)
  • 8. + Les solutions côté frontend !  DNS prefetching  <link rel="dns-prefetch" href="//assets.foo.com"> # Sauf IE < 10  Déporter l’inclusion des Javascripts à la fin du <body>  Rendre asynchrone le chargement des plugins sociaux  Mettre en place des domaines spécifiques (ou CDN) pour augmenter le chargement en parallèle
  • 9. + Les solutions côté frontend !  Diminuer le temps de chargement et le nombre de requêtes HTTP  Concatener et minifier les JS/CSS  Utiliser les sprites pour les images  Outil d’optimisation d’image (Pngcrush)  CDN géolocalisé (réduit la latence)
  • 10. + Réduire le reflow  Quand ?  Redimensionnement fenêtre  Changement taille police  Changement contenu  Pseudo classe ( :hover )  Changement de style en JS
  • 11. + Réduire le reflow  Comment ?  Diminuer la profondeur du DOM  Supprimer les règles CSS inutiles  Simplifier les règles CSS  Spécifier les dimensions des images
  • 12. + Autour du backend  Caching HTTP  Header Expires  Header ETag (entity tag)  Caching applicatif  Fichier, Memcache, Redis  Cache d’opcode (PHP) : APC, Zend Optimiser (surement dans PHP 5.5)  Reverse Proxy  Varnish, Nginx, Squid
  • 13. + Autour du backend  Serveur WEB  Compression gzip (mod_deflate d’Apache)  Module d’expiration (mod_expire d’Apache)  Base de donnnées  Index  Optimisation des requêtes (EXPLAIN, Last_query_cost)  Table temporaire, dénormalisation
  • 14. + Autour du backend  Prévoir ses applications de façon scalables  Master/slave MySQL – NoSQL  Queue de message (AMQP) : RabbitMQ, ZeroMQ, ZendQueue  CRON  Appels I/O asynchrones (NodeJS)
  • 15. + Outils  Google page speed (module Chrome / Firefox)  Yslow (module Chrome / Firefox)  Web page test ( webpagetest.org )
  • 16. +