Web サーバー・プラグインの調整ヒント
Web サーバー・プラグインの調整のための 重要なヒントとして、 ストレスの高い環境において、 ワークロードのバランスを取り、 パフォーマンスを向上させる方法があります。 Web サーバー・プラグインがフロントとなる ネットワークのアプリケーション・サーバー間で、 ワークロードのバランスを取ることによって、 要求応答時間が改善されます。
この製品は、z/OS® のネイティブのワークロード管理 (WLM) 機能を使用して、HTTP
Server for z/OS バージョン 5.3、または IBM® HTTP Server for WebSphere® Application Server on z/OS に定義されているアプリケーション・サーバーのワークロードのバランスを動的に取ります。HTTP
Server for z/OS バージョン 5.3 について詳しくは、z/OS の資料「HTTP Server 計画、インストールと使用の手引き」を参照してください。IBM HTTP Server for WebSphere Application Server on z/OS に関する情報は、このインフォメーション・センターにあります。
![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
![[IBM i]](../images/iseries.gif)
ワークロードのバランシング
通常のオペレーション中に、 アプリケーション・サーバーに保留される接続のバックログはどうしても増えてしまいます。 このため、Web サーバー・プラグインがフロントとなるネットワークのアプリケーション・サーバー間でワークロードのバランスを取ることによって、要求応答時間が改善されます。
- と進みます。
- 「追加プロパティー」セクションで、 をクリックします。
- アプリケーション・サーバー・フィールドによって処理できる最大接続数に対して を選択します。
- 「接続」フィールドで、許可する最大接続数を指定します。
- 次の と をクリックします。
この最大接続数に達すると、接続を確立する際に、プラグインは自動的にそのアプリケーション・サーバーをスキップし、 次の使用可能なアプリケーション・サーバーへの接続を試行します。 使用可能なアプリケーション・サーバーがない場合、HTTP 503 応答コードがクライアントに戻されます。 このコードは、サーバーが一時的に過負荷になっていたり、メンテナンスが行われているために、現在要求を処理できないことを示しています。
- 1 つのクラスターには 10 のアプリケーション・サーバーがあります。
- これらのすべてのアプリケーション・サーバーは同じアプリケーション (すなわち、Application_1 および Application_2) をホストします。
- このアプリケーション・サーバーのクラスターは、5 つの IBM HTTP Server を介して動作します。
- IBM HTTP Server はロード・バランサーから要求を取得します。
- Application_1 は要求に応答するのに約 60 秒かかります。
- Application_2 は要求に応答するのに約 1 秒かかります。
要求の到着パターンによって、Application_1 に対 するすべての要求が 2 つのアプリケーション・サーバー (例えば Appsvr_1 および Appsvr_2) に転送されます。到着率が処理率より速い場合、Appsvr_1 および Appsvr_2 への保留要求の数は増えていきます。
最終的には、Appsvr_1 および Appsvr_2 はビジー状態で、以降の要求に応答することができません。 通常、この過負荷の状態からリカバリーするには時間がかかります。
2500 の接続を維持し、この例で Application Server を最適に使用するには 、許可する接続最大数を 50 に設定します。 (この値には 、Web サーバーの数で Application Server の数をかけて、その結果で接続数を割ることによって得られます。この例では、2500/(10x5)=50 となります。)
アプリケーション・サーバーで確立できる接続数を制限すると、単一のマルチスレッド・プロセスを使用して要求を処理する Web サーバーで最適な動作を実現できます。
IBM HTTP Server
は、単一のマルチスレッド・プロセスを使用して要求を処理します。構成を変更する必要はありません。
IBM HTTP Server は通常、複数のマルチスレッド・プロセスを使用して要求を処理します。Web サーバーの構成ファイル (httpd.conf) のプロパティーに以下の値を指定すると、IBM HTTP
Server では要求を処理するために 2 つ以上のプロセスを使用できません。
ServerLimit 1 ThreadLimit 1024 StartServers 1 MaxClients 1024 MinSpareThreads 1 MaxSpareThreads 1024 ThreadsPerChild 1024 MaxRequestsPerChild 0
高ストレス環境でのパフォーマンスの向上
Microsoft Windows オペレーティング・システムのデフォルト設定を使用する場合、高ストレス環境で実行すると Web サーバー・プラグインのパフォーマンス上の問題が発生する場合があります。
こうした問題を回避するには
このオペレーティング・システムの TCP/IP 設定を
調整してみてください。
調整する 2
つのキー設定は、TcpTimedWaitDelay および MaxUserPort です。
- Windows レジストリーの以下の場所を探します。
HKEY_LOCAL_MACHINE¥System¥CurrentControlSet¥Services¥tcpip¥Parameters¥TcpTimedWaitDelay
このエントリーが Windows レジストリーに存在しない場合は、このエントリーを新規の DWORD 項目として編集して作成します。 - この入力項目について、秒単位で 30 以上 300 以下の値を指定します。 (30 を指定することをお勧めします。)
- Windows レジストリーの以下の場所を探します。
HKEY_LOCAL_MACHINE¥System¥CurrentControlSet¥Services¥tcpip¥Parameters¥MaxUserPort
このエントリーが Windows レジストリーに存在しない場合は、このエントリーを新規の DWORD 項目として編集して作成します。 - ポートの最大数を 5000 以上 65534 以下の値に設定します。 (65534 を指定することをお勧めします。)
これらの設定について詳しくは、Microsoft の Web サイトを参照してください。