From ab24ab2b15676e063784a73190355cfd940dbcb6 Mon Sep 17 00:00:00 2001 From: Andre Malo Date: Sun, 22 Dec 2002 22:20:52 +0000 Subject: [PATCH] add initial documentation for beos, leader, mpmt_os2 and threadpool git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@98074 13f79535-47bb-0310-9956-ffa450edef68 --- docs/manual/mod/beos.xml | 83 ++++++++++++++++++++++++++++++++++ docs/manual/mod/leader.xml | 77 +++++++++++++++++++++++++++++++ docs/manual/mod/mpmt_os2.xml | 53 ++++++++++++++++++++++ docs/manual/mod/threadpool.xml | 72 +++++++++++++++++++++++++++++ docs/manual/sitemap.xml | 5 ++ 5 files changed, 290 insertions(+) create mode 100644 docs/manual/mod/beos.xml create mode 100644 docs/manual/mod/leader.xml create mode 100644 docs/manual/mod/mpmt_os2.xml create mode 100644 docs/manual/mod/threadpool.xml diff --git a/docs/manual/mod/beos.xml b/docs/manual/mod/beos.xml new file mode 100644 index 0000000000..4d824a88cb --- /dev/null +++ b/docs/manual/mod/beos.xml @@ -0,0 +1,83 @@ + + + + + +beos +This Multi-Processing Module is optimized for BeOS. +MPM +beos.c +mpm_beos_module + + +

This Multi-Processing Module (MPM) is the default for BeOS. It uses + a single control process creates threads to handle requests.

+
+Setting which addresses and ports Apache +uses + +User + +Group + +Listen + +ListenBacklog + +SendBufferSize + +StartThreads + +MinSpareThreads + +MaxSpareThreads + +MaxClients + +CoreDumpDirectory + +MaxMemFree + +PidFile + +ScoreBoardFile + + + +MaxRequestsPerThread +Limit on the number of requests that an individual thread +will handle during its life +MaxRequestsPerThread number +MaxRequestsPerThread 0 +server config + + +

The MaxRequestsPerThread directive sets + the limit on the number of requests that an individual server thread + will handle. After MaxRequestsPerThread + requests, the thread will die. If MaxRequestsPerThread is 0, then the thread + will never expire.

+ +

Setting MaxRequestsPerThread to a + non-zero limit has two beneficial effects:

+ +
    +
  • it limits the amount of memory that a thread can consume + by (accidental) memory leakage;
  • + +
  • by giving threads a finite lifetime, it helps reduce + the number of threads when the server load reduces.
  • +
+ + Note: +

For KeepAlive requests, only + the first request is counted towards this limit. In effect, it + changes the behavior to limit the number of connections + per thread.

+
+
+
+ +
+ diff --git a/docs/manual/mod/leader.xml b/docs/manual/mod/leader.xml new file mode 100644 index 0000000000..9609306d67 --- /dev/null +++ b/docs/manual/mod/leader.xml @@ -0,0 +1,77 @@ + + + + + +leader +An experimental variant of the standard worker +MPM +MPM +leader.c +mpm_leader_module + + + Warning +

This MPM is experimental, so it may or may not work + as expected.

+
+ +

This is an experimental variant of the standard + worker MPM. It uses a Leader/Followers design pattern + to coordinate work among threads. For more info, see http://deuce.doc.wustl.edu/doc/pspdfs/lf.pdf.

+ +

To use the leader MPM, add + --with-mpm=leader to the configure script's arguments + when building the httpd.

+ +

This MPM depends on APR's atomic compare-and-swap operations for + thread synchronization. If you are compiling for an x86 target + and you don't need to support 386s, or you are compiling for a + SPARC and you don't need to run on pre-UltraSPARC chips, add + --enable-nonportable-atomics=yes to the configure + script's arguments. This will cause APR to implement atomic operations + using efficient opcodes not available in older CPUs.

+
+ +AcceptMutex + +CoreDumpDirectory + +Group + +Listen + +ListenBacklog + +SendBufferSize + +LockFile + +MaxClients + +MaxMemFree + +MaxRequestsPerChild + +MaxSpareThreads + +MinSpareThreads + +PidFile + +ScoreBoardFile + +ServerLimit + +StartServers + +ThreadLimit + +ThreadsPerChild + +User + + +
\ No newline at end of file diff --git a/docs/manual/mod/mpmt_os2.xml b/docs/manual/mod/mpmt_os2.xml new file mode 100644 index 0000000000..567c65759b --- /dev/null +++ b/docs/manual/mod/mpmt_os2.xml @@ -0,0 +1,53 @@ + + + + + + +mpmt_os2 +Hybrid multi-process, multi-threaded MPM for OS/2 +MPM +mpmt_os2.c +mpm_mpmt_os2_module + + +

The Server consists of a main, parent process and a small, static + number of child processes.

+ +

The parent process's job is to manage the child processes. This + involves spawning children as required to ensure there are always + StartServers processes + accepting connections.

+ +

Each child process consists of a a pool of worker threads and a + main thread that accepts connections and passes them to the workers via + a work queue. The worker thread pool is dynamic, managed by a + maintenance thread so that the number of idle threads is kept between + MinSpareThreads and + MaxSpareThreads.

+
+Setting which addresses and ports Apache +uses + +User + +Group + +Listen + +ListenBacklog + +SendBufferSize + +MaxRequestsPerChild + +MaxSpareThreads + +MinSpareThreads + +PidFile + +StartServers + + +
diff --git a/docs/manual/mod/threadpool.xml b/docs/manual/mod/threadpool.xml new file mode 100644 index 0000000000..b43dc41253 --- /dev/null +++ b/docs/manual/mod/threadpool.xml @@ -0,0 +1,72 @@ + + + + + +threadpool +Yet another experimental variant of the standard +worker MPM +MPM +threadpool.c +mpm_threadpool_module + + + Warning +

This MPM is a developer playground and highly experimental, so it + may or may not work as expected.

+
+ +

This is an experimental variant of the standard worker MPM. + Rather than queuing connections like the worker MPM, the + threadpool MPM queues idle worker threads and + hands each accepted connection to the next available worker.

+ +

The threadpool MPM can't match the performance of + the worker MPM in benchmark testing. As of 2.0.39, + some of the key load-throtting concepts from the threadpool MPM have been incorporated into the worker MPM. The threadpool code is useful + primarily as a research platform. For general-purpose use and for any + production environments, use worker instead.

+
+ +AcceptMutex + +CoreDumpDirectory + +Group + +Listen + +ListenBacklog + +SendBufferSize + +LockFile + +MaxClients + +MaxMemFree + +MaxRequestsPerChild + +MaxSpareThreads + +MinSpareThreads + +PidFile + +ScoreBoardFile + +ServerLimit + +StartServers + +ThreadLimit + +ThreadsPerChild + +User + + +
diff --git a/docs/manual/sitemap.xml b/docs/manual/sitemap.xml index 41cb1bf7e7..deb7bcdd56 100644 --- a/docs/manual/sitemap.xml +++ b/docs/manual/sitemap.xml @@ -184,12 +184,17 @@ Server on HPUX mod_userdir.xml mod_usertrack.xml mod_vhost_alias.xml + mpm_common.xml + beos.xml mpm_netware.xml mpm_winnt.xml + mpmt_os2.xml perchild.xml prefork.xml worker.xml + leader.xml + threadpool.xml -- 2.40.0