プロキシの接続数を読み解く
ソケット、リクエスト、宛先のカウントをそれぞれの目的に使う。どの接続もブラウザのタブとみなすのは避けたい。
30 個の確立済み接続は、30 の Web サイトや 30 のブラウザタブを意味しない。
1 つのページが複数のオリジンと接続を使うことがある。アイドル状態の接続は再利用できるまま残る。HTTP/2 は 1 本の接続で同時交換を運べる。CONNECT の内側では、傍受しないプロキシには内側のリクエストの正確な件数ではなくトンネルが見える。
| 何を制限するか | 指標 |
|---|---|
| 開いているファイルの圧迫 | 接続とディスクリプタ |
| 転送速度 | 時間あたりのバイト数 |
| 宛先への到達 | 見える、許可された宛先 |
| ブラウザタブ | ブラウザ側の状態 |
クライアント側とサーバー側のソケットも別々の数え方になる。キャッシュヒット、接続の再利用、上位プロキシが両者の関係を変える。
Squid の maxconn ACL は、対応している同時接続ポリシーに役立つ。Web サイトを数えるものではなく、送信元ベースの集計は 1 つの NAT の背後にいる複数の人をまとめてしまうことがある。
接続上限は、その目的が接続容量の保護であるなら依然として有用だ。レポートには「同時クライアント接続」と表記し、その資源を基準に上限を選ぶべきで、正確な閲覧割り当てとして売ってはいけない。