On 15-Apr-05, at 10:56 AM, Greg Ames wrote:
the reason that this and the corresponding 1.3 BUFF logic exists is to minimize "tinygrams" - ip packets that are less than a full mtu size. tinygrams definately degrade network performance and trigger things like Nagle's algorithm. in this particular case we are trying to combine response data from two or more different pipelined requests into a single packet.
Yes, I understood that. My question was (a) whether an HTTP response is every tiny enough to truly qualify as a tinygram, and (b) whether the work done to avoid sending them is worth the cost of not avoiding them.
Clearly, some HTTP responses are less than the MSS for some connections. But they are hardly one-byte packets. It would certainly be possible to simply set NODELAY on the socket to disable Nagle, and it's not obvious to me that there would be a huge degradation of network throughput resulting from this.
Still, if it truly is an issue, there has got to be a better way to accomplish it.
