SOCKS プールで HAProxy の leastconn が測るもの
HAProxy の TCP プールはアクティブ接続数と重みで選択し、ターゲットのダウンロード速度や完全な SOCKS の健全性で選ぶわけではありません。
listen socks_pool
bind 127.0.0.1:1080
mode tcp
balance leastconn
timeout connect 5s
timeout client 1h
timeout server 1h
server proxy_a 192.0.2.10:1080 check
server proxy_b 192.0.2.11:1080 check実際に互換性のある SOCKS エンドポイントと、ワークロードに合ったタイムアウトを使用してください。アプリを loopback リスナーの SOCKS クライアントとして構成し、バックエンドは想定されるプロトコルとアカウントを受け入れる必要があります。SOCKS 資格情報を設定しない許可された公開ターゲットのテストでは、SOCKS プロキシ一覧が候補バックエンドを提供します。クライアントの SOCKS バージョンを合わせ、実際のターゲットへの到達を確認してください。
空いているサーバーでも上流が遅いことがあります。leastconn はアクティブな数と重みを分散するだけで、表示されたチェックが示すのはTCP の受け入れだけです。ネゴシエーション、認証、宛先への到達には別の証拠が必要です。
稼働中のトンネルは選択されたバックエンドに留まります。この TCP プールは独立した UDP ASSOCIATE データグラムを運びません。
ターゲットへの最小レイテンシが必要なら、接続数から推測するのではなく、そのターゲット固有の結果を定義して測定してください。