TCP performance on a lossy 1Gbps link

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi all,

I've got a dedicated 1000Mbps link between two sites with a rtt of 7ms, which seems to be dropping about 1 in 20000 packets (MTU of 1500 bytes). I've got identical boxes at either end of the link running 2.6.27 (e1000e 0.3.3.3-k6), and I've been trying to saturate the link with TCP transfers in spite of the packet loss.

I can chuck UDP at near-linespeed over the link (/dev/zero + nc), which seems to almost saturate it at 920Mbps. However, TCP throughput of a single stream (/dev/zero + nc) averages about 150Mbps. Looking at the tcptrace time sequence graphs of a capture, the TCP window averages out at about 3MB - although after an initial exponential ramp up, the moment the sender realises a packet is lost, the throughput appears to be clamped to only use about ~5% of the available window. I assume this is the congestion control algorithm at the sender applying a congestion window. Throughput increases very gradually until the next dropped packet, at which point it drops down again.

I've tried increasing the network buffer sizing at both ends...

net.ipv4.tcp_mem = 766464	1021952	1532928
net.ipv4.tcp_wmem = 4194304	4194304	4194304
net.ipv4.tcp_rmem = 4194304	4194304	4194304
net.core.wmem_max = 4194304
net.core.rmem_max = 4194304
net.core.wmem_default = 4194304
net.core.rmem_default = 4194304

...and disabling SACK, and trying every available congestion control algorithm in the mainline kernel, but without any major change. I've also tried to adjust the congestion window by varying net.ipv4.tcp_max_ssthresh, and net.ipv4.tcp_abc. The txqueuelen of the interfaces is 1000.

What else should I be doing to crank up the throughput and defeat the congestion control? Could jumbo frames help? Is there an equivalent congestion control module to RUDE_TCP (http://www.weedissent.net/code/rude_tcp-2.4.20.patch) for 2.6, or is this a Bad Idea?

thanks,

Matthew.


--
Matthew Hodgson <matthew@xxxxxxxxxxxxx>
Media & Systems Project Manager
Tel: +44 (0) 845 666 7778
http://www.mxtelecom.com
--
To unsubscribe from this list: send the line "unsubscribe linux-net" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Netdev]     [Ethernet Bridging]     [Linux 802.1Q VLAN]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Git]     [Bugtraq]     [Yosemite News and Information]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux PCI]     [Linux Admin]     [Samba]

  Powered by Linux