develooper Front page | perl.dbi.users | Postings from March 2008

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

Thread Next
From:
Fi Dot
Date:
March 28, 2008 20:03
Subject:
TDS (M$ SQL Server) in the high-latency environments
Dear All,

We have been struggling a lot about TDS & ODBC performance over high-latency
connections.

We're using MS SQL 2000 and unixODBC on Gentoo Linux to connect to it.

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.

Basically, to illustrate, this:

(cli) -> (app) -> < latency > -> (database)

is slower than this:

(cli) -> <latency> -> (app) -> (database),

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).

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 :(

Thanx in advance!

Fi.


Thread Next


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About