<?xml version="1.0"?>
<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.de.xsl"?>
<modulesynopsis metafile="mod_file_cache.xml.meta">

<name>mod_file_cache</name>
<description>Speichert eine Reihe statischer Dateien im Arbeitsspeicher
</description>
<status>Experimentell</status>
<sourcefile>mod_file_cache.c</sourcefile>
<identifier>file_cache_module</identifier>

<summary>

    <note type="warning">
      Dieses Modul sollte mit Vorsicht benutzt werden, weil es - falsch 
verwendet -
      schnell einen Server zum Absturz bringen kann. Lesen Sie daher diese
      Dokumentation aufmerksam durch.
    </note>

    <p>Das <em>Caching</em> h&auml;ufig angeforderter Dateien, die sich
    nur selten &auml;ndern, ist ein Verfahren zur Reduzierung der Serverlast.
    <module>mod_file_cache</module> stellt zwei M&ouml;glichkeiten f&uuml;r das 
Caching
    h&auml;ufig angeforderter <em>statischer</em> Dateien zur Verf&uuml;gung. 
&Uuml;ber
    Konfigurationsdirektiven kann das Modul <module>mod_file_cache</module>
    dazu veranlasst werden, entweder eine <code>mmap()</code>-Datei zu
    &ouml;ffnen oder eine Datei vorab zu &ouml;ffnen und den 
<em>Datei-Deskriptor</em>
    der ge&ouml;ffneten Datei zu speichern. Beide Verfahren verringern die
    Serverbelastung
    bei der Verarbeitung von Anforderungen dieser Dateien dadurch, dass sie
    einen Teil der Arbeit bereits beim Serverstart &uuml;bernehmen 
(insbesondere die Dateiein- und Ausgabe).</p>

    <p>Hinweis: Mit diesem Verfahren k&ouml;nnen CGI-Programme oder
    andere Dateien, die von speziellen Content-Handlern bedient werden, nicht
    beschleunigt werden. Es kann nur f&uuml;r regul&auml;re Dateien benutzt 
werden, die
   normalerweise vom eigentlichen Apache-Content-Handler bearbeitet werden.</p>

    <p>Dieses Modul ist eine Erweiterung des Moduls 
    <code>mod_mmap_static</code> der Apache-Version 1.3 und stimmt in
    vielen Teilen mit diesem &uuml;berein.</p>
</summary>

<section id="using"><title>mod_file_cache verwenden</title>

    <p><module>mod_file_cache</module> speichert eine Liste von Dateien,
    welche mit Hilfe der Direktiven
    <directive module="mod_file_cache">MMapFile</directive> oder
    <directive module="mod_file_cache">CacheFile</directive>
    in der Server-Konfiguration definiert wird.</p>

    <p>Nicht alle Betriebssysteme unterst&uuml;tzen beide Direktiven.
    Apache f&uuml;r Windows unterst&uuml;tzt beispielsweise zur Zeit die
    <directive module="mod_file_cache">MMapStatic</directive>-Direktive
    nicht, w&auml;hrend andere Betriebssysteme wie AIX beide unterst&uuml;tzen. 
Wenn Sie
    versuchen, eine nicht unterst&uuml;tzte Direktive zu benutzen, f&uuml;hrt 
das zu einer
    Fehlermeldung in der Fehlerprotokolldatei des Servers. Bei Angabe einer
    nicht unterst&uuml;tzten Anweisung wird der Server zwar gestartet, die Datei
    kommt aber nicht in den Zwischenspeicher. Bei Betriebssystemen, die beide
    Direktiven unterst&uuml;tzen, sollten beide ausprobiert werden, um zu 
ermitteln,
    welche besser funktioniert.</p>

    <section><title>Die MMapFile-Anweisung</title>

      <p>Die <directive module="mod_file_cache">MMapFile</directive>-
      Anweisung des Moduls <module>mod_file_cache</module> bildet
      eine Liste statischer Dateien mit dem Systemaufruf
      <code>mmap()</code> im Speicher ab. Dieser Systemaufruf steht bei
      den meisten aktuellen Unix-Derivaten zur Verf&uuml;gung, aber nicht bei 
