Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 13 Feb 2002 17:14:54 +0600
From:      Alexey Dokuchaev <danfe@cytherea.weblab.nsu.ru>
To:        Kip Macy <kmacy@netapp.com>
Cc:        thttpd@acme.com, hackers@FreeBSD.ORG
Subject:   Re: THTTPD web server: problems with KQUEUE on FreeBSD 4.5-STABLE
Message-ID:  <20020213171454.D14414@cytherea.weblab.nsu.ru>
In-Reply-To: <Pine.GSO.4.10.10202130214170.25935-100000@cranford>; from kmacy@netapp.com on Wed, Feb 13, 2002 at 02:29:30AM -0800
References:  <20020213160014.A97359@cytherea.weblab.nsu.ru> <Pine.GSO.4.10.10202130214170.25935-100000@cranford>

next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, Feb 13, 2002 at 02:29:30AM -0800, Kip Macy wrote:
> 
> > I still wonder, whether this problem occurs because of how thttpd does
> > things, or how FreeBSD implements kqueue stuff, however, I am not sure
> 
> I take it you don't have any logs for 4.4?
> 

You mean, webserver logs on FreeBSD 4.4?  I don't have them, however, this
problem did take place, and it persisted after upgrading to 4.5.  Sad but
true :(

>  
> > And one more question: out of kqread()/poll()/select() methods, which one
> > is more likely to perform better, both under normal server access, and
> 
> Under normal load it doesn't matter. Under heavy load there can be no
> comparison.
> see:
> http://www.kegel.com/dkftpbench/Poller_bench.html
> 
> This excerpt is the FreeBSD relevant portion:
> 
> 
> With 1 active socket amongst 100, 1000, or 10000 total sockets,
> waitAndDispatchEvents takes the following amount of wall-clock time, in
> microseconds (lower is faster): 
> 
> On a single processor 600Mhz Pentium-III with 512MB of memory, running FreeBSD
> 4.x-STABLE (results contributed by Jonathan Lemon): 
> 
>      pipes    100    1000    10000   30000
>     select     54       -        -       -
>       poll     50     552    11559   35178
>     kqueue      8       8        8       8
> 
> (Note: Jonathan also varied the number of active pipes, and found that kqueue's
> time scaled linearly with that number, whereas poll's time scaled linearly with
> number of total pipes.) 
> 

Hmm...  It looks like kqueue is really the way to go...  I think I should do
a bit further investigation on this subject, since poll() does not satisfy me
anymore :)

Regards,
Alexey D.

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?20020213171454.D14414>