users@glassfish.java.net

IIOP calls not scaling well

From: <glassfish_at_javadesktop.org>
Date: Mon, 05 Mar 2007 04:34:55 PST

Hi,

I did a small test to compare IIOP protocol with SOAP. I created a stateless Session Bean with Remote and Local interfaces. Remote interfaces uses IiopClient. Local interfaces uses WebService implementation. WSClient uses WS port, of course.

Clients are threaded, so I repeated tests for 1, 5, ...45, 50 concurrent threads. Everything was executed on T2000 8 cores CPU, 32GB RAM, SJAS9.0 Update 1 (default settings).

The results of retrieving 50 objects containing 20 fields each are (in milliseconds):

||-el calls IIOP SOAP
1 457 436
5 838.8 475.2
10 1344.6 520.2
15 1888.93 540.8
20 2194.55 551.65
25 2979.48 627.36
30 3273.03 631.967
35 3931.49 658
40 4137 783.925
45 4445 864.533
50 5144.52 1329
</table>

Questions:

1) How this is possible to have such bad IIOP response times, as ORB is set to use a thread-pool with 200 threads as max pool size? According to results, it seem to have only 1 working thread in the pool and that all other requests are queued? What settings should I use?

2) I noticed a big response time for first call on WS (~500ms) always. Why is that big overhead?

Thanks in advance,
Aleks
[Message sent by forum member 'amilenovic' (amilenovic)]

http://forums.java.net/jive/thread.jspa?messageID=206196