There are a couple of cool tricks in this blog post.
First, you can actualy use route attributes on linux, and they work great:
$ ip route change local 127.0.0.0/8 dev lo quickack 1 initcwnd 100
Then, I try to explain coherently coalesce and collapse, which I haven’t heard explaied before. Sure, these are linux-specific techniques. The nstat counters might finally make some sense: TcpExtTCPRcvQDrop TcpExtTCPRcvCoalesce TcpExtTCPRcvCollapsed
Finally, while I attempt to not get into the “truesize ratio” discussion, I do explain the rcv_ssthresh growth and what is it for. Not everybody needs to know these details, but if you count every TCP RTT, then understanding this and how the actual advertised window is clamped is totally neccesary.
There are a couple of cool tricks in this blog post.
First, you can actualy use route attributes on linux, and they work great:
Then, I try to explain coherently coalesce and collapse, which I haven’t heard explaied before. Sure, these are linux-specific techniques. The nstat counters might finally make some sense: TcpExtTCPRcvQDrop TcpExtTCPRcvCoalesce TcpExtTCPRcvCollapsed
Finally, while I attempt to not get into the “truesize ratio” discussion, I do explain the rcv_ssthresh growth and what is it for. Not everybody needs to know these details, but if you count every TCP RTT, then understanding this and how the actual advertised window is clamped is totally neccesary.