Date: Tue, 02 Dec 1997 01:46:34 -0800 From: David Greenman <dg@root.com> To: Charles Mott <cmott@srv.net> Cc: hackers@FreeBSD.ORG Subject: Re: ftp server on ftp.cdrom.com Message-ID: <199712020946.BAA16682@implode.root.com> In-Reply-To: Your message of "Tue, 02 Dec 1997 02:05:39 MST." <Pine.BSF.3.96.971202013533.9777A-100000@darkstar.home>
next in thread | previous in thread | raw e-mail | index | archive | help
>> Anyway, I don't mean to squelch the conversation regarding this, but >> I do ask that people not make silly assumptions without first actually >> studying the problem. >> >> -DG > >No aspersions were intended towards your ftpd, at least on my earlier None taken. >Shared memory and advisory locking are a big nuisance to deal with when >trying to make software cleanly compile across different platforms and >kernel configurations. Threading eliminates the need for these things but >also creates other headaches. For moderate numbers of open sockets (50 to >100), a synchronous state machine with non-blocking I/O doesn't sound that >bad for some of my modest needs (far smaller than the Mt. Everest of >wcarchive). One of the reasons why I'm not releasing my hacked-up ftpd server is that it doesn't have any of the portability stuff of wu-ftpd (and never will). It is further highly FreeBSD-centric, even to the point of being built with it's own hacked up libc. Trying to support this in any general sense would be a nightmare...supporting FreeBSD is plenty enough to keep me awake at night. :-) >>From your standpoint, would there be performance advantages to 50 >processes each handling 50 connections vs. 2500 processes? Or as you say, >are sockets and disk I/O the primary thing? I think when the numbers of connections are on the order of 50-100, it doesn't make much difference which method you use. The traditional method of fork/exec for each ftpd is, however, rather expensive, so any server expected to do moderate to heavy work should at least run standalone - not from inetd. Other than that, I don't think a monolithic server (multi- threaded or a big state machine) vs. a one server process per connection is going to matter. -DG David Greenman Core-team/Principal Architect, The FreeBSD Project
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199712020946.BAA16682>