Nagleアルゴリズム
リアルタイムの反応を期待するアプリケーションでは、Nagle アルゴリズムは悪く働く。例えばオンラインゲームでは操作は即座に送られることが期待されるが、このアルゴリズムはレイテンシを犠牲にして効率性をあげているため意図的に送信を遅延させる。この理由から、低帯域だが応答の反応性を求めるアプリケーションでは一般的に TCP_NODELAY を使い、Nagle 遅延を回避する。
このアルゴリズムはいかなるサイズの書き込みにも適用される。もし、1回の書き込みでのデータ量が 2n パケットにわたるならば、最後のパケットは、前のパケットの ACK を受け取るまで保持されることになる。全てのリクエスト-レスポンス型のアプリケーションのプロトコルにおいて、リクエストデータが単一パケットよりも大きいならば、送信側がちゃんとデータをバッファしても、送信側と応答側の間のレイテンシは数百ms以上になる。そのようなケースではNagleアルゴリズムは送信側で無効にしておかなければならない。もし、応答データが単一パケットよりも大きいならば、レスポンス全体を即座に受け取れるように、応答側はNagleのアルゴリズムを無効にしなければならない。
一般的に、Nagleのアルゴリズムは不注意なアプリケーションから守るためにあるので、正しくバッファリングを行うアプリケーションにはメリットがない。そのようなアプリケーションでは、効果がないか、負の効果しかない。