Hello again list !
Thanks a lot for your answers on this matter.
I had also posted this message on the comp.protocols.tcp-ip
newsgroup, and someone there suggested that I set the
TcpAckFrequency key to 1. The default setting is 2.
With this setting, every single packet is acknowledged and the
delay is gone.
I'd rather have found a real fix to this problem, but this will be
ok for now.
Bill Meier a écrit :
"TCP_NODELAY" should be enabled on the TCP connection to
the database on both the client and server side of the connection.
(This is also known as "disabling the Nagle Algorithm").
(Based upon your capture I can almost guarantee that TCP_NODELAY is
*not* enabled on your Database TCP connection on the server side).
The use of TCP_NODELAY is a database option for a different database server with
which I'm familiar. I suggest you consult your DBA with respect to PostgreSQL.
(Also Google "database tcp_nodelay" & etc for information).
I haven't found this option in the PostgreSQL doc, but I am going
to send your suggestions as well as the analysis from the NG to
the PostgreSQL developers. I am sure that they will make good use
of this information !
ronnie sahlberg a écrit :
The TCP stack in 10.0.0.13 is broken.
[...]
You MIGHT be able to workaround this breakage by disabling Nagle on
10.0.0.13 but this often means you also get a small degradation of
performance.
Is this equivalent to what I did when I have set TcpAckFrequency
to 1 ?
I think that, for WinXP's TCPIP stack at least, the nagle
algorithme can only be disabled on a per-connection basis. Since I
have no control over the way the psqlodbc driver and the server
talk to each other, I don't know how I could chaneg this ?
Thanks to both of you for your help on this matter !
Regards,
--
Arnaud