-
Bug
-
Resolution: Done
-
Major
-
None
-
None
SourceForge Submitter: kevinconner .
This is a duplicate of bug 525 in the JacORB database.
It is being submitted here so that a patch may be
applied to the JBoss patched version of JacORB. This
issue is critical for the functionality of ArjunaTS
within JBoss.
http://www.jacorb.org/cgi-bin/bugzilla/show_bug.cgi?id=525
We ran into a performance problem with jacorb, the
following details the issue
and the cause.
Once of our tests showed that the performance of our
application had dropped
significantly once we enabled certain functionality in
our code. I have managed
to track this down to an issue with JacORB.
The machine running our stress test showed a CPU usage
of approx. 10%,
drastically reducing our performance.
The issue occurs when calls are forced to go via IIOP,
in our case this was due
to the existence of interceptors, and involve a second,
internal, call over IIOP.
The cause of this performance degredation was tracked
down to the default
enabling of Nagle on the IIOP Connections, the sequence
of events were as follows.
- first call over IIOP and flush
- handling first call invokes second call over IIOP
and flush - handling second call has to wait for Nagle to
really send the data - response received to second call
- response received to first call has to wait for Nagle.
A workaround was attempted by disabling Nagle in the
ServerIIOPConnection and
ClientIIOPConnection. This brought performance back to
a more acceptable level.
The attached code demonstrates the issue.