From: Mike Rumph Date: Thu, 23 Apr 2015 00:28:24 +0000 (+0000) Subject: Generated doc changes X-Git-Tag: 2.4.13~159 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=ef4e2f5a08dc7c351dcb27407ba8922a710229b5;p=apache Generated doc changes git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x@1675525 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/docs/manual/misc/perf-tuning.html.en b/docs/manual/misc/perf-tuning.html.en index 84e21dfc02..7414ef34eb 100644 --- a/docs/manual/misc/perf-tuning.html.en +++ b/docs/manual/misc/perf-tuning.html.en @@ -64,7 +64,7 @@ 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 MaxRequestWorkers setting, so that your server + should, control the MaxRequestWorkers setting so that your server does not spawn so many children that it starts swapping. The 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 @@ -167,8 +167,8 @@ </Directory> -

and a request is made for the URI /index.html. - Then Apache will perform lstat(2) on +

and a request is made for the URI /index.html, + then Apache will perform lstat(2) on /www, /www/htdocs, and /www/htdocs/index.html. The results of these lstats are never cached, so they will occur on @@ -187,7 +187,7 @@

This at least avoids the extra checks for the DocumentRoot path. - Note that you'll need to add similar sections, if you + Note that you'll need to add similar sections if you have any Alias or RewriteRule paths outside of your document root. For highest performance, @@ -225,7 +225,7 @@ -

If at all possible, avoid content negotiation, if you're +

If at all possible, avoid content negotiation if you're really interested in every last ounce of performance. In practice the benefits of negotiation outweigh the performance penalties. There's one case where you can speed up the server. @@ -262,7 +262,7 @@

In situations where Apache 2.x 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 + processing--it normally memory-maps the file if the OS supports some form of mmap(2).

On some platforms, this memory-mapping improves performance. @@ -298,7 +298,7 @@

In situations where Apache 2.x can ignore the contents of the file to be delivered -- for example, when serving static file content -- - it normally uses the kernel sendfile support for the file, if the OS + it normally uses the kernel sendfile support for the file if the OS supports the sendfile(2) operation.

On most platforms, using sendfile improves performance by eliminating @@ -338,7 +338,7 @@ setting. So a server being accessed by 100 simultaneous clients, using the default StartServers of 5 would take on the order of 95 seconds to spawn enough children to handle - the load. This works fine in practice on real-life servers, + the load. This works fine in practice on real-life servers because they aren't restarted frequently. But it does really poorly on benchmarks which might only run for ten minutes.

@@ -438,7 +438,7 @@ performance, you should attempt to eliminate modules that you are 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 + This allows you to experiment with removing modules and seeing if your site still functions in their absence.

If, on the other hand, you have modules statically linked @@ -602,7 +602,7 @@ accomplishing nothing. Meanwhile none of those children are servicing requests that occurred on other sockets until they get back up to the select again. Overall this - solution does not seem very fruitful, unless you have as many + solution does not seem very fruitful unless you have as many idle CPUs (in a multiprocessor box) as you have idle children (not a very likely situation).

@@ -675,15 +675,15 @@

The above is fine and dandy for multiple socket servers, but what about single socket servers? In theory they shouldn't - experience any of these same problems, because all children can - just block in accept(2) until a connection + experience any of these same problems because all the children + can just block in accept(2) until a connection arrives, and no starvation results. In practice this hides almost the same "spinning" behavior discussed above in the non-blocking solution. The way that most TCP stacks are implemented, the kernel actually wakes up all processes blocked in accept when a single connection arrives. One of - those processes gets the connection and returns to user-space, - the rest spin in the kernel and go back to sleep when they + those processes gets the connection and returns to user-space. + The rest spin in the kernel and go back to sleep when they discover there's no connection for them. This spinning is hidden from the user-land code, but it's there nonetheless. This can result in the same load-spiking wasteful behavior @@ -715,7 +715,7 @@ an HTTP server to reliably implement the protocol, it needs to shut down each direction of the communication independently. (Recall that a TCP connection is - bi-directional, each half is independent of the other.)

+ bi-directional. Each half is independent of the other.)

When this feature was added to Apache, it caused a flurry of problems on various versions of Unix because of shortsightedness. @@ -854,7 +854,7 @@

Note the lack of accept(2) serialization. On this particular platform, the worker MPM uses an unserialized accept by - default, unless it is listening on multiple ports.
+ default unless it is listening on multiple ports.
/65:    lwp_park(0x00000000, 0)                         = 0
 /67:    lwp_unpark(65, 1)                               = 0
diff --git a/docs/manual/misc/perf-tuning.xml.fr b/docs/manual/misc/perf-tuning.xml.fr index 7dfa811d11..f655c96fe0 100644 --- a/docs/manual/misc/perf-tuning.xml.fr +++ b/docs/manual/misc/perf-tuning.xml.fr @@ -1,7 +1,7 @@ - + diff --git a/docs/manual/misc/perf-tuning.xml.ko b/docs/manual/misc/perf-tuning.xml.ko index 169422c325..cff8730449 100644 --- a/docs/manual/misc/perf-tuning.xml.ko +++ b/docs/manual/misc/perf-tuning.xml.ko @@ -1,7 +1,7 @@ - + +