0
SPIP•  Gestion de la performance dans SPIP  – Préoccupa)on	  historique	       •  Intrinsèquement	  lié	  aux	  objec)fs	 ...
PERFORMANCE CÔTÉ SERVEUR
2 NIVEAUX DE CACHE•  Cache des squelettes (templates)   compilés  – SqueleEes	  compilés	  et	  stockés	  en	  PHP	    – B...
2 NIVEAUX DE CACHE•  Cache des pages servies  – Produit	  à	  par)r	  du	  squeleEe	  compilé	  et	  des	      données	  S...
CACHES SESSIONNÉS•  Gestion native des caches par session  – Possibilité	  de	  dis)nguer	  le	  cache	  par	  un	  marque...
CALCUL ASYNC. DU CACHE (PLUGIN)•  Ne pas faire attendre un visiteur lorsque le   cache n’est pas « à jour »  – Lui	  envoy...
CACHE STATIQUE (PLUGIN)•  Cache statique HTML (3ème niveau de   cache)  – Plugins	  FastCache	  (hEp://plugins.spip.net/  ...
MEMOIZATION (PLUGIN)•  Mémoization  – Stockage	  en	  mémoire	  de	  résultats	  de	  tâche	      répé))ves	    – U)lise	 ...
REVERSE PROXY (VARNISH+PLUGIN)•  Un plugin SPIP  – Permet	  de	  définir	  des	  règles	  d’invalida)on	  Varnish	      dan...
WEB-PERFORMANCE(OU PERFORMANCE CÔTÉ        CLIENT)
BONNES PRATIQUES•  SPIP intègre nativement les bonnes   pratiques WebPerf générales et   applicables sans compétences spéc...
MINIFIEUR HTML•  Fonctionnalité native, activable par   configuration dans le back-office  – Peut-­‐être	  u)lisé	  en	  c...
TRAITEMENT AUTOMATISÉ DES IMAGES•  Les images contribuées par les rédacteurs   participent des problèmes de Webperf  – Les...
MINIFIEUR+CONCATENEUR CSS•  Fonctionnalité native, activable par   configuration dans le back-office  – 2	  minifieurs	  CS...
MINIFIEUR+CONCATENEUR JS•  Fonctionnalité native, activable par   configuration dans le back-office  – Minifieur	  JS	  int...
WEBPERF AVEC LES PLUGINS•  La fabrication des pages par morceaux,   dont certains du ressort des plugins   complexifient l...
WEBPERF AVEC LES PLUGINS•  La Webperf des sites est souvent   pénalisée par l’accumulation de   fonctionnalités JS  – Play...
Upcoming SlideShare
Loading in...5
×

SPIP et la gestion de la performance

4,190

Published on

Published in: Business
1 Comment
1 Like
Statistics
Notes
  • Mises en cache, mémorisation de requêtes récurrentes, bonnes pratiques webperf... effectivement, l'optimisation de la performance requiert une approche large. Pensez également, avant, pendant et après ces opérations, à réaliser des tests de charge : pour une mesure fiable de la performance, l'idéal est de réaliser cette mesure en simulant des conditions d'affluence importante.
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
No Downloads
Views
Total Views
4,190
On Slideshare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
13
Comments
1
Likes
1
Embeds 0
No embeds

No notes for slide

