Re: Your opinion on a http accelerator

From: Scott Hess <scott@dont-contact.us>
Date: Mon, 17 Jan 2000 08:12:49 -0800

<jb@dslreports.com> wrote:
> On Sun, Jan 16, 2000 at 06:27:15AM +0100, Henrik Nordstrom wrote:
> > If however the web server sends dynamically generated content then an
> > accelerator may be beneficial, especially so if this dynamically
> > generated content is cachable. But even if the dynamically generated
> > content isn't cachable the accelerator may help by taking most of the
> > workload for static objects.
>
> This misses one point - with a pre-forking httpd, and dynamic content
> generated with buried interpreters and pre-byte compiled modules,
> such as php or modperl, an accelerator allows the child httpd to
> write at full speed then become free for another request. With
> modperl this is absolutely critical given that one httpd can easily
> exceed 10mb of non-shared memory.

The SendBufferSize directive in combination with SO_LINGER accomplish the
same effect, without involving Squid. I spent nearly a week trying to
convince myself that Squid helped do exactly what you describe under
FreeBSD with Apach+mod_perl, and even though I was biased, I still couldn't
convince myself that the effect was more than marginal when you have
SendBufferSize set to something reasonable (like 64k).

Obviously you could also modify your OS defaults, rather than use the
Apache directive.

> Which brings up a question.. will squid buffer non cacheable dynamic
> content of any length and feed it to a slow reader? or is there a
> limit (8k, 16k?) that would delay the accelerated httpd from
> finishing the request at full speed.

Part of the reason I didn't find a big Squid win was that Squid only
buffers a certain amount of data. This does extend your buffer size,
because you have Squid's send buffer plus Squid's internal buffer plus
Squid's receive buffer plus Apache's send buffer (call it 4*16k==64k), but
all of that is a really inefficient way to add buffer space!

I find the big win is for handling cachable static content (images,
executables, online manuals, etc) without involving the heavyweight
Apache+mod_perl. The same effect can be achieved by breaking up your site
into static and dynamic servers, but it's annoying to do that, and
increases the maintenance load. Squid makes it pretty transparent.

Later,
scott
Received on Mon Jan 17 2000 - 12:28:39 MST

This archive was generated by hypermail pre-2.1.9 : Tue Dec 09 2003 - 16:50:27 MST