D
Dave Rathnow
We have an application running on W2K that needs to handle hundreds of
incoming TCP connections at a time. These connections will arrive at a
rate of 200 or more at a time, which means they will all be hitting the
target machine at virtually the same time. This number could go much
higher in a production environment. The initial cut of this program
was not well tested and we are currently having scaling problems.
I've been playing with NIO's non-blocking channels to see how Java will
handle this load. I have a test program that is running on a separate
machine and fires off 200+ threads to attempt connections into the
machine at the same time. What I'm seeing are a lot of "connection
refused" errors yet my server application seems to be idling, that is
there is little CPU usage.
We have a customer who is seeing similar behavior from out existing
application, which runs on a dual 2.4 GHz processor machine with 4 GB
or memory. The machine is virtually idle, yet incoming applications
are getting "connection refused" errors.
So this makes me wonder where is the bottleneck. Is it with the JVM?
The OS? The network interface? Is this type of traffic practical for a
java application to use? Could anyone give me some pointers on how I
much find the source of the problem come up with a solution?'
Thanks
Dave.
incoming TCP connections at a time. These connections will arrive at a
rate of 200 or more at a time, which means they will all be hitting the
target machine at virtually the same time. This number could go much
higher in a production environment. The initial cut of this program
was not well tested and we are currently having scaling problems.
I've been playing with NIO's non-blocking channels to see how Java will
handle this load. I have a test program that is running on a separate
machine and fires off 200+ threads to attempt connections into the
machine at the same time. What I'm seeing are a lot of "connection
refused" errors yet my server application seems to be idling, that is
there is little CPU usage.
We have a customer who is seeing similar behavior from out existing
application, which runs on a dual 2.4 GHz processor machine with 4 GB
or memory. The machine is virtually idle, yet incoming applications
are getting "connection refused" errors.
So this makes me wonder where is the bottleneck. Is it with the JVM?
The OS? The network interface? Is this type of traffic practical for a
java application to use? Could anyone give me some pointers on how I
much find the source of the problem come up with a solution?'
Thanks
Dave.