It's always TCP_NODELAY
31–40 of 276 posts
Re: It's always TCP_NODELAY
#32On the other hand, my general position is: it's not TCP_NODELAY, it's TCP.
Re: It's always TCP_NODELAY
#33Re: It's always TCP_NODELAY
#34Not every time. Sometimes it's DNS.
Once it was a failing line card in router zeroing last bit in IPv4 addresses, resulting in ticket about "only even IPv4 addresses are accessible" ...
Re: It's always TCP_NODELAY
#35Can't it have "if payload is 1 byte (or less than X) then wait, otherwise don't" condition?
Re: It's always TCP_NODELAY
#36I don't by the reasoning for never needing Nagle anymore. Sure, telnet isn't a thing today, but I bet there are still plenty of apps which do equivalent of: write(fd, "Host: ") write(fd, hostname) write(fd, "\r\n") write(fd, "Content-type: ") etc... this may not be 40x overhead, but it'd still 5x or so.
Fix the apps. Nobody expect magical perf if you do that when writing to files, even though the OS also has its own buffers. There is no reason to expect otherwise when writing to a socket and actually nagle already doesn't save you from syscall overhead.
Re: It's always TCP_NODELAY
#37In a world where bandwidth was limited, and the packet size minimum was 64 bytes plus an inter-frame gap (it still is for most Ethernet networks), sending a TCP packet for literally every byte wasted a huge amount of bandwidth. The same goes for sending empty acks. On the other hand, my general position is: it's not TCP_NODELAY, it's TCP.
Re: It's always TCP_NODELAY
#38In a world where bandwidth was limited, and the packet size minimum was 64 bytes plus an inter-frame gap (it still is for most Ethernet networks), sending a TCP packet for literally every byte wasted a huge amount of bandwidth. The same goes for sending empty acks. On the other hand, my general position is: it's not TCP_NODELAY, it's TCP.
I'd just love a protocol that has a built in mechanism for realizing the other side of the pipe disconnected for any reason.
Re: It's always TCP_NODELAY
#39Not every time. Sometimes it's DNS.
Really complex systems (the Web) also fail because of caching.
Re: It's always TCP_NODELAY
#40I don't by the reasoning for never needing Nagle anymore. Sure, telnet isn't a thing today, but I bet there are still plenty of apps which do equivalent of: write(fd, "Host: ") write(fd, hostname) write(fd, "\r\n") write(fd, "Content-type: ") etc... this may not be 40x overhead, but it'd still 5x or so.