Pages enfant
  • Optimisation HTTP Apache

Comme dit dans la page précédente, un des nombreux intérêts à positionner un frontal devant le tomcat qui sert l'ENT, est de pouvoir procéder à des optimisations des requêtes HTTP.

Ce type d'optimisations est très classique, aussi :

  • vous pouvez les appliquer sur bon nombre de vos applications web (pas seulement l'ENT, votre CAS aussi, etc.)
  • les navigateurs (avec ou sans plugin) tels que chrome, firefox vous proposent des outils qui vous permettent d'auditer ces paramétrages
  • ces paramétrages/optimisations sont documentés abondamment sur Internet
  • ...

Nous ne donnerons donc que des indications très rapides et sommaires de ces optimisations, ce sous forme d'exemple de configurations).

L'idée ici est de vous encourager à procéder à ces optimisations. Le but étant d'accélérer la navigation de vos utilisateurs, "l'expérience utilisateur n'en sera qu'améliorée".

Cache navigateur

Via le mod expires :

 <LocationMatch "^/(uPortal/media|ResourceServingWebapp/rs|esup-lecture/media|esup-helpdesk/media)">
    ExpiresActive On
    ExpiresByType text/css "access plus 6 hours"
    ExpiresByType text/javascript "access plus 1 day"
    ExpiresByType application/javascript "access plus 1 day"
    ExpiresByType image/gif "access plus 1 day"
    ExpiresByType image/png "access plus 1 day"
    ExpiresByType image/jpg "access plus 1 day"
    ExpiresByType image/jpeg "access plus 1 day"
    ExpiresByType application/x-shockwave-flash "access plus 1 day"
    ExpiresByType image/x-icon  "access plus 1 day"
 </LocationMatch>

Notez qu'ici, et même si ce n'est pas forcément nécessaire dans le cas de l'ENT, on fait en sorte de n'appliquer ces ExpiresByType uniquement sur les fichiers statiques.

Si une image doit être dynamique (renvoyer la photo de utilisateur connecté au travers d'une url générique par exemple donc), il faut éviter la mise en cache de celle-ci.

Cache sur le frontal 

Via le mod mem_cache

Cela vous permet ici de ne solliciter que très peu vos tomcat concernant les requêtes sur des fichiers statiques de ressources (css et images associées) -> ça économise donc des threads Tomcat.

    CacheIgnoreHeaders Set-Cookie
	CacheEnable mem /uPortal/media
    CacheEnable mem /ResourceServingWebapp/rs
    CacheEnable mem /esup-lecture/media
    CacheEnable mem /esup-helpdesk/media

... à compléter suivant les portlets utilisées ...

Compression des requêtes

mod deflate

 AddOutputFilterByType DEFLATE text/html text/css text/javascript application/x-javascript application/javascript

KeepAlive

Sur certaines distributions, le KeepAliveTimeout par défaut est (était ?) de 15 (secondes) ce qui fait s'écrouler l'ENT si celui-ci est un peu chargé.

Peut permettre d'optimiser les connexions HTTP pour les clients, mais assez dangereux car gourmand en threads, c'est un paramètre à ne pas négliger.

On vous conseille de mettre une valeur de KeepAliveTimeout très faible sur vos ENT (censés servir un nombre de clients non négligeable) : 2 par exemple.

 

 

  • Aucune étiquette