Skip to Content.
Sympa Menu

freetds - RE: [freetds] FreeTDS performance

freetds AT lists.ibiblio.org

Subject: FreeTDS Development Group

List archive

Chronological Thread  
  • From: Frediano Ziglio <freddyz77 AT tin.it>
  • To: FreeTDS Development Group <freetds AT lists.ibiblio.org>
  • Subject: RE: [freetds] FreeTDS performance
  • Date: Sat, 17 May 2003 12:12:54 -0000

Il ven, 2003-05-16 alle 19:07, Lowden, James K ha scritto:
> > From: Bort, Paul [mailto:pbort AT tmwsystems.com]
> > Sent: May 16, 2003 11:37 AM
> >
> > Also, what dirty tricks is Query Analyzer pulling under the hood?
>
> None. What could it do? The answer has to come from the server. Windump
> will confirm.
>
> > You might want to try the command-line version (isql.exe) instead.
>
> Apples and oranges. QA is ODBC over TDS 7.0 isql is a db-lib app using TDS
> 4.2, meaning the varchar data are represented as ASCII.
>
> A better test would compare bcp.exe to freebcp, using native data formats.
> That would bypass the binary->character conversions and the terminal I/O.
> The last time I did such a test -- a couple of months ago, discussed in the
> archives -- freebcp held its own against bcp.exe.
>
> Our numeric->char conversion was inordinately slow, but Frediano since fixed
> that. Money is now the bad guy, and I hope we'll solve that when we
> eventually get Bill Thompson's 8-byte integer version working on both sides
> of the Endian divide.
>
> I'm at a loss to explain what Frediano's bumped into. I hope it turns out
> to be --extra-checks or DMALLOC or something of that ilk.
>

I disable display saving some seconds.
I enabled log and time did not change that much...
I execute this command (out.txt is dump)

cat out.txt | grep ^Received | perl -ne 'if (/header/) {
s/(\d+\.\d{6})//; $begin = $1; if ($end) { while ($begin < $end) {
$begin += 60; } $local += $begin - $end } } else { s/(\d+\.\d{6})//;
$end = $1; if ($begin) { while ($end < $begin) { $end += 60; } $wire +=
$end - $begin } } END {print "wire time $wire - local time $local\n";}'

To get time spent on wire and local (well, is not accurate, some wire
time are marked as local..)

wire time 26.7019729999999 - local time 18.7550250000001

So it spend most of the time waiting data (if server was slower than
local wire should be much lower)...

freddy77






Archive powered by MHonArc 2.6.24.

Top of Page