From 9663798650abb6205d76898ca655381855b3a70e Mon Sep 17 00:00:00 2001 From: "Ralf S. Engelschall" Date: Fri, 3 Apr 1998 16:07:15 +0000 Subject: [PATCH] Although mod_mmap_static is an experimental module it works fine and already is distributed with Apache it was not prepared the same way as the other modules. Hence let us give it a first cut for a documentation and an (disabled, of course) entry in the Configuration.tmpl file. Dean: Feel free to fix both my english and my initial content in the mod_mmap_static.html document. It's your baby, so you know best what is missing. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@80796 13f79535-47bb-0310-9956-ffa450edef68 --- docs/manual/mod/directives.html | 1 + docs/manual/mod/index.html | 2 + docs/manual/mod/mod_mmap_static.html | 127 +++++++++++++++++++++++++++ 3 files changed, 130 insertions(+) create mode 100644 docs/manual/mod/mod_mmap_static.html diff --git a/docs/manual/mod/directives.html b/docs/manual/mod/directives.html index 45fcf01e59..3b0c97fe9e 100644 --- a/docs/manual/mod/directives.html +++ b/docs/manual/mod/directives.html @@ -136,6 +136,7 @@ of the terms used in their descriptions available.
  • MetaSuffix
  • MimeMagicFile
  • MinSpareServers +
  • MMapFile
  • NameVirtualHost
  • NoCache
  • Options diff --git a/docs/manual/mod/index.html b/docs/manual/mod/index.html index 612454414e..f003071e9f 100644 --- a/docs/manual/mod/index.html +++ b/docs/manual/mod/index.html @@ -91,6 +91,8 @@ mod_log_config module in Apache 1.2 and up
    Determining document types using file extensions.
    mod_mime_magic
    Determining document types using "magic numbers". +
    mod_mmap_static +
    Mapping files into memory for faster serving.
    mod_negotiation
    Content negotiation.
    mod_proxy diff --git a/docs/manual/mod/mod_mmap_static.html b/docs/manual/mod/mod_mmap_static.html new file mode 100644 index 0000000000..1f686da809 --- /dev/null +++ b/docs/manual/mod/mod_mmap_static.html @@ -0,0 +1,127 @@ + + + + Apache module mod_mmap_static + + + + +

    Module mod_mmap_static

    + +

    + This module is contained in the mod_mmap_static.c file, with + Apache 1.3 and later. It provides mmap()ing of a statically configured list + of frequently requested but not changed files. It is not compiled into the + server by default. To use mod_mmap_static you have to enable + the following line in the server build Configuration file: +

    +    AddModule  modules/experimental/mod_mmap_static.o
    +  
    +

    + +

    Summary

    +

    + This is an experimental module and should be used with + care. It maps a list of statically configured files (via + MMapFile directives in the main server configuration) into + memory through the system call mmap(). 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. +

    +

    + This mmap()ing is done once at server start or restart, only. So whenever + one of the mapped files changes on the filesystem you have to + restart the server by at least sending it a HUP or USR1 signal. To + reiterate that point: if the files are modified in place 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 rdist and mv do + this. The reason why this modules doesn't take care of changes to the files + is that this check would need an extra stat() every time which + is a waste and against the intend of I/O reduction. +

    + +

    Directives

    + + +
    + +

    MMapFile

    +

    + Syntax: MMapFile filename ... +
    + Default: None +
    + Context: server-config +
    + Override: Not applicable +
    + Status: Experimental +
    + Module: mod_mmap_static +
    + Compatibility: Only available in Apache 1.3 or later + +

    + The MMapFile directive maps one or more files (given as + whitespace separated arguments) into memory at server startup time. They + are automatically unmapped on a server shutdown. When the files have changed + on the filesystem at least a HUP or USR1 signal should be send to the server + to re-mmap them. +

    + +

    + Be careful with the filename arguments: They have to literally + 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 stat() + system calls which is not acceptable. +

    + +

    + 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 + regular files which are usually served by the Apache core content handler. +

    + + Example: + +
    +  MMapFile /usr/local/apache/htdocs/index.html
    +  
    + + + + -- 2.40.0