Patrizio Munzi wrote:
Doing some performance tests on my client/server application with two 2-CPUs machines I see that adding two thread pools (one for MESSAGE_RECEIVED and one for WRITE) application performances lower. Of course it depends from my application and test machines but it shows that using thread pools doesn't always brings benefit with it.

Can you post the performance results you get in the different cases you tested ?

I wonder if performances reduction in case of thread pools executors depends on some kind of overhead spreading work among threads.
There are many factors :
- you now have a pool to manage : that mean some synchronization
- spreading jobs on threads does not lead to a linear improvement
- depending on what the threads are doing, you may have a lower performance if, for instance, you are sharing data across tasks - from the MINA pov, adding a new filter in the chain add some more processing (each filter induce 3 more methods calls), but that should be not measurable.

Now, it also depends on how many threads you manage in the pool.



--
--
cordialement, regards,
Emmanuel Lécharny
www.iktek.com
directory.apache.org


Reply via email to