知識マップ: TCPのポート枯渇とTIME_WAIT ── 外部APIを大量に呼ぶ業務アプリがある日つながらなくなる原因と直す順番

記事「TCPのポート枯渇とTIME_WAIT ── 外部APIを大量に呼ぶ業務アプリがある日つながらなくなる原因と直す順番」の主張を、概念と関係(エッジ)に分解した知識グラフの全体です。各関係には根拠・確認日・確度が付いています。

TCPのTIME_WAITは原則として先に接続を閉じた側に残り、そのあいだ同じソケットの組は使えない。外部APIを大量に呼ぶ業務アプリでは、自分のマシンのエフェメラルポートか、途中のNATのSNATポートが尽きる。自分のマシンの枯渇は外向き接続の一斉失敗とイベントID 4227と4231で確かめ、Get-NetTCPConnectionでTIME_WAITやBOUNDの数をプロセスごとに見る。直すときは接続を使い回し、MaxConnectionsPerServerと並列度に上限を設け、リトライに間隔を置き、相手が対応していればHTTP/2で接続をまとめる。netshで動的ポートの範囲を広げることやTcpTimedWaitDelayでTIME_WAITを短くすることは一時しのぎで、AzureのSNATポート枯渇にはNAT Gatewayが勧められている。

TCPのポート枯渇とTIME_WAITの知識マップWindowsでは、TIME-WAIT状態の長さがTcpTimedWaitDelayで、エフェメラルポートの範囲がnetshで構成できること、TIME-WAIT状態の接続をGet-NetTCPConnectionで確かめられること、MaxConnectionsPerServerやHTTP/2がソケット枯渇を和らげること、SocketsHttpHandlerがMaxConnectionsPerServerで構成できること、SNATポート枯渇をAzure NAT Gatewayで和らげられることを示します。で構成できるで構成できるで確認できるで構成できる軽減する軽減する軽減するソケット枯渇TCPのTIME-WAIT状態TcpTimedWaitDelayエフェメラルポート(動的ポート)netsh int ipv4 set dynamicportGet-NetTCPConnectionSocketsHttpHandlerMaxConnectionsPerServerHTTP/2Azure NAT GatewaySNATポート枯渇

概念間の関係(全7件)

図と同じ関係を文章でも列挙します。表示している文と機械可読な意味データ(RDFa)は同じ要素に載っています。確度が「確立した関係」のものは直接の関係として、「条件付きの関係」のものは成立条件つきの言明(rdf:Statement)として表現しています。

主要概念の定義

ソケット枯渇
利用可能なエフェメラルポートを使い切り、新しいTCP接続を確立できなくなる状態。
TCPのTIME-WAIT状態
TCP接続を先に閉じた側のソケットが、遅延到着したパケットの混入を防ぐため2×MSL(Maximum Segment Lifetime)の間だけ保持し続ける状態。
エフェメラルポート(動的ポート)
TCP接続でクライアント側が自動的に割り当てる送信元ポート番号で、Windowsの既定では49152〜65535の16384個がトランスポート・IPバージョンごとに用意される。
SocketsHttpHandler
.NET Core 2.1以降でHttpClientの既定の内部実装として使われる、接続プールを管理するハンドラー。
MaxConnectionsPerServer
SocketsHttpHandlerが同じサーバーへ同時に張るTCP接続の上限を指定するプロパティ。HTTP/1.1の同時接続数は既定で無制限である。
HTTP/2
1本のTCP接続で複数の要求と応答を同時に扱えるHTTPのバージョン。RFC 9113で定められ、クライアントは同じホストとポートに複数のHTTP/2接続を開かないよう求められる。
Azure NAT Gateway
仮想ネットワークからインターネットへの外向き接続を提供するAzureのサービス。サブネット内の仮想マシンにSNATポートを必要に応じて割り当てる。

機械可読データ

このデータセットについて

作成
合同会社小村ソフト
ライセンス
CC BY 4.0 ── 出典(合同会社小村ソフト)とライセンスへのリンクを明示し、改変した場合はその旨を示すことを条件に、再配布・改変を含めて再利用できます
最終確認日
2026-11-08 ── 収録する関係のうち、最後に出典と照合した日

このページはサイトの知識グラフ(_data/knowledge/)から自動生成されています。誤りの指摘はお問い合わせからお願いします。