Comprendre F5 · LTM

F5 : cache Web Acceleration et compression HTTP

Distinguer contenu réutilisable et contenu compressible, relire Cache-Control et Vary et mesurer les effets sur CPU et mémoire.

Thomas SAUTIER · Publié le · Révisions de certification

Références et objectifs de certification (2)
  • Certification : F5 301A · Référence consultée le · Objectifs abordés : F5 301A 1.02, F5 301A 1.04.
  • Certification : F5 301B · Référence consultée le · Objectifs abordés : F5 301B 1.01, F5 301B 3.03.

Ce guide concerne BIG-IP sur TMOS. Vérifiez les noms et les options dans la documentation de votre version.

Comprendre en imageCache et compression répondent à deux objectifs
Cache et compression répondent à deux objectifs Un objet admissible présent dans le cache peut éviter un nouvel accès au serveur. La compression réduit la taille d’une réponse compatible, au prix d’un traitement. Le cache et la compression ne rendent pas toutes les réponses admissibles. absence hit valide Objets, conditions et comparaisons du guide Requête URI et variante Cache valide ? Objet valide disponible Serveur Sur absence de cache Réponse au client Taille transmise Compression Si négociée et utile Réponse backend Contenu et en-têtes Deux économies différentes La compression réduit la taille transférée d’uncontenu approprié. Le cache conserve uneréponse pour la servir de nouveau lorsqu’elle estéligible. Une réponse peut être compressible sansêtre réutilisable entre utilisateurs, ou êtreréutilisable sans bénéficier de compression. Le cache doit respecter la variante deréponse Le profil Web Acceleration contient lesparamètres de cache. Les tailles, critères d’URI etcomportements sur les directives déterminent cequi peut être stocké. Un objet public statique etune page contenant une session utilisateur n’ontpas la même politique.

Un objet admissible présent dans le cache peut éviter un nouvel accès au serveur. La compression réduit la taille d’une réponse compatible, au prix d’un traitement. Le cache et la compression ne rendent pas toutes les réponses admissibles.

Télécharger le schéma en SVG · version claire

Deux économies différentes

La compression réduit la taille transférée d’un contenu approprié. Le cache conserve une réponse pour la servir de nouveau lorsqu’elle est éligible. Une réponse peut être compressible sans être réutilisable entre utilisateurs, ou être réutilisable sans bénéficier de compression.

Ne choisissez pas ces fonctions d’après la seule extension de fichier. Définissez le type de contenu, la personnalisation, les variations de réponse et les directives applicatives.

Sources : F5, Services Profiles.

Le cache doit respecter la variante de réponse

Le profil Web Acceleration contient les paramètres de cache. Les tailles, critères d’URI et comportements sur les directives déterminent ce qui peut être stocké. Un objet public statique et une page contenant une session utilisateur n’ont pas la même politique.

Avant de mettre en cache une application, examinez Cache-Control, les cookies et les variations d’en-têtes. Une configuration qui ignore des directives doit être intentionnelle et justifiée. Une augmentation du taux de cache ne constitue pas un succès si elle mélange des réponses personnalisées.

Sources : F5, ltm profile web-acceleration.

Compresser ce qui apporte un gain mesuré

Le profil HTTP Compression définit notamment les types de contenu et les URI concernés. Un document texte peut avoir un gain différent d’une image déjà compressée. Les paramètres adaptatifs et les ressources CPU doivent être examinés dans la version utilisée.

Vary aide les caches à distinguer les représentations selon les en-têtes de négociation, notamment Accept-Encoding. Un proxy qui produit plusieurs encodages doit maintenir cette cohérence ; vérifier seulement la présence de Content-Encoding ne suffit pas.

Sources : F5, ltm profile http-compression ; F5, Services Profiles.

Une réservation n’est pas de la mémoire gratuite

Les profils et les connexions consomment des ressources sur l’équipement. Multiplier les réservations de cache ou modifier des buffers peut concurrencer d’autres usages. Comparez la configuration avec la mémoire réellement disponible pour les modules et TMM.

Dans un exemple de mesure, un objet passe de 120 kB à 36 kB : le volume baisse de 84 kB, soit 70 %. Cette différence ne prouve pas une baisse de 70 % du temps de chargement ; latence, CPU et autres objets interviennent encore.

Sources : F5, sys memory ; F5, sys provision.

Identifier les profils actifs

Affichez les profils du VS, puis les réglages réels des profils personnalisés. Relevez taille du cache, exclusions et comportement de compression. Vérifiez également si une iRule transforme le corps, car une transformation et une compression doivent être analysées ensemble.

Lire les fonctions d’accélérationShell · commandes de lecture
tmsh list ltm virtual /Common/vs_application all-properties
tmsh list ltm profile web-acceleration /Common/cache_application all-properties
tmsh list ltm profile http-compression /Common/compression_application all-properties
tmsh show sys memory

Sources : F5, ltm profile web-acceleration ; F5, ltm profile http-compression.

Une expérience utile en laboratoire

Comparez une ressource publique répétée, une réponse personnalisée et un objet déjà compressé. Relevez statut HTTP, Cache-Control, Vary, Content-Encoding, volume transmis, latence et ressources. Un cache « chaud » ne doit pas être comparé à un cache « froid » sans le signaler dans vos mesures.

Sources : Projet curl, curl man page.

Sources et portée

Les dates de consultation et les versions applicables sont précisées pour chaque référence ci-dessous. Les exemples utilisent des noms et adresses de documentation à remplacer. Les commandes de lecture affichent l’existant ; les captures et requêtes de diagnostic sont à limiter au périmètre autorisé.

Retrouver le parcours de lecture F5 LTM

Continuer la série F5

Explorer tous les guides du parcours F5 LTM

Découvrir l’expertise F5 de Samhan

Échange

Besoin d’éclaircir votre architecture F5 ?

Échangeons sur vos flux, vos contraintes de disponibilité et vos services applicatifs.