directory-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Vinod Panicker <vino...@gmail.com>
Subject Re: [mina] Performance issues
Date Thu, 24 Mar 2005 16:20:47 GMT
On Thu, 24 Mar 2005 09:20:53 -0500, Berin Loritsch
<bloritsch@d-haven.org> wrote:
> Trustin Lee wrote:
> 
> >>I'm expecting that MINA should be able to take 100K connections on the
> >>server.  It cant go over 65K for the client due to lack of available
> >>port numbers.
> >
> >
> > Can we accept more than 64K connections on the server side?
> >
> 
> Thats a good point!  If I recall correctly, you would be limited to 64k
> - 1 connections.  The details are fuzzy on this one as its been a while
> since I been familiar with papers on Berkley sockets.  Nevertheless the
> ServerSocket will listen on the port its bound to.  When the server
> accepts the socket connection a new Socket is created to communicate
> over an aliased port.  In other words, the listening can be happening on
> port 80, but the actual communication might happen on port 30231.

Nopes.  AFAIK the server doesnt use any ports except the one its
listening on when communicating with multiple clients.  netstat says
it doesnt, and so does the number of concurrent sessions I've managed
to establish.

> One of the challenges I faced with creating the denial service on the
> SEDANG project was that the server was listening on port 6666 or
> whatever, but the created SocketChannel was on a completely different
> port.  I got around that, but nevertheless it is how sockets work in Java.

Doesnt seem to fit in with my understanding.  Would be interested in
seeing it though.

> With 30k connections we may be at the practical limits of what the OS
> will allow.  I can guarantee this much, on a properly locked down box,
> you will have a hard time having any socket under the 1k mark.  That
> means you would be limited to at most 63K connections.  Not to mention
> we would start competing with other network bound services on our
> Unix/Windows boxes.  RPC is considered bad to have running, but it is
> there by default on Windows and necessary for NFS mounted shares.

Didnt quite get what you're saying out here.

> Keep in mind that even the original SEDA project with the experimental
> Haboob HTTP server was targeting 1000 simultaneous connections.  We have
> far acceeded that with no load.  Pretty soon we will have to see how the
> system responds with load, but you've already alluded to that.

The target system for me is an IM system, and I've set the per-box
concurrent connection limit with required performance at 20,000 :)  If
I finalize on a Shared Nothing architecture, this figure might not be
achieveable.  Looks reasonable to me though.

Regards,
Vinod.

Mime
View raw message