接続の管理

Caching Proxy は新規スレッドを作成して各クライアント要求を処理します。使用可能なスレッドがない場合、プロキシー・サーバーは、使用可能なスレッドが出てくるまで要求を保留します。アクティブ・スレッドの数が増加するにつれて、プロキシー・サーバーはより多くのメモリーを消費します。 アクティブ・スレッドの最大数を MaxActiveThreads ディレクティブの値として指定してください。

listen バックログは、サーバーが新規クライアントとの接続を拒否するまでに記録する、 クライアント接続の保留要求数です。この設定は、サーバーが数秒間で処理できる 要求の数に基づいて行います。 クライアントの接続がタイムアウトになる前に、サーバーが接続に応答することが必要です。 バックログに記録できる最大の接続数を ListenBacklog ディレクティブの値として指定してください。

プロキシー・サーバーにより、持続クライアント/サーバーの接続が維持されます。 持続接続により、サーバーはクライアントから多重要求を受け入れ、同じ TCP/IP 接続により応答を送信します。 持続接続機能を使用すると、クライアントの待機時間が短縮され、プロキシー・サーバー上の CPU の負荷が軽減されますが、低コストではあるものの、サーバー・メモリーはわずかに増加します。 それぞれの 要求や応答ごとに個別に TCP/IP 接続をサーバーが確立しなくてもよいときには、 全体的なスループットが向上し、接続が持続的な場合は、TCP/IP 接続は 最大限の効率で使用されます。

サーバー側接続プールによって、プロキシー・サーバーと起点サーバーとの間の既存の接続を再使用することにより、 サーバー側で持続接続機能を活用できます。接続が再使用されるたびに、3 つの TCP パケット (接続をセットアップするための 2 つのスリーウェイ・ハンドシェーク・パケットとそのクローズ用に 1 つ) が保存されます。サーバー側接続プールの利点は、以下のとおりです。

注:
接続プールは、制御された環境でのみ使用することをお勧めします。起点サーバーが HTTP 1.1 に 準拠していない場合には、パフォーマンスが低下する恐れがあります。起点サーバーが正しくセットアップ されていることが重要であるということにも注意してください。次は、Apache 1.3.19 構成ファイルからの簡単な例です。 こうした設定では、使用している限り Web サーバーへの接続がオープンされていて、起点サーバーでなくプロキシーが接続を管理できるようになります。したがって、必要になる範囲に対してのみ接続がプールされます。

サーバー側の接続プールが使用可能になっていると、起点サーバーへの HTTP 接続がプール されます。プロキシーの SSLEnable ディレクティブが on に設定されている構成では、SSL 接続もプールされます。

1 回にサーバー当たりで保持するアイドル・ソケットの最大数、アイドル状態の持続接続を 終了するまでサーバーが待機する時間、およびガーベッジ・コレクション・スレッドが接続の タイムアウトを検査する時間間隔 (デフォルトは 2 分間) を指定して、接続プールが維持される方法を構成します。

各種接続がオープンした状態の時間を、 InputTimeout、 OutputTimeout、 PersistTimeout、 ReadTimeout、 および ScriptTimeout の各ディレクティブの値として定義します。

関連するディレクティブ

以下のディレクティブで プロキシー・サーバー・プロセスとの接続を管理します。

詳細については、ibmproxy.conf ファイルの手作業での編集を参照してください。

「構成および管理」フォーム

以下の「構成および管理」フォームを使用して関連するディレクティブの値を編集します。

注:
  1. 「構成および管理」フォームを使用して、ServerConnPool、MaxsocketPerServer、 ServerConnTimeout、ServerConnGCRun の各ディレクティブを編集することはできません。
  2. PersistTimeout は、「サーバー構成」–>「システム管理」–>「パフォーマンス」フォーム、または「サーバー構成」–>「システム管理」–>「タイムアウト」フォームから編集できます。

詳細については、「構成および管理」フォームの使用を参照してください。