コンテンツへスキップ
uencoder

TCP_NODELAY

TCP_NODELAY は Nagle アルゴリズムを無効化し、小さなパケットをまとめて待たずに即座に送信する。レイテンシが下がる代わりに、パケット数が増える可能性がある。

目的

対話型やリアルタイムのアプリケーションで Nagle の 40ms 遅延を排除し、小さなリクエストとレスポンスをすぐに送出する。

メカニズム

TCP_NODELAY=1 を設定すると Nagle が無効になり、すべての書き込みが即時に送信される。デフォルトでは Nagle は、ACK が到着するか MSS が満たされるまで小さなパケットをため込む。リアルタイムアプリケーション(SSH/ゲーム/RPC)では無効化すべきである。

ユースケース

  • リアルタイム対話プロトコル
  • SSH やオンラインゲーム
  • 低レイテンシ RPC

関連ツール

References