Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 19 Feb 2002 09:20:58 +0000
From:      Dominic Marks <dominic_marks@btinternet.com>
To:        Peter Wemm <peter@wemm.org>
Cc:        Mike Silbersack <silby@silby.com>, Hiten Pandya <hiten@uk.FreeBSD.org>, freebsd-hackers@FreeBSD.ORG
Subject:   Re: In-Kernel HTTP Server (name preference)
Message-ID:  <20020219092058.A78717@host213-123-131-110.in-addr.bto>
In-Reply-To: <20020219025401.C1B013A9A@overcee.wemm.org>; from peter@wemm.org on Mon, Feb 18, 2002 at 06:54:01PM -0800
References:  <20020218134544.C48587-100000@patrocles.silby.com> <20020219025401.C1B013A9A@overcee.wemm.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, Feb 18, 2002 at 06:54:01PM -0800, Peter Wemm wrote:
> Mike Silbersack wrote:
> > 
> > On Mon, 18 Feb 2002, Hiten Pandya wrote:
> > 
> > > hi all,
> > >
> > > As to conclude this thread (for me.), I have come to the decision of
> > > actually starting a project for making a BSD Licensed in-kernel HTTPd
> > > server.  The project will be on SourceForge.net.
> > >
> > > As you all know, that when starting a project, a name is needed for
> > > project; I completely out of ideas, and I have literally no creative
> > > skills. :)
> > 
> > If you want to be really useful, I have a better first step for you. :)
> > 
> > Common wisdom seems to be that Apache is slow, other httpds are faster,
> > custom ones are fastest.  However, I don't think I've actually seen any
> > comparisons since this one of thttpd vs others:
> > 
> > http://www.acme.com/software/thttpd/benchmarks.html
> > 
> > Before starting work on a kernel httpd, you might wish to run similar
> > benchmarks (with perhaps only 5 different httpds) to see what the current
> > performance of FreeBSD is; it may turn out that some limitation in the TCP
> > stack is hit even by userland httpds, and your effort would be better
> > spent on fixing that first.
> 
> The problem is that our threads implementation sucks.  The moment that
> thttpd has to do an actual disk read on freebsd, the whole thing comes to a
> screeching halt.
> 
> Threaded http servers do not stand up to real-world loads on freebsd, unless
> there are very specially constructred scenarios in place.. ie: everything is
> in ram, no FS calls ever block, etc.

I don't believe tHttpd is threaded.

http://www.acme.com/software/thttpd/notes.html on the section
regarding non-blocking I/O:

"The fourth generation. One process only. No non-portable threads/LWPs.
Sends multiple files concurrently using non-blocking I/O, calling
select()/poll()/kqueue() to tell which ones are ready for more data.
Speed is excellent. Memory use is excellent. Portability is excellent.
Examples of this generation: Spinner, Open Market, and thttpd. Perhaps
Apache will switch to this method at some point. I really can't
understand why they went with that complicated pre-forking stuff.
Using non-blockijng I/O is just not that hard."

> Cheers,
> -Peter
> --
> Peter Wemm - peter@FreeBSD.org; peter@yahoo-inc.com; peter@netplex.com.au
> "All of this is for nothing if we don't go to the stars" - JMS/B5
> 
> 
> To Unsubscribe: send mail to majordomo@FreeBSD.org
> with "unsubscribe freebsd-hackers" in the body of the message

-- 
Dominic

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20020219092058.A78717>