But in this way I will limit users max number in the hub server I think...
Is there any way to have a significant increase of performance ?
Regards,
Alex.
Niklas Therning wrote:
Alessandro Torrisi wrote:
Hi ! I'm developing a free and opensource Direct Connect software
(P2P server). Now that protocol implementation is quite complete I'm
testing with lot of connections.
When connections are made in a concurrent way (50-100 a time), the
server seems to be blocked...
Can I do something to improve performance, adjusting some parameter
or applying some programming pattern directly on Mina ? I've listened
about Thread Pools on SocketAcceptor and IoThreadPool but I didn't
find any tutorial or documentation, is it possible to directly
configure these ones ?
Yes. By default the maximum thread pool size equals Integer.MAX_VALUE.
It can be changed but this has changed bewteen MINA 0.8 and 0.9.
In 0.8, when using SimpleServiceRegistry, you can configure the
maximum pool size like this:
IoThreadPoolFilter f = (IoThreadPoolFilter)
reg.getIoAcceptor(TransportType.SOCKET).getFilterChain().get("threadPool");
f.setMaximumPoolSize(10);
In 0.9 its not that easy since the ThreadPoolFilter used by
SimpleServiceRegistry isn't accessible until a session has been
created. You could try to extend SimpleServiceRegistry and configure
the protected threadPoolFilter yourself:
public class MyServiceRegistry extends SimpleServiceRegistry {
public MyServiceRegistry() {
super();
threadPoolFilter.setMaximumPoolSize(10);
}
}
And then instead of using SimpleServiceRegistry you use
MyServiceRegistry.
Both of these approaches will use a thread pool of at most 10 threads.
HTH
/Niklas