cvs commit: apache-1.3/htdocs/manual/misc perf.html
dgaudet 98/07/14 01:20:32 Modified:htdocs/manual/misc perf.html Log: eliminate incorrectness regarding linux... there is far more I could say if I had the energy Revision ChangesPath 1.23 +4 -5 apache-1.3/htdocs/manual/misc/perf.html Index: perf.html === RCS file: /export/home/cvs/apache-1.3/htdocs/manual/misc/perf.html,v retrieving revision 1.22 retrieving revision 1.23 diff -u -r1.22 -r1.23 --- perf.html 1998/05/20 20:21:30 1.22 +++ perf.html 1998/07/14 08:20:31 1.23 @@ -74,11 +74,10 @@ Linux -The most common problem on Linux shows up on heavily-loaded systems -where the whole server will appear to freeze for a couple of minutes -at a time, and then come back to life. This has been traced to a -listen() queue overload - certain Linux implementations have a low -value set for the incoming connection queue which can cause problems. +There are no known problems with heavily loaded systems running Linux +kernels 2.0.32 or later. Earlier kernels have some problems, and an +upgrade to the latest 2.0.x is a good idea to eliminate various security +and denial of service attacks.
cvs commit: apache-1.3/htdocs/manual/misc perf.html perf-bsd44.html
brian 98/05/20 13:21:31 Modified:htdocs/manual/misc perf.html perf-bsd44.html Log: address change Revision ChangesPath 1.22 +1 -1 apache-1.3/htdocs/manual/misc/perf.html Index: perf.html === RCS file: /export/home/cvs/apache-1.3/htdocs/manual/misc/perf.html,v retrieving revision 1.21 retrieving revision 1.22 diff -u -r1.21 -r1.22 --- perf.html 1998/04/29 21:52:23 1.21 +++ perf.html 1998/05/20 20:21:30 1.22 @@ -169,7 +169,7 @@ More welcome! If you have tips to contribute, send mail to mailto:[EMAIL PROTECTED]">[EMAIL PROTECTED] +HREF="mailto:[EMAIL PROTECTED]">[EMAIL PROTECTED] 1.11 +1 -1 apache-1.3/htdocs/manual/misc/perf-bsd44.html Index: perf-bsd44.html === RCS file: /export/home/cvs/apache-1.3/htdocs/manual/misc/perf-bsd44.html,v retrieving revision 1.10 retrieving revision 1.11 diff -u -r1.10 -r1.11 --- perf-bsd44.html 1998/05/20 14:22:42 1.10 +++ perf-bsd44.html 1998/05/20 20:21:30 1.11 @@ -231,7 +231,7 @@ More welcome! If you have tips to contribute, send mail to -mailto:[EMAIL PROTECTED]">[EMAIL PROTECTED] +mailto:[EMAIL PROTECTED]">[EMAIL PROTECTED]
cvs commit: apache-1.3/htdocs/manual/misc perf.html
brian 98/04/29 14:52:24 Modified:htdocs/manual/misc perf.html Log: Off-site link go bye bye - tuning Apache on Linux info would certainly be a Good Thing. Revision ChangesPath 1.21 +0 -3 apache-1.3/htdocs/manual/misc/perf.html Index: perf.html === RCS file: /export/home/cvs/apache-1.3/htdocs/manual/misc/perf.html,v retrieving revision 1.20 retrieving revision 1.21 diff -u -r1.20 -r1.21 --- perf.html 1998/04/15 12:21:45 1.20 +++ perf.html 1998/04/29 21:52:23 1.21 @@ -79,9 +79,6 @@ at a time, and then come back to life. This has been traced to a listen() queue overload - certain Linux implementations have a low value set for the incoming connection queue which can cause problems. -Please see our http://www.qosina.com/~awm/apache/linux-tcp.html";>Using Apache on -Linux page for more info on how to fix this.
cvs commit: apache-1.3/htdocs/manual/misc perf.html
martin 98/04/15 05:21:46 Modified:htdocs/manual/misc perf.html Log: Add notice about some inefficient SVR4 implementations of time zones in gettimeofday() Revision ChangesPath 1.20 +49 -0 apache-1.3/htdocs/manual/misc/perf.html Index: perf.html === RCS file: /home/cvs/apache-1.3/htdocs/manual/misc/perf.html,v retrieving revision 1.19 retrieving revision 1.20 diff -u -u -r1.19 -r1.20 --- perf.html 1998/02/05 20:04:30 1.19 +++ perf.html 1998/04/15 12:21:45 1.20 @@ -30,6 +30,7 @@ Linux Solaris SunOS 4.x +SVR4 @@ -117,6 +118,54 @@ More information on tuning SOMAXCONN on SunOS can be found at http://www.islandnet.com/~mark/somaxconn.html";> http://www.islandnet.com/~mark/somaxconn.html. + + + + +SVR4 + + +Some SVR4 versions waste three system calls on every +gettimeofday() call. Depending on the syntactic +form of the TZ environment variable, these +systems have several different algorithms to determine the +local time zone (presumably compatible with +something). The following example uses the central european +time zone to demonstrate this: + + TZ=:MET + This form delegates the knowledge of the time zone + information to an external compiled zoneinfo file + (à la BSD). + Caveat: Each time the gettimeofday() + function is called, the external zone info is read in + again (at least on some SVR4 systems). That results in + three wasted system calls with every apache request + served. + open("/usr/lib/locale/TZ/MET", O_RDONLY) = 3 + read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 7944) = 778 + close(3)= 0 + + TZ=MET-1MDT,M3.5.0/02:00:00,M10.5.0/03:00:00 + This syntax form (à la SYSV) contains all the + knowledge about time zone beginning and ending times in + its external representation. It has to be parsed each + time it is evaluated, resulting in a slight computing + overhead, but it requires no system call. Though the + table lookup à la BSD is the more sophisticated + technical solution, the bad SVR4 implementation makes + this the preferred syntax on systems which otherwise + access the external zone info file repeatedly. + +You should use the truss utility on a +single-process apache server (started with the -X +debugging switch) to determine whether your system can profit +from the second form of the TZ environment +variable. If it does, you could integrate the setting of the +preferred TZ syntax into the httpd startup +script, which is usually simply a copy of (or symbolic link +to) the apachectl utility script, or into the +system's /etc/TIMEZONE script.