Re: TDS (M$ SQL Server) in the high-latency environments

Re: TDS (M$ SQL Server) in the high-latency environments

am 31.03.2008 00:48:40 von Tim.Bunce

On Sat, Mar 29, 2008 at 06:03:01AM +0300, Fi Dot wrote:
>
> Our problem is that we have a single database that is being accessed by
> multiple application servers all over the world. Sometimes network latency
> between an appserver and the database could reach one second!!!
>
> The basic problem we're having is that, say, if I call a function on an
> appserver that has high-latency to the database, but low-latency to the
> client, it's *slower*, than if I would be calling the remote app server,
> that has low latency to the database, but high latency to the client.

> which doesn't make any sense to me, because the size of data transferred
> between the app and DB should be no higher than the size of data transferred
> from an appserver to a client (we use XMLRPC to do function calls on the
> appservers).

When dealing with latency the number of round-trips is almost always
much more significant than the size of the data transferred.

> We don't use bind, we just call sored procedures that return large record
> sets (possibly multiple ones).
>
> The only reason for this behavior I could see is that if TDS does
> roundtrips to fetch the data... that's my guess... Im going to sit down with
> Wireshark to see what's going on exactly, but meanwhile....
>
> Does anyone have any experience with that, or have any good pointers to
> documentation / info on that? I wasn't able to find anything decent on the
> Net :(

You might find DBD::Gofer useful.

Tim.