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 :
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".
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.
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 ...
mod deflate
AddOutputFilterByType DEFLATE text/html text/css text/javascript application/x-javascript application/javascript |
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.