1

I have a typical long fat network -- clients connect to servers with large bandwidth but also significant latency due to geographic distances of 30ms to 100ms, transferring large files.

I've noticed the classic decay of throughput ~ which decays as 1 / latency. Typical throughputs based on tests are well below the theoretical bandwidths of clients and servers and follow this decay rule.

My file transfer tests seem to be consistent with a tcp windows size of 64KB, suggesting that scaling is not enabled.

My servers are all running Ubuntu 1804.

How do I view and tweak the tcp window size settings on my Ubuntu 1804 servers? I could not find this info in previous answers.

David Simic
  • 121
  • 6
  • Window scaling should be enabled by default. Capture packets from both ends of the connection to see if something is mangling or dropping packets on the path in between. – kasperd Dec 25 '18 at 11:33
  • @kasperd thanks, which tool do you recommend? My apologies I've never dug this deep into networking issues before. – David Simic Dec 25 '18 at 16:08
  • You could run a command similar to this at each end: `sudo tcpdump -pni eth0 'port 443' -s0 -Uw filename.pcap` You may need to replace `eth0`, `443`, and `filename` with suitable values. To inspect the contents of the file you can use `tcpdump -nr filename.pcap` or `wireshark filename.pcap`. – kasperd Dec 25 '18 at 21:56
  • You can check and tune network stack with sysctl utility. For example, run sysctl -a|grep tcp to see current settings. See collection of useful resources here https://github.com/leandromoreira/linux-network-performance-parameters and in-depth discussion here https://blog.packagecloud.io/eng/2016/06/22/monitoring-tuning-linux-networking-stack-receiving-data/ – Yuri Lachin Dec 26 '18 at 09:56

0 Answers0