Comprendre F5 BIG-IP

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érence de F5 301A consultée le · Objectifs abordés : F5 301A 1.02, F5 301A 1.04.
  • Référence de F5 301B consultée le · Objectifs abordés : F5 301B 1.01, F5 301B 3.03.

Ce guide concerne BIG-IP sur TMOS. Les noms et options doivent être confrontés à la documentation de votre version.

Repère visuelCache 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 01 Requête URI et variante 02 Cache admissible ? Objet valide disponible 03 Serveur Sur absence de cache 04 Réponse au client Taille transmise 05 Compression Si négociée et utile 06 Réponse backend Contenu et en-têtes
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.

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

Références consultées le . 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 votre configuration BIG-IP.