Alex Karasulu a écrit :
Emmanuel,
I have done some more test, on the 'big server' ( 8 CPUs), changing the
SocketAcceptor initialization with something like what you suggested :
tcpAcceptor = new SocketAcceptor(
Runtime.getRuntime().availableProcessors(),
threadPoolExecutor );
(we already have this threadPoolExecutor, so I reuse it).
BTW I thought I made a configuration parameter that set the number of
executor threads.
The configuration use the number of threads to initialize the
threadPoolExecutor, but the ioProcessor array (inside theSocketAcceptor
constructor) is initialized with the number of processor. With the void
constructor we were using, it defaulted to 1, even if the
threadPoolExecutor was correctly initialized. So the system was not
scaling well on multi-processor servers.
Emmanuel