Tarballs were created this week for a 2.0.37 release, but at the
last minute a problem in the handling of HEAD requests
was discovered, causing the server to hang rather than sending the
response (on some operating systems). A fix was quickly committed, and
the 2.0.37 release was abandoned; testing is now underway for a 2.0.38
release.
Discussion continued from last week on PHP performance issues in
Apache 2.0, a major concern being the buffering of script output.
In 1.3, the output of a PHP script was buffered internally by Apache
before being sent to the client, meaning that a smaller number of
system calls were used to send the data. Currently in 2.0 the PHP
filter module uses the non-buffering interface to the filter stack,
resulting in a large number of system calls each writing small amounts
of data. A workaround for this problem is to enable PHP's internal
buffering setting the output_buffering configuration
variable; a proposal was made to change the PHP filter to use the
buffered write interface by default.
In this section we highlight some of the articles on the web that are of
interest to Apache users.
Developer Shed explores a significant facet of the Apache web
server in
"Using Apache As A Proxy Server".
It kicks off by explaining about the functions of a proxy server, and
then provides the instructions for compiling, installing, and configuring
both Apache 1.3 and Apache 2.0 as a proxy server and also as a
reverse proxy server. It also shows you how to enable the proxy
caching feature.
In
"Parsing and Summarizing a Logfile",
Randal L. Schwartz walks you through a tool which he wrote using Perl,
for analysing how many hits are being cached and delivered by a
stripped-down Apache server which acts as a caching reverse proxy
server. For this to work, the access log file need to store caching
information. This is implemented by using the
CustomLog and
LogFormat directives.
This article looks at another
custom caching solution
which is used to scale a dynamic content management system. It uses
ColdFusion Web Application Server 5.0, and Apache as the Web server
on Windows 2000 to illustrate its points but the underlying technique
could be applied to any platform and software.
Chapter 4 ("Performance Monitoring")
of the book,
"Web Performance Tuning, 2nd Edition" by Patrick Killelea defines the
parameters of performance and shows you a few methods on
measuring and monitoring it. Apache is used in the example for
setting up a version of ps that can be accessed
from the Web.