Possible to force TCP window scaling to a higher value?

Is it possible to increase the TCP window scaling factor on Linux (CentOS 7.2)? I have a long fat network (100 Mbps) from London to Chicago and I'm getting 16 Mbps throughput in TCP on an sftp from a London machine (Windows Server 2012r2) to my Chicago CentOS machine. I'd like to play with the scaling factor and see if my throughput changes.

My latency is 88 ms roundtrip.

I ask because with UDP I get over 90 Mbps, so I was thinking it would be nice to perhaps double my TCP throughput if I could.

I understand that TCP is connection-oriented, requires an ACK, etc., and that I may actually negatively affect my throughput. What I am doing is second-guessing the wisdom of the makers and trying to assume control myself, rather than allow autotuning to autotune.

Wireshark shows that my sftp from Windows to Linux is indeed using TCP window scaling, so I know it's supported in my path.

Otherwise I'll look into TCP multipath (http://www.multipath-tcp.org/) for my LFN.

Thanks.

2
задан 23 May 2016 в 18:21
1 ответ

Можно увеличить масштабный коэффициент окна tcp, увеличив net.core.rmem_max и net.ipv4.tcp_rmem. При увеличении rmem (буфера приемной памяти) косвенно увеличивается *rcv_wscale.

Например, увеличивая буфер приемного окна до 32 Мб, я получил коэффициент масштабирования окна 1024:

echo 'net.core.rmem_max=33554432' >> /etc/sysctl.conf
echo 'net.ipv4.tcp_rmem=4096 33554432 33554432' >> /etc/sysctl.conf
sysctl -p

В любом случае, читая ваши предыдущие комментарии, мне кажется, что у вас есть связанная с отправителем пропускная способность, поэтому изменение параметров приемника не улучшит bps. Можно ли поместить файл захвата?

0
ответ дан 3 December 2019 в 14:27

Теги

Похожие вопросы