cocoon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Pier Fumagalli <>
Subject Re: [OT rant] there must be some way out of here...
Date Mon, 03 Feb 2003 18:37:29 GMT
"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!)


To unsubscribe, e-mail:
For additional commands, email:

View raw message