-
Bug
-
Resolution: Fixed
-
P2
-
j2ee1.3.1-fcs, 7.0se, 1.4.1
-
02
-
sparc
-
solaris_2.6, solaris_8
-
Not verified
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-2060499 | 1.4.2 | Harold Carr | P2 | Closed | Fixed | b09 |
Problem Description:
-----------------------
We are seeing extremely poor performance from the PIORB when client
interceptors are installed. I have a test which does a void-void ping on a
remote server. On the ORB without any interceptors I can do about 100000
invokes in 70s. If I install a null interceptor (every method does nothing)
this drops to 100000 invokes in 200s. Stranger still the results get worse
the longer I run the test for. So 10000 invokes complete in 10s and then
increases non-linearly - 20000/21s, 30000/35s, 40000/50s ...
Attached is a testcase. You will need an appserver to deploy the RMI object
on (or you may be able to do it with the JDK orb. It is dependent on your
server being quick enough to sustain the load.
unjar and build. Deploy PingerImpl in your appserver.
To run you need to do:
java -classpath . piorbtest.PIORBTest <url> 100000
where url is the address of your CosNaming service that is hosting the RMI
object.
The test runs for me in 246s. If I remove the call to
add_client_request_interceptor it runs in 76s. Note that I am not doing
set_slot or anything like that.
*****************************************************************************
###@###.### 2002-12-10
Fix verified OK.
With build - j2sdk-1_4_2-beta-bin-b09-solaris-sparcv9-04_dec_2002
With test - tests/performance/interceptors
*****************************************************************************
-----------------------
We are seeing extremely poor performance from the PIORB when client
interceptors are installed. I have a test which does a void-void ping on a
remote server. On the ORB without any interceptors I can do about 100000
invokes in 70s. If I install a null interceptor (every method does nothing)
this drops to 100000 invokes in 200s. Stranger still the results get worse
the longer I run the test for. So 10000 invokes complete in 10s and then
increases non-linearly - 20000/21s, 30000/35s, 40000/50s ...
Attached is a testcase. You will need an appserver to deploy the RMI object
on (or you may be able to do it with the JDK orb. It is dependent on your
server being quick enough to sustain the load.
unjar and build. Deploy PingerImpl in your appserver.
To run you need to do:
java -classpath . piorbtest.PIORBTest <url> 100000
where url is the address of your CosNaming service that is hosting the RMI
object.
The test runs for me in 246s. If I remove the call to
add_client_request_interceptor it runs in 76s. Note that I am not doing
set_slot or anything like that.
*****************************************************************************
###@###.### 2002-12-10
Fix verified OK.
With build - j2sdk-1_4_2-beta-bin-b09-solaris-sparcv9-04_dec_2002
With test - tests/performance/interceptors
*****************************************************************************
- backported by
-
JDK-2060499 PIORB is slow when ClientRequestInterceptor is used
-
- Closed
-
-
JDK-2060500 PIORB is slow when ClientRequestInterceptor is used
-
- Closed
-