• Aucun résultat trouvé

SPIP. Gestion de la performance dans SPIP. Préoccupa)on historique

N/A
N/A
Protected

Academic year: 2022

Partager "SPIP. Gestion de la performance dans SPIP. Préoccupa)on historique"

Copied!
17
0
0

Texte intégral

(1)

•   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  

SPIP

(2)

PERFORMANCE CÔTÉ SERVEUR

(3)

•   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  

2 NIVEAUX DE CACHE

(4)

•   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  

2 NIVEAUX DE CACHE

(5)

•   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  

C ACHES SESSIONNÉS

(6)

•   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  

C ALCUL ASYNC . DU CACHE ( PLUGIN )

(7)

•   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)  

C ACHE STATIQUE ( PLUGIN )

(8)

•   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)  

M EMOIZATION ( PLUGIN )

(9)

•   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  

R EVERSE P ROXY (V ARNISH + PLUGIN )

(10)

WEB-PERFORMANCE

(OU PERFORMANCE CÔTÉ

CLIENT)

(11)

•   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  

B ONNES PRATIQUES

(12)

•   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  

M INIFIEUR HTML

(13)

•   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é  

T RAITEMENT AUTOMATISÉ DES IMAGES

(14)

•   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  

M INIFIEUR + CONCATENEUR CSS

(15)

•   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  

M INIFIEUR + CONCATENEUR JS

(16)

•   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  

W EB P ERF AVEC LES PLUGINS

(17)

•   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  

W EB P ERF AVEC LES PLUGINS

Références

Documents relatifs

Il faut donc commencer par bloquer toutes les syndications que vous importer sur votre site SAUF celle du site que vous voulez importer.. Il faut ensuite s'assurer que sur le site

[1] [2] Ils peuvent se trouver à différent endroits dans l'arborescence de répertoire et de fichiers qui constituent votre site spip : /dist (les squelettes par défaut installé à

[r]

Événements du mois 280px 120px si fond blanc, tracez un cadre noir autour Sites coup de cœur 280px 100px ne rajoutez pas de cadre, c’est automatique Analyse de produit max. 300px

Spip et sa prise en main – Bruno Blanchet – CPD TICE 79 – février 2008 Enregistrer ensuite votre article pour obtenir l’écran suivant :. Attention : vous pouvez modifié

Parmi les caractéristiques reconnues pour choisir une solution de publication sur Internet adaptée à vos besoins, Spip vous offre son multilinguisme, tant dans

les CMS payants (et souvent très chers), très sophistiqués tels que : Documentum, Vignette, Interwoven, Tridion qui sont utilisés dans les organisations pour construire de

Site SPIP : www.biotechno.fr Publications RSS :. http://www.biotechno.fr/spip.php?page=backend