Joseph Galbraith wrote:
Phillip Susi wrote:
Ge van Geldorp wrote:
I'm not arguing that delayed ACK is incorrect, but 2.5 sec??? Searching the Internet, 200ms seems a much more accepted value. This is also the value used by the MS stack: http://www.microsoft.com/technet/itsolutions/network/deploy/depovg/tcpip2k.m
spx (under "Delayed Acknowledgements").
That does sound like a more reasonable value, but if nagling is disabled, it should not matter.
If an app is going to send one byte at a time, disabling the nagle algorithm is _exactly_ the _wrong_ thing to do!
The nagle algorithm exists precisely so that applications can send one byte at a time and not have sucky performance.
We know this. If you read back through the previous mails, you'll see that disabling the algorithm was suggested for testing purposes only.
But any app that does:
send(); send(); . . . send(); recv();
Should not disable the nagel algorithm except in rare (I can't think of any) circumstances.
I can give you a few (besides debugging) :
- Streaming media - X servers - network games
If packet timing is more important that consuming large amounts of bandwidth with packet overhead, it's perfectly reasonable to disable it.
Ged.