From 1c59b938fc8d35a01b7c1ff1b95a4d1b94dc1de6 Mon Sep 17 00:00:00 2001
From: Andre Malo )
$build validate-xml
[xmlvalidate] .../manual/misc/perf-tuning.xml:477:12: Element type "i" must be de
clared.
[xmlvalidate] .../manual/misc/perf-tuning.xml:481:54: The content of element type
"p" must match "(em|strong|code|a|br|directive|module|img|cite|q|dfn|var|transnote)".
(you meant , put it there)
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@98959 13f79535-47bb-0310-9956-ffa450edef68
---
docs/manual/misc/perf-tuning.html.en | 84 ++++++++++++++++++++--------
docs/manual/misc/perf-tuning.xml | 4 +-
2 files changed, 64 insertions(+), 24 deletions(-)
diff --git a/docs/manual/misc/perf-tuning.html.en b/docs/manual/misc/perf-tuning.html.en
index 41a22b052e..642d6acb26 100644
--- a/docs/manual/misc/perf-tuning.html.en
+++ b/docs/manual/misc/perf-tuning.html.en
@@ -58,11 +58,15 @@
The single biggest hardware issue affecting webserver
performance is RAM. A webserver should never ever have to swap,
- swapping increases the latency of each request beyond a point
+ as swapping increases the latency of each request beyond a point
that users consider "fast enough". This causes users to hit
stop and reload, further increasing the load. You can, and
should, control the Beyond that the rest is mundane: get a fast enough CPU, a
fast enough network card, and fast enough disks, where "fast
@@ -100,20 +104,32 @@
Prior to Apache 1.3, It is recommended that you do this sort of postprocessing of
+ your log files on some machine other than the production web
+ server machine, in order that this activity not adversely affect
+ server performance. If you use any MaxClients
setting so that your server
- does not spawn so many children it starts swapping.top
, and divide this into your total available memory,
+ leaving some room for other processes.
- Related Modules Related Directives HostnameLookups
+ HostnameLookups and other DNS considerations
HostnameLookups
defaulted to On
.
This adds latency to every request because it requires a
DNS lookup to complete before the request is finished. In
- Apache 1.3 this setting defaults to Off
.
- However (1.3 or later), if you use any Allow from domain
- or Deny from domain
directives then you will pay for
+ Apache 1.3 this setting defaults to Off
. If you need
+ to have addresses in your log files resolved to hostnames, use the
+ logresolve
+ program that comes with Apache, on one of the numerous log
+ reporting packages which are available.
or Allow
+ from domain
+ directives (i.e., using a hostname, or a domain name, rather than
+ an IP address) then you will pay for
a double reverse DNS lookup (a reverse, followed by a forward
- to make sure that the reverse is not being spoofed). So for the
- highest performance avoid using these directives (it's fine to
- use IP addresses rather than domain names).Deny
from domain
Note that it's possible to scope the directives, such as
within a <Location /server-status>
section.
@@ -134,18 +150,9 @@
could consider doing the gethostbyname
call in the
specific CGIs that need it.
Similarly, if you need to have hostname information in your
- server logs in order to generate reports of this information,
- you can postprocess your log file with logresolve
,
- so that these lookups can be done without making the client wait.
- It is recommended that you do this postprocessing, and any other
- statistical analysis of the log file, somewhere other than your
- production web server machine, in order that this activity does
- not adversely affect server performance.
If your site needs content negotiation consider using
+ type-map
files, rather than the Options
+ MultiViews
directive to accomplish the negotiation. See the
+ Content Negotiation
+ documentation for a full discussion of the methods of negotiation,
+ and instructions for creating type-map
files.
Since memory usage is such an important consideration in
+ performance, you should attempt to eliminate modules that youare
+ not actually using. If you have built the modules as DSOs, eliminating modules is a simple
+ matter of commenting out the associated LoadModule
directive for that module.
+ This allows you to experiment with removing modules, and seeing
+ if your site still functions in their absense.
If, on the other hand, you have modules statically linked + into your Apache binary, you will need to recompile Apache in + order to remove unwanted modules.
+ +An associated question that arises here is, of course, what
+ modules you need, and which ones you don't. The answer here
+ will, of course, vary from one web site to another. However, the
+ minimal list of modules which you can get by with tends
+ to include mod_mime
, mod_dir
,
+ and mod_log_config
. mod_log_config
is,
+ of course, optional, as you can run a web site without log
+ files. This is, however, not recommended.
Allow
+ If you use any Allow
from domain
or Deny from domain
directives (i.e., using a hostname, or a domain name, rather than
@@ -474,7 +474,7 @@
An associated question that arises here is, of course, what
modules you need, and which ones you don't. The answer here
will, of course, vary from one web site to another. However, the
- minimal list of modules which you can get by with tends
+ minimal list of modules which you can get by with tends
to include mod_mime , mod_dir ,
and mod_log_config . mod_log_config
is,
of course, optional, as you can run a web site without log
--
2.40.0