システムの適切なセットアップと調整によって、Caching Proxy のパフォーマンスを著しく 向上させることができます。セットアップおよび調整の改善については、以下の説明を 参考にしてください。
以下のディレクティブはプロキシー・サーバー・プロセスのパフォーマンスに大きく影響します。
以下の「構成および管理」フォーム・フィールドを使用して関連するディレクティブの値を編集します。
システム上で実行されているサービスまたはデーモンを調べ、使用可能メモリーの増加や CPU サイクルの向上に必要のないものを除去します。例えば、Web ページをわずかしか提供しない Web サーバーをシステムで稼働している 場合、Caching Proxy を唯一の Web サーバーとして使用することを検討してみてください。 次の手順を実行して、他の Web サーバーを使用不可にします。
適切なオペレーションに必要なだけのページング・スペースが、使用しているシステムにあることを確認してください。システムには、物理メモリーの 2 倍のページング・スペースがなければなりません。 可能なら、 ページング・スペースを複数の物理ドライブに分散してください。 例えば、512 MB のメモリーと 5 台の SCSI ドライブを装備した Netfinity 5000 サーバーには、ドライブごとに約 200 MB ずつ、合計 1 GB のページング・スペースが必要です。
Caching Proxy は、オペレーション中に多数のファイルを作成したり破棄したりします。プロキシー・サーバーが アクセスを記録する場合 (アクセス・ログ、プロキシー・アクセス・ログ、または キャッシュ・アクセス・ログを使用して)、そのログが予想外に大きくなったときに、 別の機能 (例えば、キャッシュ) のためのスペースを使用しないよう、ログ固有の ファイル・システムにそのログを送る必要があります。
Caching Proxy は、TCP/IP 構成の変更に敏感です。 いずれかのオペレーティング・システムで TCP/IP 値を下げると、予期しない方法でプロキシー・サーバーが実行される原因となる場合があります。 とりわけ、TCP/IP 値の設定が低すぎると、プロキシー・サーバーに接続されたクライアントよって、またはプロキシーが接続される発信元サーバーによって、接続がリセットされる場合があります。 これは特に、低帯域幅の接続 (56700 bps 以下) を介してプロキシー・サーバーに接続されるクライアントの場合に当てはまります。 TCP/IP パラメーターを下げる必要がある場合は、注意して進めてください。
TCP 時間待ち間隔は、強制的にクローズするまでに、ソケットが送信側からの FIN パケットを待つ、時間の長さを指定します。 強度のロード環境においては、大量のソケットが、その接続がクローズされた後も TIME_WAIT 状態で保留のままになっている場合、プロキシー・サーバーが停止しているように見える場合があります。 TCP 時間待ち間隔を減らすことで、保留にされるソケットの数が削減され、強度のロード環境では、プロキシー・サーバーが停止しているように見えるのを防止することができます。 この間隔は 5 秒に設定することをお勧めします。
TCP 時間待ち間隔を 5 秒に設定するには、以下のようにします。
以下のコマンドを実行します。
ndd /dev/tcp -set tcp_time_wait_interval 5000
「SAM」ユーティリティーを使用し、カーネル・パラメーター max_thread_proc を少なくとも 2048 に設定します。
以下のコマンドを実行します。
echo "1024 61000" > /proc/sys/net/ipv4/ip_local_port_range
echo "5" > /proc/sys/net/ipv4/tcp_fin_timeout
以下のコマンドを実行します。
ndd /dev/tcp –set tcp_time_wait_interval 5000
/etc/system ファイルを編集して、以下のようにします。
set tcp:tcp_conn_hash_size=8129
TCP 時間待ち間隔をセットする、レジストリー項目を作成する必要があります。 詳しくは、Windows の資料を参照してください。
Linux カーネルの限界値の中には低いものがあり、変更することができます。/proc ファイル・システム を介して変更されるものもあれば、カーネルの再コンパイルが必要なものもあります。
注: /proc ファイル・システムは仮想ファイル・システムです。すなわち、ディスク上に実在するものではありません。 実在はしませんが、Linux カーネルへのインターフェースの役目を果たします。 実在しないので、リスタート時に入力値は失われます。 したがって、/proc ファイル・システムに加える変更は、RedHat の /etc/rc.d/rc.local ファイル または SUSE の /etc/rc.config ファイルに入れてください。そうすると、リスタート時に必ず変更が有効になります。
次のことをお勧めします。
echo 32768 > /proc/sys/fs/file-max
echo 65536 > /proc/sys/fs/inode-max
echo 32768 61000 > /proc/sys/net/ipv4/ip_local_port_range
カーネルの再作成を決めた場合は、確実に必要なオプションだけを使用可能にしてください。必要のないデーモンは、実行しないでください。
AIX システムでは、システム・スコープ・スレッドを使用して、スレッドが複数のヒープを使用することを許可すると、Caching Proxy パフォーマンスを向上させることができます。パフォーマンスは、オペレーティング・システムのマルチプロセッシング機能、および根本的なオペレーティング・システムのスレッド・スケジューリングと関連しています。AIX スレッド・チューニング変数を次のように設定すると、パフォーマンスを改善することができます。
export AIXTHREAD_SCOPE=S
export SPINLOOPTIME=500
export YIELDLOOPTIME=100
export MALLOCMULTIHEAP=1
これらの環境変数は、/usr/sbin/ibmproxy を開始する前に設定するか、または startsrc -s ibmproxy を使用してプロキシー・サーバーを開始する場合には、/etc/rc.ibmproxy に追加することができます。SMP システムにおけるパフォーマンスの向上がさらに顕著になりますが、単一プロセッサー・システム上でもパフォーマンスの向上が明白になる場合があります。