I've been doing some profiling of our remote EJB3 invocations, and I just 
wanted to post and share what I found out.  I was able to achieve an average 
50% performance boost for our remote calls by changing 1 line in 
deploy/ejb3.deployer/META-INF/jboss-service.xml:

Original line:<attribute 
name="InvokerLocator">socket://${jboss.bind.address}:3873</attribute>

New line:<attribute 
name="InvokerLocator">socket://${jboss.bind.address}:3873/?serializationtype=jboss&socket.check_connection=false</attribute>

JBoss serialization gives a really nice performance boost.  However, I did run 
into a bug in JBoss AOP when I enabled it.  I posted a patch for this at 
http://jira.jboss.com/jira/browse/JBAOP-347.

The other change that gave an almost equally impressive boost was the 
check_connection=false bit.  The socket transport sends a 1 byte ping to the 
server and waits for a 1 byte response before handing the socket back to the 
client from the pool.  So because of this, every remote invocation actually 
involves 2 round trips by default.  Adding this parameter to disable this check 
shaves a few milliseconds off of each remote call, on average.

However, this does seem to cause a problem in that, once the socket connection 
times out (default configuration value is 1 minute), the subsequent remote call 
fails on the client side, because it tries to reuse the closed socket 
connection.  The call after this is fine because it gets a fresh connection.  
So to resolve this, I increased the socket connection timeout to 10 minutes 
(timeout=600000), and created a custom client-side interceptor that wraps the 
invocation, checks for an IOException, and retries the call once when it 
happens.

This seems to be working pretty well, and is significantly faster.  If anyone 
has any suggestions for how to squeeze some more performance out of the 
transport, or sees anything potentially wrong with what I'm doing, I'd 
appreciate hearing about it. :)

--Tim

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

Reply to the post : 
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4004109
_______________________________________________
jboss-user mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/jboss-user

Reply via email to