Hi Rickard !

I am working right now for spyderMQ on the RMI Invocation Layer. My very
first concern is to design another Invocation Layer Plugin ( using sockets )
for the Broker's remote calls. My goal is not to rewrite RMI (which is
designed to work efficiently with any type of object), but to investigate
this way to see if we can look for a better scalibility/throughtput using a
specific Invocation Layer. This could help jBoss too.

Norbert

----- Original Message -----
From: "Rickard �berg" <[EMAIL PROTECTED]>
To: "jBoss Developer" <[EMAIL PROTECTED]>
Sent: Friday, June 16, 2000 12:37 AM
Subject: [jBoss-Dev] jBoss performance problem - found


Hey

I found the problem: when a proxy was sent back to the server it
registered the embedded container stub with RMI, which then wanted to
send a DGC call to it. For some reason it did not try to reuse
connections (that much, a connection could be reused 10 times, and then
a new one was created), so new connections were created A LOT. This led
to OutOfMemory exceptions after awhile, and also lousy performance.

I have made one workaround, which is to set the container reference in
the proxy to null if isLocal() is false. When it is deserialized it is
*hoped* that isLocal will be true so that it will regain a container
reference locally. This will of course only work if references are being
sent back and forth between a client and a server. Sending proxies
between clients will fail. Hopefully this is not something one would
commonly do though.

So, now the nr of RMI threads/connections have reduced quite a bit and
is happily tugging along at 2 (one for test client calls, and one for
remote DGC).
However, the calls are stiiillll sllooowww... and -Xprof only says that
it is socketRead/Write that takes time. Perhaps the proxy state is too
big. I don't know.

I'll keep investigating this.

/Rickard

--
Rickard �berg

@home: +46 13 177937
Email: [EMAIL PROTECTED]
http://www.telkel.com
http://www.jboss.org
http://www.dreambean.com




Reply via email to