allen.
      Manchmal gibt es systembedingte Grenzen f&uuml;r die 
Dateigr&ouml;&szlig;e und Anzahl
      der Dateien, was wahrscheinlich durch einfaches Ausprobieren am 
      leichtesten festzustellen ist.</p>

      <p>Dieses Memory-Mapping erfolgt nur einmal beim Starten 
      oder beim Neustart des Servers. Wird eine der zugeordneten Dateien
      ge&auml;ndert, dann <em>muss</em> der Server erneut gestartet werden
      (siehe <a href="../stopping.html">Stoppen und Neustarten</a>).
      Es sei noch einmal darauf hingewiesen, dass die Anfragen mit fehlerhaften
      Daten bedient werden k&ouml;nnen, wenn nach einer &Auml;nderung der in 
Frage
      kommenden Dateien kein Neustart des Servers durchgef&uuml;hrt wird.
      Die Verkn&uuml;pfungen der zu aktualisierenden Dateien sollten aufgehoben
      und die Dateien durch die aktualisierte Version ersetzt werden. Dies kann
      mit den Befehlen <code>rdist</code> und <code>mv</code> geschehen.
      Die Module ber&uuml;cksichtigen Datei&auml;nderungen deshalb nicht, weil 
hierf&uuml;r
      bei jedem Zugriff zus&auml;tzlich <code>stat()</code> aufgerufen werden 
m&uuml;sste,
      was der gew&uuml;nschten Reduzierung der Ein- und Ausgabeoperationen
      entgegensteht.</p>
    </section>

    <section><title>Die CacheFile-Anweisung</title>

      <p>Die <directive module="mod_file_cache">CacheFile</directive>-
      Anweisung des Moduls <module>mod_file_cache</module> &ouml;ffnet einen
      <em>Deskriptor</em> oder <em>Dateideskriptor</em> f&uuml;r die mit der
      Konfigurationsdirektive aufgef&uuml;hrte Datei oder die aufgef&uuml;hrten 
Dateien
      und platziert ihn im Zwischenspeicher. Werden die Dateien angefordert,
      nimmt der Server den Handler aus dem Zwischenspeicher und &uuml;bergibt
      ihn an die Socket-API von <code>sendfile()</code>
      oder <code>TransmitFile()</code> (bei Windows).</p>

      <!-- XXX
      <p>Insert more details about sendfile API...</p>
      -->

      <p>Diese Zwischenspeicherung der Datei-Handler erfolgt nur einmal beim
      Serverstart oder beim Neustart. Wird eine Datei im Dateisystem 
ge&auml;ndert,
      dann <em>muss</em> der Server neu gestartet werden (siehe
      <a href="../stopping.html">Stoppen und Neustarten</a>). Es sei noch
      einmal darauf hingewiesen, dass die Anfragen mit fehlerhaften
      Daten bedient werden k&ouml;nnen, wenn nach einer &Auml;nderung der in 
Frage
      kommenden Dateien kein Neustart des Servers durchgef&uuml;hrt wird.
      Die Verkn&uuml;pfungen der zu aktualisierenden Dateien zur alten Datei
      sollten aufgehoben und die Dateien durch die
      aktualisierte Version ersetzt werden. Dies kann
      mit den Befehlen <code>rdist</code> und <code>mv</code> geschehen.</p>
    </section>

    <note><title>Hinweis</title>
      <p>&Auml;rgern Sie sich nicht &uuml;ber das Fehlen einer Direktive, die 
alle Dateien eines
     Verzeichnisses rekursiv zwischenspeichert. Schlagen Sie unter der
      <directive module="core">Include</directive>-Direktive nach und machen
      Sie sich diesen Befehl zu nutze:</p>

      <example>
        find /www/htdocs -type f -print \<br />
        | sed -e 's/.*/mmapfile &amp;/' &gt; /www/conf/mmap.conf
      </example>
    </note>
