Return-Path: Delivered-To: apmail-xml-cocoon-dev-archive@xml.apache.org Received: (qmail 89337 invoked by uid 500); 3 Feb 2003 18:35:42 -0000 Mailing-List: contact cocoon-dev-help@xml.apache.org; run by ezmlm Precedence: bulk list-help: list-unsubscribe: list-post: Reply-To: cocoon-dev@xml.apache.org Delivered-To: mailing list cocoon-dev@xml.apache.org Received: (qmail 89290 invoked from network); 3 Feb 2003 18:35:41 -0000 Delivered-To: <> User-Agent: Microsoft-Entourage/10.1.1.2418 Date: Mon, 03 Feb 2003 18:37:29 +0000 Subject: Re: [OT rant] there must be some way out of here... From: Pier Fumagalli To: Message-ID: In-Reply-To: <3E3EB37E.1010608@apache.org> Mime-version: 1.0 Content-type: text/plain; charset="US-ASCII" Content-transfer-encoding: 7bit X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N "Berin Loritsch" wrote: > > The Haboob server built on SEDA has promise--although it is primarily a > research project. Imagine being able to gracefully handle 10,000 > clients simultaneously with a proper scaling of performance--all in > Java. (it makes use of the NBIO library with JNI). It is no where > near Servlet compliant, but as a static HTML or simple CGI based server > that is impressive by any standard. > > In fact this server outperformed Apache HTTPD 1.3.x in tests on a Linux > box! Incredimazing! Nope... Not that much... If you consider that when you go non blocking, all you have to do is parse the HTTP request, figure out where the file is, and then tell the kernel to basically "copy" it over a socket (and call me back when you're done), is not _that_ incredible... It achieves performances really close to in-kernel HTTPD stacks, _very_ cool... Actually there's even a patch somewhere to allow Apache 1.3 to do roughly the same thing with Solaris doors and stuff (it is somewhere split between the Apache site and Sun's). But _note_, there's one little caveat, it works AMAZINGLY fast, if you have data in ram (and you can give it a pointer to it), or on disk. If you have to dynamically generate requests, you won't be getting much better performances out of it... Look at it as a parallel to the DMA as it is implemented in hardware. It works particularly well with a JVM because everything (threads included) are virtualized, and in a hybrid situation, it would be amazing with the Cocoon cache (using NIO, you can basically use the "old" 1 thread per request when generating the cache, and then use the new "non-blocking" to serve data OFF the cache). (Ok, enough... I spent way too much time on high-performance network stacks in the past 2 years! :-) I'm going _way_ offtopic!) Pier --------------------------------------------------------------------- To unsubscribe, e-mail: cocoon-dev-unsubscribe@xml.apache.org For additional commands, email: cocoon-dev-help@xml.apache.org