Transcript of "SPIP et la gestion de la performance"

  1. 1. SPIP•  Gestion de la performance dans SPIP – Préoccupa)on  historique   •  Intrinsèquement  lié  aux  objec)fs  du  projet   (indépendance  des  u)lisateurs  /  prestas  techniques)   •  par  la  typologie  majoritaire  des  u)lisateurs   Associa)ons  à  budgets  contraints,  hébergement  bas   coût,  pas  d’exper)se  pour  meEre  en  place  des  solu)ons   sur  mesure  
  2. 2. PERFORMANCE CÔTÉ SERVEUR
  3. 3. 2 NIVEAUX DE CACHE•  Cache des squelettes (templates) compilés – SqueleEes  compilés  et  stockés  en  PHP   – BOUCLE  traduites  en  requêtes  SQL  incluant  un   certain  nombre  d’op)misa)ons  automa)ques  
  4. 4. 2 NIVEAUX DE CACHE•  Cache des pages servies – Produit  à  par)r  du  squeleEe  compilé  et  des   données  SQL   – Stockées  sous  forme  PHP  car  peuvent  contenir  des   éléments  dynamiques  (formulaire)  et  des   inclusions  :   •  Cache  par  morceaux  de  page  et  non  par  page   •  Permet  des  mises  à  jour  par)elles   – SPIP  na)vement  peu  gourmand  en  ressources  SQL  
  5. 5. CACHES SESSIONNÉS•  Gestion native des caches par session – Possibilité  de  dis)nguer  le  cache  par  un  marqueur   de  session   – Permet  de  définir  la  granularité    du  cache  :   •  Niveau  «  u)lisateur  »  si  besoin  (un  u)lisateur=un   cache)   •  Possible  par  groupe  d’u)lisateur  aussi   – Granularité  par  page   •  Pages  avec  cache  niveau  session   •  Pages  avec  cache  commun  à  tous  les  visiteurs  
  6. 6. CALCUL ASYNC. DU CACHE (PLUGIN)•  Ne pas faire attendre un visiteur lorsque le cache n’est pas « à jour » – Lui  envoyer  le  cache  disponible  (froid)   – Lancer  la  mise  à  jour  de  la  page  en  tâche  de  fond   par  un  calcul  asynchrone   – Améliore  significa)vement  l’expérience  u)lisateur   – Plugin  cache-­‐cool  hEp://plugins.spip.net/ cache_cool  
  7. 7. CACHE STATIQUE (PLUGIN)•  Cache statique HTML (3ème niveau de cache) – Plugins  FastCache  (hEp://plugins.spip.net/ fastcache)  ou  Expresso   – Nécessite  une  exper)se  plus  importante   (défini)on  des  règles  d’invalida)on  dans  les   squeleEes)  
  8. 8. MEMOIZATION (PLUGIN)•  Mémoization – Stockage  en  mémoire  de  résultats  de  tâche   répé))ves   – U)lise  au  choix  APC,  Xcache,  MemCache   – Permet  aussi  le  stockage  en  mémoire  du  Cache   – Nécessite  configura)on  serveur  adaptée   – Plugin  Memoiza)on  (hEp://plugins.spip.net/ memoiza)on)  
  9. 9. REVERSE PROXY (VARNISH+PLUGIN)•  Un plugin SPIP – Permet  de  définir  des  règles  d’invalida)on  Varnish   dans  les  squeleEes   – Gère  la  purge  du  cache  Varnish  synchro  sur   demande  dans  le  back-­‐office   – Propose  une  configura)on  type  de  Varnish  qui   prend  en  compte  les  spécifictés  de  SPIP  (pas  de   cache  sur  le  backoffice,  sur  les  opéra)ons   techniques,  invalida)on  d’une  page  au  calcul   forcé…)   – hEp://zzz.rezo.net/Interfacer-­‐Varnish-­‐SPIP.html  
  10. 10. WEB-PERFORMANCE(OU PERFORMANCE CÔTÉ CLIENT)
  11. 11. BONNES PRATIQUES•  SPIP intègre nativement les bonnes pratiques WebPerf générales et applicables sans compétences spécifiques•  Toujours dans l’approche de démocratisation des techniques – htaccess  par  défaut  avec  Expires   – Balises  <img>  générées  par  les  templates   intègrent  toujours  les  width  et  height  
  12. 12. MINIFIEUR HTML•  Fonctionnalité native, activable par configuration dans le back-office – Peut-­‐être  u)lisé  en  complément  des  autres   techniques   – A  surtout  de  l’intérêt  sur  les  hébergements  bas  de   gamme  qui  n’intègrent  pas  de  compression   Apache  
  13. 13. TRAITEMENT AUTOMATISÉ DES IMAGES•  Les images contribuées par les rédacteurs participent des problèmes de Webperf – Les  rédacteurs  ont  rarement  la  préoccupa)on  de   réduire  taille  et  poids  des  images   – Les  squeleEes  de  SPIP  proposent  des  filtres  de   traitement  d’image   – PermeEent   •  La  réduc)on  automa)sée  à  une  taille  maximum   •  L’op)misa)on  automa)sée  en  format&qualité  
  14. 14. MINIFIEUR+CONCATENEUR CSS•  Fonctionnalité native, activable par configuration dans le back-office – 2  minifieurs  CSS   •  Un  minifieur  REGEXP  pour  les  CSS  simples   •  CSSTidy  basé  sur  un  parseur  CSS  pour  les  CSS  plus   complexes   – Agrège  toutes  les  CSS  du  head  en  une  seule,  en   tenant  compte  des  media  (u)lisa)on  du  @media)   – Automa)sé/mis  en  cache  sur  toutes  les  pages   •  Intervient  à  la  mise  à  jour  du  <head>  uniquement   •  produit  un  fichier  CSS  sta)que  
  15. 15. MINIFIEUR+CONCATENEUR JS•  Fonctionnalité native, activable par configuration dans le back-office – Minifieur  JS  intégré  na)vement   – U)lisa)on  du  Google  Closure  Compiler  ac)vable   en  sus  (meilleure  compression,  mais  dépendance   d’un  ou)l  )ers)   – Concaténa)on  en  un  seul  fichier   – Automa)sé/mis  en  cache  sur  toutes  les  pages   •  Intervient  à  la  mise  à  jour  du  <head>  uniquement   •  produit  un  fichier  JS  sta)que  
  16. 16. WEBPERF AVEC LES PLUGINS•  La fabrication des pages par morceaux, dont certains du ressort des plugins complexifient l’optimisation – Bonne  pra)que  du  «  JS  en  pied  de  page  »   difficilement  applicable  (sauf  en  débrayant  tous   les  automa)smes)   – Challenges  techniques  qui  nécessitent  des   réponses  innovantes   •  jQl  hEp://www.yterium.net/jQl-­‐an-­‐asynchronous-­‐ jQuery-­‐Loader  
  17. 17. WEBPERF AVEC LES PLUGINS•  La Webperf des sites est souvent pénalisée par l’accumulation de fonctionnalités JS – Players  mul)media  (vidéo,  audio),  diaporama,   gadgets  sociaux,  cartographie…   – Toujours  préférer  un  plugin  plutôt  que   l’intégra)on  manuelle   •  Le  plugin  op)mise  l’intégra)on  au  CMS   •  Il  bénéficie  d’op)misa)ons   – Mais  aussi…  Bien  choisir  ses  plugins  
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×