</section>

<directivesynopsis>
<name>MMapFile</name>
<description>Bildet eine Reihe von Dateien beim Serverstart im Speicher 
ab</description>
<syntax>MMapFile <var>Dateipfad </var> [<var>Dateipfad</var>] ...</syntax>
<contextlist><context>server config</context></contextlist>

<usage>
    <p>Die <directive>MMapFile</directive>-Direktive bildet eine oder mehrere
    Dateien, die mit einer durch Leerzeichen getrennten Liste &uuml;bergeben 
werden,
    beim Serverstart im Speicher ab. Beim Herunterfahren des Servers wird diese
    Zuordnung automatisch aufgehoben. Wenn die Dateien innerhalb
    des Dateisystems ver&auml;ndert wurden, sollte mindestens ein 
<code>HUP</code>-
    oder <code>USR1</code>-Signal an den Server gesendet werden,
    um sie erneut zu lesen.</p>

    <p>Vorsicht ist f&uuml;r das Argument <var>Dateipfad</var> geboten:
    Es muss exakt mit dem Pfad des vom Apache erzeugten Umwandlungs-Handlers
    f&uuml;r URL-zu-Dateiname &uuml;bereinstimmen. Ein Vergleich von Inodes oder
    &Auml;hnlichem f&uuml;r Pfade &uuml;ber symbolische Links <em>usw.</em> ist 
nicht
    m&ouml;glich, weil hierf&uuml;r zus&auml;tzliche 
<code>stat()</code>-Systemaufrufe
    notwendig w&auml;ren, was nicht erw&uuml;nscht ist. Dieses Modul muss nicht 
unbedingt
    mit Dateinamen funktionieren, die mit <module>mod_alias</module> oder
    <module>mod_rewrite</module> umgeschrieben wurden.</p>

    <example><title>Beispiel</title>
      MMapFile /usr/local/apache/htdocs/index.html
    </example>
</usage>
</directivesynopsis>

<directivesynopsis>
<name>CacheFile</name>
<description>Speichert beim Serverstart eine Reihe von 
Datei-Deskriptoren</description>
<syntax>CacheFile <var>Dateipfad </var> [<var>Dateipfad</var>] ...</syntax>
<contextlist><context>server config</context></contextlist>

<usage>
    <p>Die <directive>CacheFile</directive>-Direktive &ouml;ffnet 
Dateideskriptoren f&uuml;r
    eine oder mehrere Dateien (die Argumente werden mit Leerzeichen voneinander
    getrennt) und platziert sie beim Serverstart im Zwischenspeicher. 
Deskriptoren
    f&uuml;r zwischengespeicherte Dateien werden beim Herunterfahren des Servers
    automatisch geschlossen.  Wurden die Dateien im Dateisystem ge&auml;ndert, 
dann
    sollte der Server neu gestartet werden.</p>

    <p>Vorsicht ist f&uuml;r das Argument <var>Dateipfad</var> geboten:
    Sie m&uuml;ssen exakt mit denjenigen Pfaden &uuml;bereinstimmen, die bei der
    Umwandlung der URLs zu Pfadnamen von den entsprechenden
    Apache-Handlern berechnet werden. Ein Vergleich von Inodes oder
    &Auml;hnlichem f&uuml;r Pfade &uuml;ber symbolische Links <em>usw.</em> ist 
nicht
    m&ouml;glich, weil hierf&uuml;r zus&auml;tzliche 
<code>stat()</code>-Systemaufrufe
    notwendig w&auml;ren, was nicht zu verantworten w&auml;re. Es wird nicht 
garantiert,
    dass mit <module>mod_alias</module> oder
    <module>mod_rewrite</module> funktioniert.</p>

    <example><title>Beispiel</title>
      CacheFile /usr/local/apache/htdocs/index.html
    </example>
</usage>
</directivesynopsis>

</modulesynopsis>

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to