You are not logged in.
Hi,
(tl;dr: Change TCP congestion algorithm, get good latency over wlan with heavy bandwidth usage)
I've read a bit on www.bufferbloat.net (interesting site), particulary
https://lists.bufferbloat.net/pipermail … 00018.html and
http://www.bufferbloat.net/projects/blo … _TCP_vegas .
So I decided to try for myself, to see if the vegas algorithm is better than the cubic (default) congestion algorithm used in the Linux kernel, in my simple test case. To switch to the vegas algorithm (you can switch them on the fly) just do
$ modprobe -v tcp-vegas
echo vegas > /proc/sys/net/ipv4/tcp_congestion_control
I did this on both the server (GBe > DIR-655) and the laptop (iwlagn/4965 > DIR-655) then started the iperf server on the server and then the iperf client on the laptop. Here are the results:
vegas
[ 5] 0.0-60.0 sec 150 MBytes 21.0 Mbits/sec
55 packets transmitted, 55 received, 0% packet loss, time 54065ms
rtt min/avg/max/mdev = 0.361/2.304/4.657/1.015 mscubic
[ 4] 0.0-60.9 sec 159 MBytes 21.9 Mbits/sec
59 packets transmitted, 59 received, 0% packet loss, time 58042ms
rtt min/avg/max/mdev = 0.451/492.225/638.512/186.448 mscubic
[ 5] 0.0-60.9 sec 159 MBytes 21.9 Mbits/sec
50 packets transmitted, 50 received, 0% packet loss, time 49053ms
rtt min/avg/max/mdev = 21.644/472.414/803.671/201.180 msvegas
[ 4] 0.0-60.0 sec 150 MBytes 21.0 Mbits/sec
50 packets transmitted, 50 received, 0% packet loss, time 49072ms
rtt min/avg/max/mdev = 1.134/2.793/5.799/1.149 msvegas
[ 4] 0.0-60.0 sec 145 MBytes 20.3 Mbits/sec
50 packets transmitted, 50 received, 0% packet loss, time 49066ms
rtt min/avg/max/mdev = 0.635/2.598/6.608/1.287 ms
As you can see, vegas takes a ~1-2mbit/s hit in performance compared to cubic, but the latency is MUCH better in my setup and test case. I suppose tcp-vegas would help me greatly if I download something from the server and game at the same time, or just do anything bandwidth intensive while also wanting low latency apps to work good.
Any thoughts on this?
Offline
not trying to sidetrack you but being a TCP Vegas variant (and dependant upon it in certain situations) have you tried TCP YeAH? it's what i've been using for a while though i've yet to thoroughly test it's against cubic.
Offline
not trying to sidetrack you but being a TCP Vegas variant (and dependant upon it in certain situations) have you tried TCP YeAH? it's what i've been using for a while though i've yet to thoroughly test it's against cubic.
I haven't looked at it, might give it a go as well.
Offline