(1) Latency and throughput don't necessarily correlate well. When blasting
quantities of data to test throughput, TCP_NODELAY might not matter
much -- a full buffer will be sent without a delay anyway. What do you get
on a ping while running the throughput test?
(2) Besides the TCP_NODELAY issue, another issue which has caused
similar problems is a mismatch between half duplex and full duplex in the
configuration of the switch and the server. Sometimes auto-negotiate
doesn't work as advertised; you might want to try setting the configuration
explicitly, if you aren't already doing so.
-Kevin
>>> Dalibor Sramek <dali@insula.cz> 09/14/05 8:02 AM >>>
On Tue, Sep 13, 2005 at 11:05:00AM -0400, Merlin Moncure wrote:
> 5. do select array_accum(q::text) from generate_series(1,10000) q;
I made the tests you suggested and the pattern is clear. The difference
between local and remote command execution is caused by moving data over
the network. E.g. the command above takes 700 ms locally and 1500 ms
remotely. Remote explain analyze takes exactly the 700 ms.
I downloaded PCATTCP - http://www.pcausa.com/Utilities/pcattcp.htm
and the measured throughput between the two machines is over 10000 kB/s.
PCATTCP allows setting TCP_NODELAY but it had no effect on the transfer
speed. So the difference between local and remote execution should IMHO stay
in the 10 ms range. Definitely not 800 ms. The 8.1 has the same problem.
Just for the record: the server PC is Dell Precision 330 with 3Com 3C920
integrated network card. OS MS Windows Professional 2002 with service pack
2. There is Symantec Antivirus installed - which I have (hopefully)
completely disabled.
Thanks for any help
Dalibor Sramek