From: dgaudet Date: Sun, 10 May 1998 00:11:14 +0000 (+0000) Subject: update with a few more links X-Git-Tag: APACHE_1_3b7~23 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=985ba5754b3faa3a290940579a3b5fba2ee195d1;p=thirdparty%2Fapache%2Fhttpd.git update with a few more links git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@81228 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/docs/manual/misc/perf-tuning.html b/docs/manual/misc/perf-tuning.html index 264b5ae27b1..c36636967ab 100644 --- a/docs/manual/misc/perf-tuning.html +++ b/docs/manual/misc/perf-tuning.html @@ -238,7 +238,7 @@ Suppose your web server uses multiple Listen statements to listen on either multiple ports or multiple addresses. In order to test each socket to see if a connection is ready Apache uses select(2). -select(2) indicates that a socket has none or +select(2) indicates that a socket has zero or at least one connection waiting on it. Apache's model includes multiple children, and all the idle ones test for new connections at the same time. A naive implementation looks something like this @@ -647,7 +647,8 @@ as a result of writing the log. At least one of these is required to properly implement the HTTP protocol. The second occurs because the Common Log Format dictates that the log record include a timestamp of the end of the request. A custom logging module could eliminate one of the -calls. +calls. Or you can use a method which moves the time into shared memory, +see the patches section below.

As described earlier, Rule STATUS=yes causes two gettimeofday calls and a call to times: @@ -782,6 +783,29 @@ munmap(0x400e3000, 6144) = 0 That's 19 system calls, of which 4 remain relatively easy to remove, but don't seem worth the effort. +

Appendix: Patches Available

+ +There are + +several performance patches available for 1.3. But they may +be slightly out of date by the time Apache 1.3.0 has been released, +it shouldn't be difficult for someone with a little C knowledge to +update them. In particular: + + +

Appendix: The Pre-Forking Model

Apache (on Unix) is a pre-forking model server. The @@ -819,9 +843,16 @@ depending on the operating system.

Apache's core code is already multithread aware, and Apache version 1.3 is multithreaded on NT. There have been at least two other experimental -implementations of threaded Apache (one using the 1.3 code base on DCE, +implementations of threaded Apache, one using the 1.3 code base on DCE, and one using a custom user-level threads package and the 1.0 code base, -neither are available publically). Part of our redesign for version 2.0 +neither are available publically. There is also an experimental port of +Apache 1.3 to +Netscape's Portable Run Time, which +is available +(but you're encouraged to join the +new-httpd mailing list +if you intend to use it). +Part of our redesign for version 2.0 of Apache will include abstractions of the server model so that we can continue to support the pre-forking model, and also support various threaded models.