Maison  >  Article  >  Opération et maintenance  >  Quels sont les modules de cache du serveur Apache ?

Quels sont les modules de cache du serveur Apache ?

(*-*)浩
(*-*)浩original
2019-11-28 14:46:203002parcourir

Quels sont les modules de cache du serveur Apache ?

Cache du serveur Apache

Principe de fonctionnement du cache du serveur Apache (apprentissage recommandé :Serveur Apache )

Quels sont les modules de cache du serveur Apache ?

Ce qui précède est un organigramme simple :

L'utilisateur 1 visite la page A , le serveur analyse la page A et la renvoie à l'utilisateur 1. En même temps, il effectue un certain mappage sur la mémoire du serveur et met en cache la page A sur le disque dur

L'utilisateur 2 accède à la page A, et le serveur trouve directement le cache de page correspondant en fonction du mappage sur la mémoire, directement renvoyé à l'utilisateur 2, réduisant ainsi l'analyse répétée par le serveur de la même page.

La différence entre le cache du serveur et le cache du navigateur :

Le cache du serveur met en cache les pages sur le disque dur du serveur, tandis que le cache du navigateur met en cache les pages de l'utilisateur dans le vôtre ordinateur.

Activer le module mod_file_cache pour mettre en cache les fichiers statiques

L'action d'ouvrir un fichier lui-même est une cause de retard, en particulier l'ouverture de fichiers dans les systèmes de fichiers réseau.

Apache peut éviter ce délai en maintenant un tampon de descripteurs de fichiers pour les fichiers très utilisés. Les fichiers rarement modifiés et fréquemment demandés sont mis en cache afin de réduire la charge du serveur.

mod_file_cache propose deux techniques pour mettre en cache les fichiers statiques fréquemment demandés.

CacheFile existe dans Apache. La méthode de mise en mémoire tampon la plus basique est la mise en mémoire tampon de descripteurs de fichiers implémentée par mod_file_cache. Plutôt que de mettre en cache le contenu du fichier lui-même, ce tampon maintient une table de descripteurs de fichiers ouverts qui contiennent les descripteurs de fichiers spécifiés à l'aide de la directive CacheFile dans le fichier de configuration. La directive

CacheFile demande à Apache d'ouvrir un fichier au démarrage et de réutiliser le descripteur de fichier pour tous les accès ultérieurs au fichier.

//Example CacheFile/usr/local/apache2/htdocs/index.html

Si vous envisagez d'utiliser cette méthode pour mettre en cache un grand nombre de descripteurs de fichiers, vous devez vous assurer que le Le système d'exploitation ne met pas en cache un grand nombre de descripteurs de fichiers ouverts en même temps. La limite du nombre de fichiers est suffisante.

Bien que l'utilisation de CacheFile n'entraîne pas la mise en cache du contenu du fichier, toutes les modifications apportées au fichier ne prendront pas effet pendant l'exécution d'Apache. Le contenu des fichiers utilisés pour le service restera inchangé depuis le démarrage d'Apache. Si le fichier est supprimé pendant l'exécution d'Apache,

activez le module mod_cache pour mettre en cache les fichiers dynamiques

mod_cache dispose de deux modules de gestion du stockage :

mod_disk_cache, un module de gestion du stockage sur disque.

mod_mem_cache, un module de gestion du stockage basé sur la mémoire.

mod_mem_cache peut être configuré pour deux modes de fonctionnement différents : ① mettre en cache les descripteurs de fichiers ouverts ; ② mettre en cache les objets sur le tas.

mod_mem_cache peut être utilisé à la fois pour mettre en cache le contenu généré localement et pour mettre en cache le contenu généré par le serveur backend pour mod_proxy en mode proxy inverse (voir ProxyPass).

mod_mem_cache : un cache basé sur la mémoire qui sert le contenu directement à partir de la mémoire du système est généralement le moyen le plus rapide de servir du contenu. La lecture de fichiers à partir d’un contrôleur de disque, ou pire, à partir d’un réseau distant, est beaucoup plus lente.

Les contrôleurs de disque impliquent généralement des actions physiques, l'accès au réseau est limité par la bande passante du réseau et l'accès à la mémoire ne prend généralement que quelques nanosecondes. La mémoire est peut-être la mémoire par octet disponible la plus chère, et il est important de veiller à ce qu’elle soit utilisée à son plein potentiel.

La mise en cache des fichiers en mémoire entraînera une réduction de la mémoire système disponible. Comme nous le verrons, ce n'est pas un gros problème en présence de tampons mémoire pour le système d'exploitation.

Mais lorsque vous utilisez le propre tampon mémoire d'Apache, il est important de s'assurer qu'une trop grande quantité de mémoire n'est pas allouée au tampon. Sinon, le système d'exploitation utilisera le swap (mémoire virtuelle/zone de swap), ce qui peut entraîner une forte diminution des performances. Le système d'exploitation met en cache presque toutes les opérations modernes

Le cache de contenu du serveur Apache

Depuis Apache 2.2, deux modules de mise en cache sont officiellement utilisés : mod_cache et mod_file_cache. Ces systèmes de mise en mémoire tampon constituent un moyen puissant d'accélérer le traitement HTTP sur les serveurs Web d'origine et les serveurs proxy.

Le manuel officiel explique la différence entre mod_cache et mod_file_cache : L'implémentation du cache mod_cache repose sur deux modules mod_mem_cache et mod_disk_cache, qui fournissent une mise en mémoire tampon HTTP intelligente.

Le contenu lui-même est stocké dans le tampon, et le but de mod_cache est de gérer divers en-têtes et options HTTP qui contrôlent les capacités de mise en mémoire tampon du contenu. Il peut gérer à la fois le contenu local et le contenu proxy.

mod_cache est conçu pour cibler les configurations de cache simples et complexes pour gérer le contenu proxy, le contenu local dynamique et les fichiers locaux qui changent au fil du temps et où l'accès doit être accéléré.

Lisez comment activer le module mod_cache. mod_file_cache implémente une forme de mise en cache plus basique, mais dans certains cas plus efficace, qui évite la complexité de maintenance requise pour garantir de manière proactive les capacités de mise en cache des URL en fournissant des poignées de fichiers et des mappages de mémoire pour maintenir un tampon de fichier. depuis le dernier démarrage d'Apache.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn