|
From: <Aar...@cr...> - 2008-04-07 15:01:51
|
We've been using the Java wrapper service for a socket 'proxy' type
server. The server starts and listens to a port using the ServerSocket
.accept() method. As incoming TCP/IP socket requests come in, the server
then hands it off to another thread that then keeps the socket open and
has a 'stateful' type conversation. The socket 'proxy' server then
communicates with stateless EJB's via a JBoss 4.2.1 application for any
information the incoming socket may need.
Anyhow, the issue that we are running into deals with the number of
sockets that the socket server will accept and multi-cpu machines. For
example, we have a quad core machine that if we run the socket server
under command line (bat file), we can have well over 1,000 sockets be
accepted and handled. If we run the socket server under the java wrapper
service, only 230-240 sockets will be accepted when 1,000 were originally
sent. We have the exact same results for a single CPU w/HT and dual core
machines. It's strange because we have higher number (300+) of incoming
sockets that can be handled from a single CPU than with a all the other
CPU scenarios.
Does anyone have ideas on what may be limiting the number of incoming
sockets the ServerSocket.accept() method can handle? Is there some kind
of configuration property that I need to add in order for the wrapper to
handle a multi-cpu machine?
Environment Details:
JDK 1.5
Java Wrapper Service 3.2.3 (also tested it with 3.3.0) --- using
the Integration method #1
Windows Server 2003 Standard/Enterprise (32-bit & 64-bit)
-- Aaron |