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.