Hey David,
I am not really working on anything specific, I was just curious as to
how many calls per second a client could make to a stateless session
bean. I could never get more than ~4000 ejb calls. I was sure it
wasn't a configuration issue since the first 4000 calls worked. I
discovered that there was a tonne of sockets in a "TIME_WAIT" state on
the server side, which didn't seem right. Eventually, I found that the
client was doing the open-write-read-close. I wrote a client/server
program that did exactly the same and sure enough after about ~4000
calls my sample demonstrated the same behaviour. After some more
research, I learned that windows reserves the range 1024 > n < 5000 for
the "dynamic" ports (not sure what the correct term is). This is
co-incided with the connection limits I was seeing.
Anyway, I just thought that could be better so I made some changes. :-)
I'd like to slowly complete the code and allow user configuration and
then I'd had it over to the OpenEJB team for review.
Thanks
Mark
David Blevins wrote:
On Oct 26, 2006, at 8:31 PM, Mark DeLaFranier wrote:
Jacek,
I was going to do a top level diff, but it had lots of other diffs
due to having other modified files. To reduce the complexity of the
diff, I only diff'd the ServerMetaData.java file.
I am certainly not a svn experty :-), but a current diff shows me:
> svn diff | wc
1189 5247 49331
Thats quite a lot to filter out and make your job easier of assessing
my patch.
What are your thoughts?
That's totally fine, Mark. It only takes a second to figure out where
they go. Thanks for all the time you put into tracking this
performance issue down!
You've got me curious about what you're working on that has you
running OptimizeIt on the client :) No sweat of you're not at liberty
to share too many details -- we're always happy to be on the receiving
end of any kind of work people do with OpenEJB.
Thanks,
David
Thanks
Mark
Jacek Laskowski (JIRA) wrote:
[ http://issues.apache.org/jira/browse/OPENEJB-295?page=all ]
Jacek Laskowski resolved OPENEJB-295.
-------------------------------------
Fix Version/s: 2.2
Resolution: Fixed
Assignee: Jacek Laskowski
Sending ServerMetaData.java
Transmitting file data .
Committed revision 468031.
Thanks Mark!
A (friendly) note: please run svn diff at the top-level directory of
OpenEJB sources.
o.a.o.client.ServerMetaData optimization wrt InetAddress.getLocalHost
---------------------------------------------------------------------
Key: OPENEJB-295
URL: http://issues.apache.org/jira/browse/OPENEJB-295
Project: OpenEJB
Issue Type: Improvement
Components: general
Affects Versions: 2.2
Environment: Windows XP
Reporter: Mark DeLaFranier
Assigned To: Jacek Laskowski
Priority: Minor
Fix For: 2.2
Attachments: OpenEJB-295.patch
While running OptimizeIt on a small test client, I stumbled across
the call to "InetAddress.getLocalHost();" which was taking 33% in a
client test. In this test the client was creating several copies
of an InitialContext object rather than sharing one.