The Cargo Cult of TCP_nodelay: When to Use It
withinboredom.info
withinboredom.info
Golang is evil on shitty networks:
Golang disables Nagle's Algorithm by default
https://news.ycombinator.com/item?id=34179426 (805 points, 369 comments)
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.
I’m connecting from London via an iPhone, where are your servers?
And out of interest, do you log the results of the benchmark anywhere? Would be cool to capture it.
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.