You *will* almost always see better performance for blocking IO with a low number (1700 in his test) of connections/threads.
NBIO is more interesting when you want a lot of connections. -Brian On Wed, Feb 20, 2008 at 11:03 AM, Rob Butler <[EMAIL PROTECTED]> wrote: > I suspect this comes down to using the right tool (or API) for the job. > > * Latency will be lower with normal IO because only a single thread is > involved with no hand-off between the IO thread and the 'worker' thread. > > * In general throughput will be higher with normal IO as long as the > number of connections/threads is reasonable. Probably a few hundred > simultaneous connections/threads on most OS's, more on Linux with NPTL. You > can probably get to 4-5K connections/threads on NPTL safely, but now your > limited to only running on Linux with NPTL. If you want that many > simultaneous connections on other OS's, you should use NIO. > > * If your needs are lots of simultaneous connections (10K or more), that > aren't very IO heavy, NIO is the way to go - even on NPTL. > > You can't even say that an HTTP server should use normal IO, or should use > NIO - because it depends on how the HTTP server is going to be used. If > your going to have lots of clients doing ajax stuff or using continuations, > go with NIO. If not, use normal IO. > > Rob > > ----- Original Message ---- > From: Mike Heath <[EMAIL PROTECTED]> > To: [email protected] > Sent: Wednesday, February 20, 2008 1:23:48 PM > Subject: Re: NIO vs NPTL+standard IO > > I've > suspected > for > a > while > that > you > can > getter > better > performance > using > thread-per-connection > on > Java. > I've > never > actually > tested > this > theory > though. > There > are > certainly > a > lot > of > scenarios > where > you > can > get > lower > latency > using > thread-per-connection > because > you > don't > have > the > overhead > of > queuing. > > Perhaps > we > should > start > looking > seriously > at > implementing > thread-per-connection > IoServices > for > MINA > so > we > can > do > some > apples > to > apples > performance > comparisons > between > NIO, > IO, > and > APR. > > -Mike > > Stefano > Bagnara > wrote: > > > Today > I > found > another > blog > post > on > the > "usual" > topic: > > > > http://mailinator.blogspot.com/2008/02/kill-myth-please-nio-is-not-faster-than.html > > > > > > > Is > this > FUD > or > a > new > trend > that > MINA > should > take > care > of? > > > > > Is > there > any > plan > to > support > standard > IO > as > a > transport > for > MINA > based > > > applications? > > > > > It > would > be > useful > to > understand > how > a > MINA > based > application > could > > > "switch > back" > to > multithreaded > standard > IO > and > result > in > better > > > throughput > on > modern > JVM/OS. > > > > > Thank > you, > > > Stefano > > > > > > > > > > > > > ____________________________________________________________________________________ > Be a better friend, newshound, and > know-it-all with Yahoo! Mobile. Try it now. > http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ > >
