[jboss-user] [Remoting] - ServerInvocationHandler Performance problem

aolias do-not-reply at jboss.com
Wed Jun 10 05:26:26 EDT 2009


I have a master/worker architecture.  Workers get data and then pass the data to servers using Callbacks

The worker registers a callback and the master invoques them based on a scheduling algorithm we have.

We have found that a big number of incomming connections decreases the performance at the master side.  What we do is we have a threadpool that is processing the data sent by workers. Also we keep a queue of data sent equals to the number of threads in the pool (we run a number of threads which is Ncpu * 1.5 )

For the communications berween master and server we use also JBossRemoting (TransporterServer).

We are trying to control the number of incomming connections.   I can control more or less based with the number or callbacks called and then as soon I receive the data I decrease the counter of pending connections.

The problem with this approach is that is asynchronous so if master sends the callback to the worker and this crashes before sending the data. Then the server thinks he is pending so we have a +1 pending connection which will never happen.  This cannot be used because if I set a limit of incomming connections and all of them are crashed workers, then no one would be able to send data anymore.

Is it there any way to know how many incomming calls we have? asking the transporter server?

Thanks in advance 

View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4236623#4236623

Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4236623

More information about the jboss-user mailing list