From d7f847eabf14bfaba9df373af8e28abfb60de9f5 Mon Sep 17 00:00:00 2001
From: Stefan Fritsch MaxClients
setting so that your server
+ should, control the MaxRequestWorkers
setting so that your server
does not spawn so many children it starts swapping. This procedure
for doing this is simple: determine the size of your average Apache
process, by looking at your process list via a tool such as
diff --git a/docs/manual/misc/security_tips.html.en b/docs/manual/misc/security_tips.html.en
index b122fcf08a..977a18d125 100644
--- a/docs/manual/misc/security_tips.html.en
+++ b/docs/manual/misc/security_tips.html.en
@@ -115,7 +115,7 @@
system. This is active by default in Apache httpd, but may
require reconfiguration of your kernel.
- MaxClients
directive to allow
+ MaxRequestWorkers
directive to allow
the server to handle the maximum number of simultaneous
connections without running out of resources. See also the performance tuning
documentation.Process ID of current process
-%...T
Thread ID of current thread
+%...t
+
+ %...{g}T
System unique thread ID of current thread (the same ID as
+ displayed by e.g. top
; currently Linux only)
-%...t
The current time
+%...{u}t
-%...{u}t
The current time including micro-seconds
+%...{cu}t
-%...{cu}t
The current time in compact ISO 8601 format, including
micro-seconds
+%...v
-%...v
The canonical ServerName
of the current server.
+%...V
-%...V
The server name of the server serving the request according to the
UseCanonicalName
setting.
+\
(backslash space)
-\
(backslash space)Non-field delimiting space
+%
(percent space)
diff --git a/docs/manual/mod/directives.html.en b/docs/manual/mod/directives.html.en
index 1e32f2307f..19664a73e2 100644
--- a/docs/manual/mod/directives.html.en
+++ b/docs/manual/mod/directives.html.en
@@ -337,10 +337,10 @@
%
(percent space)Field delimiter (no output) Group
Listen
ListenBacklog
MaxClients
MaxConnectionsPerChild
MaxMemFree
MaxRequestWorkers
MaxSpareThreads
MinSpareThreads
PidFile
Group
Listen
ListenBacklog
MaxClients
MaxConnectionsPerChild
MaxMemFree
MaxRequestWorkers
MaxSpareThreads
MinSpareThreads
PidFile
GracefulShutdownTimeout
Listen
ListenBackLog
MaxClients
MaxConnectionsPerChild
MaxMemFree
MaxRequestWorkers
MaxSpareThreads
MinSpareThreads
PidFile
Description: | Maximum number of connections that will be processed -simultaneously |
---|---|
Syntax: | MaxClients number |
Default: | See usage for details |
Context: | server config |
Status: | MPM |
Module: | event , prefork , worker |
The MaxClients
directive sets the limit
- on the number of simultaneous requests that will be served. Any
- connection attempts over the MaxClients
- limit will normally be queued, up to a number based on the
- ListenBacklog
- directive. Once a child process is freed at the end of a different
- request, the connection will then be serviced.
For non-threaded servers (i.e., prefork
),
- MaxClients
translates into the maximum
- number of child processes that will be launched to serve requests.
- The default value is 256
; to increase it, you must also raise
- ServerLimit
.
For threaded and hybrid servers (e.g. event
- or worker
) MaxClients
restricts
- the total number of threads that will be available to serve clients.
- For hybrid MPMs the default value is 16
(ServerLimit
) multiplied by the value of
- 25
(ThreadsPerChild
). Therefore, to increase MaxClients
to a value that requires more than 16 processes,
- you must also raise ServerLimit
.
free()
to hold without calling free()
. When not set, or when set
to zero, the threshold will be set to unlimited.
+Description: | Maximum number of connections that will be processed +simultaneously |
---|---|
Syntax: | MaxRequestWorkers number |
Default: | See usage for details |
Context: | server config |
Status: | MPM |
Module: | event , prefork , worker |
The MaxRequestWorkers
directive sets the limit
+ on the number of simultaneous requests that will be served. Any
+ connection attempts over the MaxRequestWorkers
+ limit will normally be queued, up to a number based on the
+ ListenBacklog
+ directive. Once a child process is freed at the end of a different
+ request, the connection will then be serviced.
For non-threaded servers (i.e., prefork
),
+ MaxRequestWorkers
translates into the maximum
+ number of child processes that will be launched to serve requests.
+ The default value is 256
; to increase it, you must also raise
+ ServerLimit
.
For threaded and hybrid servers (e.g. event
+ or worker
) MaxRequestWorkers
restricts
+ the total number of threads that will be available to serve clients.
+ For hybrid MPMs the default value is 16
(ServerLimit
) multiplied by the value of
+ 25
(ThreadsPerChild
). Therefore, to increase MaxRequestWorkers
to a value that requires more than 16 processes,
+ you must also raise ServerLimit
.
MaxRequestWorkers
was called
+ MaxClients
before version 2.3.13. The old name ist still
+ supported.
event
, prefork
, worker
For the prefork
MPM, this directive sets the
- maximum configured value for MaxClients
for the lifetime of the
+ maximum configured value for MaxRequestWorkers
for the lifetime of the
Apache httpd process. For the worker
MPM, this directive
in combination with ThreadLimit
sets
- the maximum configured value for MaxClients
for the lifetime of the
+ the maximum configured value for MaxRequestWorkers
for the lifetime of the
Apache httpd process. Any attempts to change this directive during a
- restart will be ignored, but MaxClients
can be modified during
+ restart will be ignored, but MaxRequestWorkers
can be modified during
a restart.
Special care must be taken when using this directive. If
ServerLimit
is set to a value much higher
than necessary, extra, unused shared memory will be allocated. If
- both ServerLimit
and MaxClients
are set to values
+ both ServerLimit
and MaxRequestWorkers
are set to values
higher than the system can handle, Apache httpd may not start or the
system may become unstable.
With the prefork
MPM, use this directive only
- if you need to set MaxClients
higher than 256 (default).
+ if you need to set MaxRequestWorkers
higher than 256 (default).
Do not set the value of this directive any higher than what you
- might want to set MaxClients
to.
MaxRequestWorkers
to.
With worker
, use this directive only
- if your MaxClients
and
+ if your MaxRequestWorkers
and
ThreadsPerChild
settings require more than 16 server processes (default). Do not set
the value of this directive any higher than the number of server
- processes required by what you may want for MaxClients
and ThreadsPerChild
.
MaxRequestWorkers
and ThreadsPerChild
.
There is a hard limit of ServerLimit 20000
compiled
diff --git a/docs/manual/mod/prefork.html.en b/docs/manual/mod/prefork.html.en
index d89edec736..1f37be9a11 100644
--- a/docs/manual/mod/prefork.html.en
+++ b/docs/manual/mod/prefork.html.en
@@ -42,8 +42,8 @@
This MPM is very self-regulating, so it is rarely necessary to
adjust its configuration directives. Most important is that
- MaxClients
be big enough to
- handle as many simultaneous requests as you expect to receive, but
+ MaxRequestWorkers
be big enough
+ to handle as many simultaneous requests as you expect to receive, but
small enough to assure that there is enough physical RAM for all
processes.
The StartServers
,
MinSpareServers
,
MaxSpareServers
, and
- MaxClients
regulate how
+ MaxRequestWorkers
regulate how
the parent process creates children to serve requests. In general,
Apache httpd is very self-regulating, so most sites do not need to
adjust these directives from their default values. Sites which
need to serve more than 256 simultaneous requests may need to
- increase MaxClients
,
- while sites with limited memory may need to decrease MaxClients
to keep the server from
+ increase MaxRequestWorkers
,
+ while sites with limited memory may need to decrease MaxRequestWorkers
to keep the server from
thrashing (swapping memory to disk and back). More information
about tuning process creation is provided in the performance hints
documentation.
free()
free()
free()
free()
The most important directives used to control this MPM are
ThreadsPerChild
, which
controls the number of threads deployed by each child process and
- MaxClients
, which
+ MaxRequestWorkers
, which
controls the maximum total number of threads that may be
launched.
MaxClients
directive.
+ MaxRequestWorkers
directive.
The maximum number of active child processes is determined by
- the MaxClients
+ the MaxRequestWorkers
directive divided by the
ThreadsPerChild
directive.
@@ -111,7 +111,7 @@
starting it again. ServerLimit
is a hard limit on the number of active child
processes, and must be greater than or equal to the
- MaxClients
+ MaxRequestWorkers
directive divided by the
ThreadsPerChild
directive.
ThreadLimit
is a hard
@@ -121,7 +121,7 @@
In addition to the set of active child processes, there may
be additional child processes which are terminating, but where at
least one server thread is still handling an existing client
- connection. Up to MaxClients
terminating processes
+ connection. Up to MaxRequestWorkers
terminating processes
may be present, though the actual number can be expected to be
much smaller. This behavior can be avoided by disabling the
termination of individual child processes, which is achieved using
@@ -133,7 +133,7 @@
MaxSpareThreads
to the same value as
- MaxClients
MaxRequestWorkers
A typical configuration of the process-thread controls in @@ -142,7 +142,7 @@
ServerLimit 16
StartServers 2
- MaxClients 150
+ MaxRequestWorkers 150
MinSpareThreads 25
MaxSpareThreads 75
ThreadsPerChild 25
diff --git a/docs/manual/programs/rotatelogs.html.en b/docs/manual/programs/rotatelogs.html.en
index a6731e4030..00ef91b1a7 100644
--- a/docs/manual/programs/rotatelogs.html.en
+++ b/docs/manual/programs/rotatelogs.html.en
@@ -39,6 +39,7 @@
rotatelogs
[ -l ]
[ -L linkname ]
+ [ -p program ]
[ -f ]
[ -v ]
[ -e ]
@@ -62,6 +63,15 @@ to the specified link name. This can be used to watch
the log continuously across rotations using a command like
tail -F linkname
.
+-p
programrotatelogs
does not
+wait for the specified program to terminate before continuing to
+operate, and will not log any error code returned on termination. The
+spawned program uses the same stdin, stdout, and stderr as rotatelogs
+itself, and also inherits the environment.-f
rotatelogs
starts, instead of waiting for the
--
2.49.0