référence : http://performance.survol.fr/ , http://httpd.apache.org/docs/2.2/mod/mod_expires.html tips (conf) : https://we.riseup.net/debian/apache-mongrel-rails Lors de la mise au point d'une application web, deux outils peuvent être particulièrement utiles : - firebug (et son complément firecookie) - yslow Ces deux outils se présentent sous la forme d'extension pour firefox. Ils permettent, entre autre, de suivre précisément les contenus des requêtes http et de leur réponse, leur taille et leur vitesse. Yslow permet de diagnostiquer point par point quelques facteurs d'amélioration. La compressionPour que le serveur puisse répondre efficacement aux demandes d'un browser qui émettrait dans son en-tête un : Accept-Encodinggzip,deflate il faut installer le module deflate sur Apache 2 et l'enrichir un peu de quelques types (javascript, css) : sudo a2enmod deflate Maintenant les réponses sont compressées si le browser l'accepte. On réduit par exemple ainsi la taille de la librairie prototype de 126 Ko à 29 Ko ! Le cacheréférence : http://httpd.apache.org/docs/2.2/fr/caching.htmlL'idée est double : - pour les ressources qui ne changent quasiment jamais (images, par exemple) : créer des délais d'expiration très longs afin que chaque browser conserve une copie de la ressource localement sans jamais la recharger. Si la ressource doit changer, on préfèrera changer son identifiant, donc utiliser une nouvelle URL. Utilisation du mod_expires : http://httpd.apache.org/docs/2.2/mod/mod_expires.html - pour les pages qui peuvent être modifiée dynamiquement (mais on ne sait pas à quelle fréquence) : utiliser des Entity Tags (ETTags), afin que les requêtes GET reçoivent le cas échéant un 304 not-modified plutôt que de télécharger toute la page, si elle n'a pas été modifiée. La requête contiendra alors dans son header un If-None-Match avec la dernière valeur du ETTag reçu pour la ressource si elle est déjà dans le cache. Configuration du cache ref : http://httpd.apache.org/docs/2.2/fr/mod/mod_cache.html http://httpd.apache.org/docs/2.2/fr/mod/mod_mem_cache.html Le mode cache d'Apache nécessite au moins un module de gestion du stockage (mémoire ou disque, ou les deux). On ne s'intéresse ici qu'à la gestion du stockage en mémoire. sudo a2enmod cache Configuration de ETTag ref : http://httpd.apache.org/docs/2.2/mod/core.html#fileetag Par exemple, dans le virtual host, ou dans le descripteur du répertoire de l'appli dans la conf Apache : <VirtualHost 10.230.1.3:80> |