[omniORB] Extreme slowdown of omniORB with messages >=1024 characters
Robert Nebauer
robert.nebauer@fait.at
Wed, 27 Mar 2002 15:27:22 +0100
Am Dienstag, 26. M=E4rz 2002 17:40 schrieb Duncan Grisby:
> On Tuesday 26 March, Robert Nebauer wrote:
> > I played a little bit with the echo examples in the omniORB4-20020325
> > snapshot. While sending messages greater than or equal 1024 chars (i.=
e.
> > strings with a length of 1023 characters) omniORB slows downs extreme=
ly.
> >
> > The performance drops from 0,3 ms/call to 80 ms/call (Athlon 700mhz) =
and
> > the cpu-usage goes down to 1-2%. It doesn't matter if thread tracing =
is
> > enabled or not.
>
> Are the client and server on the same machine? =20
Yes.=20
> There is something
> very dodgy about the Linux TCP loopback that causes wild fluctuations
> in transmission times. If you increase the message size even more,
> you'll find that the time decreases again, then cycles.
>
> The work-around for omniORB 4 is to enable the Unix domain socket
> transport, since that works fine. Use command line arguments of
> -ORBendPoint giop:unix: -ORBendPoint giop:tcp:: (or the config file
> equivalents) to enable the Unix transport.
With "-ORBendPoint giop::unix:" the performance is excellent now. But the=
=20
slowdown probleme occurs also on different machines. I have no troubles w=
hen=20
a non omniORB-client (e.c. ORBit-0.5.14) is sending the message.
Here my performance results:
+ RedHat 7.1, linux-2.4.17
+ 1000x calls of echo()
+ with no reply from server (empty string).
+ first column: msg length, second column: time for 1000 calls
+ omniORB-20020326 on client and server
same machine: -ORBendPoint giop:unix:
(good - scales linear with the message size)
512 0.193s
1023 0.199s
1024 0.215s
2048 0.230s
4096 0.251s
8192 0.294s
16384 0.386s
32768 0.594s
65536 1.544s
131027 3.909s
262144 7.943s
524288 16.481s
1048576 30.270s
same machine: -ORBendPoint giop:tcp::
(bad at some msg. sizes)
512 0.220s
1023 0.224s
1024 40.020s <=3D slow, very low cpu usage
2048 40.023s <=3D slow, very low cpu usage
4096 40.029s <=3D slow, very low cpu usage
8192 40.026s <=3D slow, very low cpu usage
16384 0.430s
32768 40.178s <=3D slow, very low cpu usage
65536 1.821s
131027 24.958s <=3D slow, very low cpu usage
262144 39.287s <=3D slow, very low cpu usage
524288 50.375s <=3D slow, very low cpu usage
1048576 70.112s <=3D slow, very low cpu usage
different machines (100mbit): -ORBendPoint giop:tcp::
(bad only at 1024 chars)
512 0.368s
1023 0.431s
1024 40.017s <=3D slow
2048 0.694s
4096 0.849s
8192 1.295s
16384 2.295s
32768 4.540s
65536 9.146s
131027 18.323s
262144 45.007s
524288 72.990s
1048576 149.924s
RN
--=20
Robert Nebauer R&D
FAIT Internet Software AG
Getreidemarkt 14/29, A-1010 Vienna, Austria
phone: +43 1 585 56 30 - 14, fax: +43 1 585 56 30 - 33
mailto:robert.nebauer@fait.at
http://www.fait.at