What does the client code look like? Also you seem to have a typo in your posts. I believe you meant millisecond and not second in the timings report. Anyway, this usually isn't the right way to test performance. How many invocations are you doing? And how is the difference by a few milli seconds affecting the application? What kind of an application are you using?
Yes I meant millisecond, sorry for typo. Edit option was not coming for my 1 post.
I have posted the result of only single call. In production there can 1000s of call, where average delay of 9ms/request can result in 9 second delay for 1000 calls which is huge for critical applications.
This can also be checked on JProfiler. I loaded my server with 1000 synchronous calls. My Profiler (which is attached to JBOSS7.1.1) is only capturing 65% of the time.
For example if I run the utility for 1000 calls which is taking 100 sec to get the response, profiler is showing only 65 seconds which I presume is lost in remote network calls.
To make sure JProfiler results are correct, same application on JBOSS600 with JProfiler shows 99% accurate time as taken by the utility.
If required I can post the results of even 1000 calls.
For performance test we load the server with 1000 synchronous calls.
On JBOSS6 I am getting result which gives average 19ms/request and on JBOSS7.1.1 it is giving 29 ms/request. This is almost 50% more then JBOSS6.
Test case is simple:
I am doing a RemoteHome lookup then calls a create method to get the remote interface.
Next I am calling the a remote business method in a loop 1000 times in loop.
This is a real time finance application.
We are invoking a remote EJB and passing a XML String with about 1500 characters, in response we get a serializable response object which contains the results for all the business instructions send to server for processing.
I have created a simple sample application which calls a remote EJB method (without any parameter). Performance on JBOSS6 and JBOSS7 was comparable with these simple invocations.
Could it be that serialization and deserialization process is making the process slow?
Like I said, it can't be guessed and since you are worried about milli second difference in the response times, it can even be something like logging which can impact the numbers. So without a proper performance testcase with relevant configurations, it really isn't going to be worth trying to guess what's wrong.