A well written article, however I felt it failed to address what appears to be an important factor, how berkely delayed acks interact badly with nagles tinygram prevention algorithm.
Delayed acknowledgements are mentioned, but as mentioned in the article, this is only a POTENTIAL issue if you can't fill packets and if BOTH sides are using Nagle's Algorithm (which shouldn't be the case, as mentioned in the article).
This, and most discussions about this seem to focus on situations where a human (browser) is on one side of the connection and the request flow is strait through.
In complex backed systems you have trees of requests to satisfy one browser request. Often the requests are small RPC type requests and even a few ms is important.
It could be the case where buffer management on routers along the way makes a difference, transient congestion conditions, buffer sizes, fq vs fifo vs something more complicated, etc.
Things work a lot faster if all of your small packets make it through, but if any of those packets are dropped you incur delays for retransmits, tcp slow start, etc. Basically extra round-trip delays that could be a lot longer than a local nagle delay, depending on what you are sending.
It's amazing how many learned lessons we have to relearn. Should we learn why Nagle's algorithm exists and how best to exploit it? Nah, just disable it.
Should we learn why it exists and how to exploit it? Absolutely. At the same time Nagle himself showed up in the comments about the previous article saying disabled by default (what Go was doing) is probably the better approach these days so I don’t think it’s accurate or helpful to claim calls for it are just a result of people that don’t understand it.
The thing it was trying to solve (and does solve) is specifically when there is congestion (lots of packet drops beyond slow-start). If you have those network conditions, AND you aren't filling packets ... then Nagle's Algorithm is for you. That was the entire point of the article.
https://news.ycombinator.com/item?id=34180239