From 896c2be348764291a3546c40e6935862f4318817 Mon Sep 17 00:00:00 2001
From: =?utf8?q?Andr=C3=A9=20Malo?= Caching frequently requested files that change very
infrequently is a technique for reducing server load.
- mod_file_cache provides two techniques for caching frequently
- requested static files. Through configuration
- directives, you can direct mod_file_cache to either open then
- mmap()a file, or to pre-open a file and save the file's open
- file handle. Both techniques reduce server load when
- processing requests for these files by doing part of the work
+ mmap()
a file, or to pre-open a file and save
+ the file's open file handle. Both techniques reduce server
+ load when processing requests for these files by doing part of the work
(specifically, the file I/O) for serving the file when the
server is started rather than during each request.
This module is an extension of and borrows heavily from the - mod_mmap_static module in Apache 1.3.
+mod_mmap_static
module in Apache 1.3.
-Not all platforms support both directives. For example, Apache
on Windows does not currently support the The 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 (see the Stopping and Restarting
- documentation). 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 The Insert more details about sendfile API... This file handle caching is done once at server start or
- restart, only. So whenever one of the cached files changes on
- the filesystem you have to restart the server (see the
- Stopping and Restarting
- documentation). 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 The This The This file handle caching is done once at server start or
+ restart, only. So whenever one of the cached files changes on
+ the filesystem you have to restart the server (see the
+ Stopping and Restarting
+ documentation). 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 Don't bother asking for a for a directive which recursively
+ caches all the files in a directory. Try this instead... See the
+ mmap()
. 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.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 intent of I/O reduction.rdist
and
- mv
do this.
- | sed -e 's/.*/mmapfile &/' > /www/conf/mmap.conf
-mmap()
. 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()
ed, experimentation is probably the easiest way
+ to find out.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 (see the Stopping and Restarting documentation).
+ 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 intent of I/O reduction.sendfile()
(or TransmitFile()
on Windows),
+ socket API.rdist
and
+ mv
do this.
+ | sed -e 's/.*/mmapfile &/' > /www/conf/mmap.conf
+
HUP
or USR1
signal should be send to
+ the server to re-mmap()
them.
- Be careful with the file-path arguments: They have +
Be careful with the file-path 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.
@@ -140,16 +142,16 @@ This module should be used with care. You can easily
with filenames rewritten by
Be careful with the file-path arguments: They have +
Be careful with the file-path 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.
@@ -169,10 +171,10 @@ This module should be used with care. You can easily
with filenames rewritten by