]> granicus.if.org Git - apache/commitdiff
Added EnableMMAP to performance tuning guide
authorBrian Pane <brianp@apache.org>
Sat, 25 May 2002 06:58:39 +0000 (06:58 +0000)
committerBrian Pane <brianp@apache.org>
Sat, 25 May 2002 06:58:39 +0000 (06:58 +0000)
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@95279 13f79535-47bb-0310-9956-ffa450edef68

docs/manual/misc/perf-tuning.html

index 6e0aea4da39c21e68f905d10174acbed1313f302..a22a41b9cc1ae9712776dec673288fec5d24369d 100644 (file)
@@ -69,6 +69,8 @@
          <a
         href="../mod/core.html#hostnamelookups">HostnameLookups</a><br />
          <a
+        href="../mod/core.html#enablemmap">EnableMMAP</a><br />
+         <a
         href="../mod/core.html#keepalivetimeout">KeepAliveTimeout</a><br />
          <a
         href="../mod/prefork.html#maxspareservers">MaxSpareServers</a><br />
@@ -281,6 +283,35 @@ DirectoryIndex index.cgi index.pl index.shtml index.html
     determined by reading this single file, rather than having to
     scan the directory for files.</p>
 
+    <h4>Memory-mapping</h4>
+
+    <p>In situations where Apache 2.0 needs to look at the contents
+    of a file being delivered--for example, when doing server-side-include
+    processing--it normally memory-maps the file if the OS supports
+    some form of mmap(2).
+    </p>
+
+    <p>On some platforms, this memory-mapping improves performance.
+    However, there are cases where memory-mapping can hurt the performance
+    or even the stability of the httpd:</p>
+
+    <ul>
+      <li>On some operating systems, mmap does not scale as well as
+      read(2) when the number of CPUs increases.  On multiprocessor
+      Solaris servers, for example, Apache 2.0 sometimes delivers
+      server-parsed files faster when mmap is disabled.</li>
+
+      <li>If you memory-map a file located on an NFS-mounted filesystem
+      and a process on another NFS client machine deletes or truncates
+      the file, your process may get a bus error the next time it tries
+      to access the mapped file content.</li>
+    </ul>
+
+    <p>For installations where either of these factors applies, you
+    should use <code>EnableMMAP off</code> to disable the memory-mapping
+    of delivered files.  (Note: This directive can be overridden on
+    a per-directory basis.)</p>
+
     <h4>Process Creation</h4>
 
     <p>Prior to Apache 1.3 the <code>MinSpareServers</code>,