From: Kevin Grittner <Kevin.Grittner@wicourts.gov>
To: merlin.moncure@rcsonline.com
To: tgl@sss.pgh.pa.us
Cc: pgsql-performance@postgresql.org
Cc: milan@sde.cz
Subject: Re: ODBC driver over network very slow
Date: Thu, 30 Jun 2005 09:47:19 -0500
Message-ID: <s2c3bfad.057@gwmta.wicourts.gov> (raw)
I was hesitant to jump in on this because I am new to PostgreSQL and
haven't seen this problem with _it_, but I have seen this with the
Sybase database products. You can configure Sybase to disable the Nagle
algorithm. If you don't, any query which returns rows too big to fit in
their network buffer will be painfully slow. Increasing the buffer size
can help with an individual query, but it just reduces the scope of the
problem. What you really want to do is make sure that TCP_NODELAY is
set for the connection, to disable the Nagle algorithm; it just doesn't
seem to be appropriate for returning query results.
How this issue comes into play in PostgreSQL is beyond my ken, but
hopefully this observation is helpful to someone.
-Kevin
>>> "Merlin Moncure" <merlin.moncure@rcsonline.com> 06/30/05 9:10 AM >>>
> My collegue spent some time to dig the following case and it
> looks like
> Nagle algorithm and delayed ACKs related problem.
> In psqlodbc.h
> #define SOCK_BUFFER_SIZE 4096
>
> I changed that value to 8192 and driver works fine for me.
> I am not sure why this change helps.
Err, no neither am I. Why do you think it's got something to do with
Nagle/delayed ACKs?
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-performance@postgresql.org
Cc: Kevin.Grittner@wicourts.gov, merlin.moncure@rcsonline.com, tgl@sss.pgh.pa.us, milan@sde.cz
Subject: Re: ODBC driver over network very slow
In-Reply-To: <s2c3bfad.057@gwmta.wicourts.gov>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox