BEA ホーム | 製品 | dev2dev | support | askBEA |
![]() |
![]() |
|
![]() |
e-docs > WebLogic Server > WebLogic Server パフォーマンス チューニング ガイド > ハードウェア、オペレーティング システム、およびネットワーク パフォーマンスのチューニング |
WebLogic Server パフォーマンス チューニング ガイド
|
ハードウェア、オペレーティング システム、およびネットワーク パフォーマンスのチューニング
以下の節では、ハードウェア、オペレーティング システム、およびネットワーク パフォーマンスの最適化に関する考慮事項について説明します。
パフォーマンスを調べると、WebLogic Server および特定のアプリケーションをサポートするために特定のハードウェア コンフィグレーションが必要とするキャパシティが、さまざまな要因に左右されています。 アプリケーションをサポートするために必要なハードウェア要件は、アプリケーションとコンフィグレーションの詳細によって異なります。 これらの要因がそれぞれコンフィグレーションおよびアプリケーションにどのように影響するかを考慮する必要があります。
この節を読み進める前に、コンピュータのシステム パフォーマンスを評価する際の標準ベンチマークおよびメトリックを提供している「Standard Performance Evaluation Corporation」に目を通しておいてください。
次の表では、「WebLogic Platform サポート対象のコンフィグレーション」ページにある情報への、選定されたリンクを示しています。このページには、WebLogic Server の各リリースについてサポートされている、ハードウェアやオペレーティング システムに関する最新の動作確認情報の完全なリストが記載されています。
「WebLogic Platform サポート対象のコンフィグレーション」ページの「Bull/IBM」リンクを参照。 |
|
「WebLogic Platform サポート対象のコンフィグレーション」ページの「HP-UX 11.0 および 11i 搭載の Hewlett-Packard HP/9000 」を参照。 |
|
「WebLogic Platform サポート対象のコンフィグレーション」ページの「Intel/Windows」リンクを参照。 Microsoft の情報も参照。 |
|
「WebLogic Platform サポート対象のコンフィグレーション」ページの「Red Hat」リンクを参照。 Linux OS の情報も参照。 |
|
「WebLogic Platform サポート対象のコンフィグレーション」ページの「Sun Microsystems SPARC Solaris」リンクを参照。 |
オペレーティング システムのチューニングは、使用しているオペレーティング システムのマニュアルに従って行ってください。 BEA では、「WebLogic Platform サポート対象のコンフィグレーション」ページに記載されている複数のオペレーティング システム上で WebLogic Server の動作確認をしています。
Windows プラットフォームの場合、通常はデフォルト設定で十分です。 しかし、Soloaris および Linux プラットフォームでは通常、適切なチューニングを行う必要があります。
次の例に従い、ndd コマンドを使用して以下の TCP 関連のチューニング パラメータを設定します。
ndd -set /dev/tcp tcp_conn_req_max_q 16384
注意: Solaris 2.7 以前では、tcp_time_wait_interval パラメータを tcp_close_wait_interval と呼んでいました。 このパラメータには、close の呼び出しを発行した後に TCP ソケットを生存させる時間間隔を指定します。 Solaris の場合、このパラメータのデフォルト値は 4 分となります。 短時間に数多くのクライアントが接続する場合、これらのソケット リソースを保持するとパフォーマンスに大きな悪影響を及ぼすことがあります。 Solaris での ベンチマーク JSP テストでは、このパラメータの値を 60000 (60 秒) に設定するとスループットがかなり改善するという結果が出ています。 オープン途中の接続のキューでサーバがバックアップされている場合は、この値をもっと減らすことも可能です。
ヒント : 使用できる TCP パラメータをすべて表示するには、netstat -s -P tcp コマンドを使用します。
サーバへの各ソケット接続では、ファイル記述子を消費します。 ソケット パフォーマンスを最適化するには、オペレーティング システムをコンフィグレーションして、適切な数のファイル記述子を用意しておく必要があります。 したがって、デフォルトのファイル記述子の制限、ハッシュ テーブルのサイズなど、/etc/system ファイル内にあるチューニング パラメータを次の表に示す推奨値に変更してください。
íçà": /etc/system パラメータを変更した場合は、マシンを再起動する必要があります。
CE Gigabit カードを使用する場合は、以下の設定をお勧めします。
Solaris のチューニング オプションの詳細については、以下を参照してください。
Linux オペレーティング システムで最適なパフォーマンスを実現するには、以下のように設定することをお勧めします。
Linux のチューニングの詳細については、Linux ベンダのマニュアルを参照してください。 また、「Ipsysctl Tutorial 1.0.4」では、Linux で提供されるすべての IP オプションを説明しています。
Windows、HP-UX、および AIX のチューニング オプションの詳細については、以下の Web サイトを参照してください。
ネットワークのパフォーマンスが低下するのは、リソースの供給が需要に追いつくことができない場合です。 最近のエンタープライズ レベルのネットワークは非常に高速であるため、適切に設計されたアプリケーションであれば、パフォーマンス低下の直接原因になることは稀です。 しかし、1 つまたは複数のネットワーク コンポーネント (ハードウェアまたはソフトウェア) に問題がある場合は、ネットワーク管理者との共同作業でその問題を分離して取り除く必要があります。 WebLogic Server 用に、適切な広さのネットワーク帯域幅、およびアーキテクチャ内の他の層への適切な数の接続 (クライアント接続やデータベース接続など) が用意されているかどうかを検証する必要もあります。 したがって、パフォーマンスの潜在的なボトルネックを解消するには、ネットワークのパフォーマンスを継続的にモニタすることが重要です。
帯域幅は、一般には「データ通信の転送レート、通常は通信を送受信するためのリンクの容量を bps (bits-per-second) で表したもの」と定義されます。 WebLogic Server を実行するマシンには、そのすべての WebLogic Server クライアント接続を処理できるだけの十分なネットワーク帯域幅が必要です。 プログラムに基づくクライアントの場合、クライアント JVM ごとにサーバへの 1 つのソケットがあり、ソケットごとに専用の帯域幅が必要になります。 WebLogic Server インスタンスでプログラムに基づくクライアントを処理するには、同様な Web サーバで処理する場合の 125 〜 150% の帯域幅が必要になります。HTTP クライアントのみを処理する場合は、静的ページを提供する Web サーバと同程度の帯域幅が必要になると考えてください。
所定のデプロイメントに十分な帯域幅があるかどうかを調べるには、使用しているネットワーク オペレーティング システムのベンダから提供されているネットワーク モニタ ツールを使用して、ネットワーク システム上の負荷を参照できます。 ネットワークの利用状況は、Solaris の netstat コマンド、Windows のシステム モニタ (perfmon) など、一般的なオペレーティング システム ツールを使用してモニタすることもできます。負荷が非常に高い場合は、帯域幅がシステムの問題点になっている可能性があります。
また、アプリケーションとアプリケーション サーバの間およびアプリケーション サーバとデータベース サーバの間で転送されているデータをチェックして、ネットワーク上で転送されるデータの量をモニタします。 このデータ量がネットワークの帯域幅を超えないようにします。帯域幅を超える場合、ネットワークがボトルネックとなります。 これを確認するには、次のコマンドを使用して、パケットの再転送や重複に関するネットワーク統計値をモニタします。
netstat -s -P コマンドを使用してその他の TCP パラメータを表示する手順については、ndd コマンドを使用した TCP パラメータの設定を参照してください。
ローカル エリア ネットワークには、アプリケーションのピーク容量を処理できるだけの速度が必要になります。 トラフィックの量が常に帯域幅の容量を超えて、ネットワークが最大限に活用されているのに、WebLogic Server マシンを有効に活用できていない場合は、以下のいずれかの対処をしてください。
![]() |
![]() |
![]() |
![]() |
||
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |