You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by dg...@hyperreal.org on 1998/04/07 09:13:24 UTC

cvs commit: apache-1.3/htdocs/manual/mod mod_mmap_static.html

dgaudet     98/04/07 00:13:24

  Modified:    htdocs/manual/mod mod_mmap_static.html
  Log:
  tweak
  
  Revision  Changes    Path
  1.2       +23 -10    apache-1.3/htdocs/manual/mod/mod_mmap_static.html
  
  Index: mod_mmap_static.html
  ===================================================================
  RCS file: /export/home/cvs/apache-1.3/htdocs/manual/mod/mod_mmap_static.html,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- mod_mmap_static.html	1998/04/03 16:07:15	1.1
  +++ mod_mmap_static.html	1998/04/07 07:13:23	1.2
  @@ -28,25 +28,27 @@
     <H2>Summary</H2>
     <P>
     This is an <STRONG>experimental</STRONG> module and should be used with
  -  care.  It maps a list of statically configured files (via
  +  care.  You can easily create a broken site using this module, read this
  +  document carefully.
  +  <code>mod_mmap_static</code> maps a list of statically configured files (via
     <CODE>MMapFile</CODE> directives in the main server configuration) into
  -  memory through the system call <CODE>mmap()</CODE>. Although this system
  -  call is not available on every platform, most of the modern Unix derivates
  -  provide it. At least those ones conforming to the POSIX.4 definition. The
  -  size of the mapable files usually has to be less then 2GB.  But this is no
  -  real restriction for documents on a webserver.
  +  memory through the system call <CODE>mmap()</CODE>.  This system
  +  call is available on most modern Unix derivates, but not on all.  There
  +  are sometimes system-specific limits on the size and number of files that
  +  can be mmap()d, experimentation is probably the easiest way to find out.
     </P>
     <P>
     This mmap()ing is done once at server start or restart, only. So whenever
     one of the mapped files changes on the filesystem you <EM>have</EM> to
  -  restart the server by at least sending it a HUP or USR1 signal.  To
  +  restart the server by at least sending it a HUP or USR1 signal (see the
  +  <a href="../stopping.html">Stopping and Restarting</a> documentation).  To
     reiterate that point:  if the files are modified <EM>in place</EM> without
     restarting the server you may end up serving requests that are completely
     bogus.  You should update files by unlinking the old copy and putting a new
     copy in place. Most tools such as <CODE>rdist</CODE> and <CODE>mv</CODE> do
     this. The reason why this modules doesn't take care of changes to the files
     is that this check would need an extra <CODE>stat()</CODE> every time which
  -  is a waste and against the intend of I/O reduction.
  +  is a waste and against the intent of I/O reduction.
     </P>
   
     <H2>Directives</H2>
  @@ -107,9 +109,11 @@
     match the filesystem path Apache's URL-to-filename translation handlers
     create. We cannot compare inodes or other stuff to match paths through
     symbolic links etc. because that again would cost extra <CODE>stat()</CODE>
  -  system calls which is not acceptable.
  +  system calls which is not acceptable.  This module may or may not work
  +  with filenames rewritten by <code>mod_alias</code> or
  +  <code>mod_rewrite</code>... it is an experiment after all.
     </P>
  -  
  +
     <P>
     Notice: You cannot use this for speeding up CGI programs or other files
     which are served by special content handlers. It can only be used for
  @@ -121,6 +125,15 @@
     <PRE>
     MMapFile /usr/local/apache/htdocs/index.html
     </PRE>
  +
  +  <P>
  +  <b>Note</b>: don't bother asking for a for a <code>MMapDir</code> directive which
  +  recursively maps all the files in a directory.  Use Unix the way it was
  +  meant to be used.  For example, see the
  +  <a href="core.html#include">Include</a> directive, and consider this command:
  +  <blockquote><pre>
  +  find /www/htdocs -type f -print | sed -e 's/.*/mmapfile &/' > /www/conf/mmap.conf
  +  </pre></blockquote>
   
   <!--#include virtual="footer.html" -->
    </BODY>