“Every distributed system builder I know has lost hours to latency issues quickly fixed by enabling this simple socket option, suggesting that the default behavior is wrong, and perhaps that the whole concept is outmoded.”
Nagle’s algorithm dates to RFC896 in 1984 and exists to stop one byte of keystroke from riding in a 41-byte packet. Paired with delayed ACKs, it stalls pipelined requests waiting on a timer. A datacenter round trip is about 500 microseconds, and modern systems almost never send single-byte packets. A 40-year-old default for telnet still taxes every RPC that forgets to turn it off.