
Signature
Nigel Wade, System Administrator, Space Plasma Physics Group,
University of Leicester, Leicester, LE1 7RH, UK
E-mail : nmw@ion.le.ac.uk
Phone : +44 (0)116 2523548, Fax : +44 (0)116 2523555
>> I have a simple RMI server and a stress testing application is able to
>> connect to it about 400 times and then suddenly future connection
[quoted text clipped - 43 lines]
> versions of
> Windows).
Thanks Nigel - I figured it had something to do with a limitation of
Windows. It's actually a Vista x64 machine that I am running it on at the
moment. So, I guess then I should be hosting this server on a Linux
machine? Is that the only way around this problem?

Signature
And loving it,
-Q
_________________________________________________
Qu0llSixFour@gmail.com
(Replace the "SixFour" with numbers to email me)
Lew - 11 Dec 2007 14:19 GMT
> Thanks Nigel - I figured it had something to do with a limitation of
> Windows. It's actually a Vista x64 machine that I am running it on at
> the moment. So, I guess then I should be hosting this server on a Linux
> machine? Is that the only way around this problem?
Certainly not. There's Solaris, FreeBSD, ...

Signature
Lew
Nigel Wade - 11 Dec 2007 15:40 GMT
>>> I have a simple RMI server and a stress testing application is able to
>>> connect to it about 400 times and then suddenly future connection
[quoted text clipped - 48 lines]
> moment. So, I guess then I should be hosting this server on a Linux
> machine? Is that the only way around this problem?
The problem I had was on the client, not the server. The server was/is running
Linux. I have no idea how a server process running under Windows (or Windows
itself) would react to that level of socket creation/destruction. You can
easily see if this is the problem by running netstat in a command shell. This
should show you every network connection, and its current state. If you see
lots of sockets in one of the shutdown states (TIMED_WAIT, CLOSE_WAIT,
FIN_WAIT_1/2 etc.) then you have a similar problem to mine.
Is your stress test a realistic load? Is there a way to change the load so that
it doesn't require the creation/destruction of sockets at such a high rate? I
thought one of the improvements in Vista was the TCP/IP stack, although it may
well be that this method of closing sockets down is more efficient for a client
which isn't expected to be opening/closing sockets at such a high rate. After
all, this is not a normal load for a client and the Windows most people have is
the client version.
I worked around the problem by changing the protocol so the client didn't need
to create (and destroy) so many sockets.

Signature
Nigel Wade, System Administrator, Space Plasma Physics Group,
University of Leicester, Leicester, LE1 7RH, UK
E-mail : nmw@ion.le.ac.uk
Phone : +44 (0)116 2523548, Fax : +44 (0)116 2523555