TCP_NODELAY
TCP_NODELAY は Nagle アルゴリズムを無効化し、小さなパケットをまとめて待たずに即座に送信する。レイテンシが下がる代わりに、パケット数が増える可能性がある。
目的
対話型やリアルタイムのアプリケーションで Nagle の 40ms 遅延を排除し、小さなリクエストとレスポンスをすぐに送出する。
メカニズム
TCP_NODELAY=1 を設定すると Nagle が無効になり、すべての書き込みが即時に送信される。デフォルトでは Nagle は、ACK が到着するか MSS が満たされるまで小さなパケットをため込む。リアルタイムアプリケーション(SSH/ゲーム/RPC)では無効化すべきである。
ユースケース
- リアルタイム対話プロトコル
- SSH やオンラインゲーム
- 低レイテンシ RPC