Re: optimizing link between client and server
- From: Simon Britnell <simon britnell peace com>
- To: orbit-list gnome org
- Subject: Re: optimizing link between client and server
- Date: Thu, 30 Nov 2000 07:17:57 +1300
Amitabh A. Nene wrote:
I wanted to know how does one go about optimizing the link between a CORBA
client and server using ORBit / any other ORB in general. In other words,
how does one configure the link depending on whether the client and server
are in the same address space, different address spaces on the same
physical machine, or on separate physical machines ?
Hmmm. I'm a little unsure of what you're asking. Your question appears
to be "How do I select which transport an ORB is using (SHM,TCP/IP,Unix
Sockets,Sun RPC,etc) for any ORB?" The answer is "That depends on the
ORB." ORBit specifically has a configuration file /etc/orbitrc which
switches between unix sockets and tcp/ip as these are the transports it
provides.". Many ORBs automatically make the decision to use
dync-call/no marshalling whenever they detect that they are both the
client and the server for an IOR. I *think* ORBit is one of these.
It also occurs to me that your real issue may be a performance one, in
which case I can only say "Minimise round trips". The further the
distance between your client and server, the bigger the latency penalty
you will pay. Calling a remote object method fetchNextFoo() repeatedly
to fetch a thousand records will perform fine over SHM where latency is
<1ms, but will die screaming over the internet even at a latency of only
100ms (giving a 10 second response time for 1000 records in latency
alone) and >500ms latencies are not uncommon. Far better to implement a
method fetchAllFoo() which is called once.
Also, in the current ORBit implementation, do these paths translate to
dyn-call/no-marshaling, shared-mem, and RPC respectively, if at all ?
I don't think ORBit does SHM yet. I know it does dyn-call, unix
sockets, tcp/ip4 and tcp/ip6 (same ram address space, same machine,
seperated by network).
Hope this helps.
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]