Re: Thread implementations...

Dean Gaudet (dgaudet-list-linux-kernel@arctic.org)
Thu, 25 Jun 1998 13:49:05 -0700 (PDT)


On Thu, 25 Jun 1998, Larry McVoy wrote:

> : My personal observation has been that most webservers do mostly static
> : stuff, with a small percentage of dynamic behaviour. For example, even if
> : they have lots of CGI etc, often a big part of the page (bandwidth-wise)
> : tend to be pictures etc.
>
> This is true for most web servers. However, most web servers are idle so
> we don't care about them.

There's also proxies -- which for all intents and purposes are
static-content-only servers. They need to get the data onto disk at some
point, but after that it's just a static object. And folks use proxies
for more than just helping with slow links... some sites use proxies to
front a farm of dynamic servers -- the "dynamic" content changes
infrequently (like once a day), so the proxies can cache it for the rest
of the day.

> If you look at busy web servers, they are much more slanted towards parsed
> html and cgi scripts. The busy web servers are all getting polluted with
> advertising and the advertising is typically parsed html so that it can
> either select a new add or try and select an add based on user interest.
> sendfile() isn't going to help there.

Right, and this is an entirely userland problem. The best I think we can
do here is for apache/whatever to implement page-based i/o somewhat like
the kernel. Rather than have internal primitives like fwrite() which copy
from one buffer to another, instead gift/loan the buffer (I like those
terms from your paper)... Apache 1.3 has some optimizations in this area
(it'll decide to use writev() in various circumstances rather than copying
and then write()ing), but there's much more possible.

Dean

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu