Serveur Apache HTTP Version 2.4

| Description: | Mise en cache m�moire d'une liste statique de fichiers | 
|---|---|
| Statut: | Exp�rimental | 
| Identificateur�de�Module: | file_cache_module | 
| Fichier�Source: | mod_file_cache.c | 
mod_file_cache peut facilement conduire � la
      cr�ation d'un site inop�rant.
    La mise en cache de fichiers souvent demand�s mais rarement
    modifi�s est une technique permettant de r�duire la charge du
    serveur. mod_file_cache met en oeuvre deux
    techniques de mise en cache de fichiers statiques
    fr�quemment demand�s. Des directives de configuration vous
    permettent d'indiquer � mod_file_cache soit
    d'ouvrir et de charger une image en m�moire d'un fichier avec
    mmap(), soit de pr�ouvrir un fichier et de maintenir en
    service le gestionnaire du fichier. Les deux techniques
    permettent de r�duire la charge du serveur lors du traitement des
    requ�tes concernant ces fichiers, en accomplissant une partie du
    travail n�cessaire � la mise � disposition de ces fichiers (en
    particulier les op�rations d'entr�es/sorties sur les fichiers) au
    d�marrage du serveur, plut�t qu'au cours de chaque requ�te.
Note : ces techniques sont inutilisables pour acc�l�rer des programmes CGI ou d'autres fichiers servis par des gestionnaires de contenu sp�ciaux. Elles ne peuvent �tre utilis�es que pour des fichiers standards, normalement servis par le gestionnaire de contenu de base d'Apache.
Ce module est une extension du module
    d'Apache 1.3 mod_mmap_staticet s'en inspire
    fortement .
mod_file_cache g�re la mise en cache d'une liste
    de fichiers d�finie de mani�re statique via une des directives
    MMapFile ou
    CacheFile au niveau
    de la configuration du serveur principal.
Les deux directives ne sont pas support�es par toutes les
    plates-formes. Par exemple, Apache pour Windows ne supporte pas
    actuellement la directive MMapFile, alors que d'autres
    plates-formes, comme AIX, supportent les deux. Vous recevrez un
    message d'erreur dans le journal des erreurs du serveur si vous
    essayez d'utiliser une directive non support�e. Si vous utilisez une
    directive non support�e, le serveur d�marrera, mais les fichiers ne
    seront pas mis en cache. Sur les plates-formes qui supportent les
    deux directives, vous devez faire des essais afin de d�terminer
    quelle directive vous convient le mieux.
La directive MMapFile du module
      mod_file_cache permet de transf�rer en m�moire
      une liste statique de fichiers � l'aide de l'appel syst�me
      mmap(). Cet appel syst�me est disponible sur la
      plupart des plates-formes de style Unix, mais pas sur toutes. Il
      existe parfois des limites sp�cifiques au syst�me quant � la
      taille et au nombre de fichiers qui peuvent �tre
      mmap()�s, et l'exp�rimentation est probablement la
      m�thode la plus simple pour d�terminer ces limites.
Ce mmap()age n'est effectu� qu'une seul fois au
      d�marrage ou red�marrage du serveur. Ainsi, chaque fois qu'un des
      fichiers charg�s en m�moire est modifi� au niveau du syst�me de
      fichiers, vous devez red�marrer le serveur (voir la
      documentation sur l'Arr�t et red�marrage). Pour bien
      insister sur ce point, si des fichiers sont modifi�s sur
      disque, et si vous ne red�marrez pas le serveur, vous allez
      finir par servir des contenus compl�tement obsol�tes. Vous devez
      mettre � jour les fichiers en renommant l'ancienne version et en
      enregistrant la nouvelle sur disque. Pour y parvenir, on peut
      utiliser des outils comme rdist et mv.
      La raison pour laquelle ce module ne prend pas en compte les
      modifications de fichiers r�side dans le fait que cette
      v�rification n�cessiterait un appel � stat() � chaque
      acc�s, et en fin de compte, l'augmentation de la consommation de
      ressources finirait par aller contre le but initial de
      r�duire les entr�es/sorties.
La directive CacheFile du module
      mod_file_cache permet d'associer un
      gestionnaire ou descripteur de fichier � chaque
      fichier �num�r� dans la directive de configuration et place ces
      gestionnaires de fichiers ouverts dans le cache. Lorsqu'un des
      fichier est demand�, le serveur s�lectionne son gestionnaire dans
      le cache et le transmet � l'API sendfile() (ou
      TransmitFile() sous Windows).
Cette mise en cache des gestionnaire n'est effectu�e qu'une
      seule fois au d�marrage ou red�marrage du syst�me. Ainsi, chaque
      fois qu'un des fichiers charg�s en m�moire est modifi� au niveau
      du syst�me de fichiers, vous devez red�marrer le serveur
      (voir la documentation sur l'Arr�t et red�marrage).
      Pour bien
      insister sur ce point, si des fichiers sont modifi�s sur
      disque, et si vous ne red�marrez pas le serveur, vous allez
      finir par servir des contenus compl�tement obsol�tes. Vous devez
      mettre � jour les fichiers en renommant l'ancienne version et en
      enregistrant la nouvelle sur disque. Pour y parvenir, on peut
      utiliser des outils comme rdist et
      mv.
Ne cherchez pas � trouver de directive qui met tous les
      fichiers d'un r�pertoire en cache, de mani�re r�cursive. Pour y
      parvenir, vous pouvez vous reporter � la directive Include directive, et consid�rer cette
      commande :
        find /www/htdocs -type f -print \
        | sed -e 's/.*/mmapfile &/' > /www/conf/mmap.conf
      
| Description: | Met en cache une liste de gestionnaires de fichiers au d�marrage | 
|---|---|
| Syntaxe: | CacheFile chemin fichier [chemin fichier] ... | 
| Contexte: | configuration du serveur | 
| Statut: | Exp�rimental | 
| Module: | mod_file_cache | 
La directive CacheFile permet d'associer
    des gestionnaires � un ou plusieurs fichiers (s�par�s par des
    espaces), et de placer ceux-ci dans le cache au d�marrage du
    serveur. Les gestionnaires des fichiers mis en cache sont
    automatiquement ferm�s � l'arr�t du serveur. Lorsqu'un ou plusieurs
    fichiers ont �t� modifi�s sur disque, le serveur doit �tre red�marr�
    afin que les modifications soient prises en compte par le cache.
Soyez prudent avec les arguments chemin fichier : ils
    doivent correspondre exactement au chemin du syst�me de fichier que
    cr�ent les gestionnaires de traduction URL-vers-nom-fichier
    d'Apache. On ne peut pas comparer des inodes ou autres identifiants
    pour mettre en correspondance des chemins � l'aide de liens
    symboliques (etc...), car l� encore, ceci n�cessiterait un
    appel � stat() suppl�mentaire, ce qui n'est pas acceptable.
    Il n'est pas garanti que ce module fonctionne avec des noms de
    fichiers r��crits par mod_alias ou
    mod_rewrite.
CacheFile /usr/local/apache/htdocs/index.html
| Description: | Charge au d�marrage une liste de fichiers en m�moire | 
|---|---|
| Syntaxe: | MMapFile chemin fichier [chemin fichier] ... | 
| Contexte: | configuration du serveur | 
| Statut: | Exp�rimental | 
| Module: | mod_file_cache | 
La directive MMapFile permet de charger un
    ou plusieurs fichiers (s�par�s par des espaces) en m�moire au
    d�marrage du serveur. Ceux-ci sont automatiquement d�charg�s de la
    m�moire � l'arr�t du serveur. Lorsqu'un ou plusieurs fichiers ont
    �t� modifi�s sur disque, on doit au minimum envoyer un signal
    HUP ou USR1 au serveur afin de les
    remmap()er.
Soyez prudent avec les arguments chemin fichier : ils
    doivent correspondre exactement au chemin du syst�me de fichier que
    cr�ent les gestionnaires de traduction URL-vers-nom-fichier
    d'Apache. On ne peut pas comparer des inodes ou autres identifiants
    pour mettre en correspondance des chemins � l'aide de liens
    symboliques (etc...), car l� encore, ceci n�cessiterait un
    appel � stat() suppl�mentaire, ce qui n'est pas
    acceptable.
    Il n'est pas garanti que ce module fonctionne avec des noms de
    fichiers r��crits par mod_alias ou
    mod_rewrite.
MMapFile /usr/local/apache/htdocs/index.html