Date: Thu, 18 Nov 1999 12:12:06 -0500 (EST) From: Zach Brown <zab@zabbo.net> To: freebsd-hackers@FreeBSD.ORG Subject: Re: mbuf wait code (revisited) -- review? Message-ID: <Pine.LNX.3.96.991118120624.30813Z-100000@devserv.devel.redhat.com> In-Reply-To: <199911181700.JAA85880@apollo.backplane.com>
next in thread | previous in thread | raw e-mail | index | archive | help
> Well, the wake-many problem hit me several times at BEST both with > Apache and with the WWW server I wrote. We had the problem under both > FreeBSD and IRIX. These were heavily loaded web servers and the wakeup > issue turned into an O(N^2) problem. Every time a connection was > accepted it woke up N processes where N effectively scaled to the > connection rate. For example, shellx (the IRIX box) was getting oh, I don't doubt that it can be a problem, just that it wasn't on the linux box I was playing with at the ZD retest of the mindcraft test. We didn't see the run queue go nuts, we just had plenty of proeccesses trying to do work. And they all were stuck waiting around for the single threaded tcp lock that was being highly contested with the 4 100mb interfaces going full steam with teeny httpd requests.. > The solution that I took with BestWWWD was to have just one process > accept all the connections and then have it dole the descriptor out to the > appropriate sub-processes over a unix-domain socket. *nod* I'd be interested in seeing bestwwwd, is the source available anywhere? phhttpd does this by changing who the sigio signal for incoming accepts gets delivered too.. after each accept it is handed to the next thread. -- zach - - - - - - 007 373 5963 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?Pine.LNX.3.96.991118120624.30813Z-100000>