TCP Cork
TCP Cork (TCP_CORK) とは、完全な MSS が蓄積されるかソケットが明示的に解除されるまで送信を保留し、データをまとめてパケット数を削減する機能である。
目的
複数の小さな書き込みを 1 つの TCP セグメントへ統合すべき場面で、パケットごとのヘッダーオーバーヘッドを削減する。
メカニズム
TCP_CORK=1 を設定すると、カーネルは以後の書き込みをバッファし、データが MSS を満たすかソケットが解除されるまで送信しない。TCP_NODELAY とは排他的であり、HTTP ヘッダーとボディをまとめて一括送信する用途に使われる。
ユースケース
- HTTP レスポンスのバッチ送信
- TCP セグメント数の削減
- データの一括送信