Working with TCP Sockets 読書メモ 第9章 ネーグルアルゴリズム

目次


ネーグルアルゴリズム

  • ネーグルアルゴリズム(Nagle’s Algorithm)とは、全てのTCP接続にデフォルトで適用される最適化
  • バッファリングをせず、非常に小さなデータを一度に送信するアプリケーションに適している
  • 上のような条件に当てはまらない場合は無効化されることも多い
  • HTTPのように、1つのリクエスト/レスポンスがTCPパケットのサイズを超えるようなプロトコルを使っている場合、このアルゴリズムはパフォーマンス低下を招く
  • Ruby製のWebサーバは全てこのアルゴリズムを無効化している
require 'socket'

server = TCPServer.new(4481)
server.setsockopt(Socket::IPPROTO_TCP, Socket::TCP_NODELAY, 1)

ディスカッションに参加

1件のコメント

コメントを残す

コメントを残す