I've been trying to narrow down where my performance bottleneck(s) is (are). I just ran "iperf" from a Windows PC (XP SP3) to my Ubuntu 9.10 server. With iperf in "server" mode on the PC, and the client running on the Ubuntu machine, I get
 0.0-60.0 sec  4.23 GBytes   606 Mbits/sec

Reversed (iperf "server" running on Ubuntu server, client running on the PC), I get
 0.0-60.0 sec  1.13 GBytes   162 Mbits/sec

Wha...?? Both client and server runs on the PC report TCP window size to be 8 KB, but the Linux client reports 22.4 KB and the Linux server reports 85.3 KB. Increasing that to 256K on both ends has little effect. Does anyone have any suggestions?

The Windows NIC is a Realtek RTL8169/8110 Family Gigabit Ethernet; the Ubuntu server is using the Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 01). Time to replace a NIC or two?

Kevin