キャパシティ プランニング ガイド

前  次    新しいウィンドウで目次を開く     
ここから内容

WebLogic Portal のキャパシティ プランニング

BEA WebLogic Portal は、柔軟性に富んだフレームワークに構築したエンタープライズ クラス ポータル インフラストラクチャであり、顧客の高パフォーマンスの予測を満たすために設計されています。この製品のデプロイメントは、少数マシンによる小さい部門 アプリケーションからクラスタ コンフィグレーションで多くのマシンを構成する大きなデプロイメントまで多岐にわたります。特定のアプリケーションのアーキテクチャと物理デプロイメントはいくつかの要因に依存していますが、それについてはこのドキュメントで後ほど説明します。アプリケーションのニーズを十分に満たすために必要なソフトウェアおよびハードウェア コンフィグレーションを決定するプロセスを、キャパシティ プランニングといいます。

このドキュメントでは、WebLogic Portal 9.2 のキャパシティプランニングに必要な手順について説明し、顧客がキャパシティ プランニングのより正確な見積もりができるように測定のベースライン セットとしての役割を果たします。

キャパシティ プランニングは精密科学ではありません。アプリケーションやユーザの動作はそれぞれ異なります。このドキュメントは、キャパシティ プランニングの数値を求めるためのガイドとしてのみ利用されることを目的としています。利用の際には細心の注意を払うようにしてください。プロダクション環境にいずれかのアプリケーションをデプロイする前に、アプリケーションで綿密なパフォーマンス テスト サイクルを行う必要があります。パフォーマン ステストの詳細については、「Approaches to Performance Testing」を参照してください。

注意 : このガイドで推奨されている事項はすべて、システムをプロダクション環境に移行する前に十分に検証する必要があります。上記で説明したように、このドキュメントで公開したデータはテスト済みの特定のコンフィグレーションを表します。システムがどの程度のキャパシティをサポートするかを判断する場合にさまざまな要因を考える必要があるため、プロトタイプの十分なテストを実行することなしに独自のキャパシティプランニングの数値を取得することはできません。

 


キャパシティ プランニングで考慮すべき要因

WebLogic Portal と特定のアプリケーションをサポートするために、ハードウェア コンフィグレーションにどの程度のキャパシティが必要となるかは、さまざまな要因に左右されます。アプリケーションのサポートに必要なハードウェア キャパシティは、アプリケーションとコンフィグレーションの詳細によって異なります。それぞれの要因がコンフィグレーションとアプリケーションにどう影響するのかを考える必要があります。

以下の節では、これらのいくつかの要因について説明します。これらの要因を理解し、アプリケーションの要件を検討しておくと、コンフィグレーション内のサーバのハードウェア要件を作成する際に役立ちます。

表 1 キャパシティ プランニング要因および情報参照
キャパシティ プランニングの確認事項
詳細については、以下を参照
アプリケーションのパフォーマンス テストを行ったか。
ハードウェアがコンフィグレーションの要件を満たしているか。
WebLogic Portal はクラスタ用にコンフィグレーションされているか
シミュレートされた負荷は十分か。
同時実行が必要なユーザ数はどのくらいか
WebLogic Portal は十分にチューニングされているか
ユーザ アプリケーションは適切に設計されているか
クライアントは WebLogic Portal への接続に SSL を使用しているか
WebLogic Portal の他に何がマシンで実行されているか。
データベースは制約要因となっているか。
ネットワーク帯域幅は十分か。
使用している JVM とそのパラメータはなにか。

パフォーマンス テストの提案

キャパシティ プランニングはパフォーマンス テスト プロセスの最後の手順です。アプリケーションをプロダクション デプロイメントに準備する前に、システムのすべてのボトルネックがなく、アプリケーションをできるだけ速く実行できるようにアプリケーションのインタラクティブ パフォーマンス テストを実行する必要があります。

アプリケーションに対してベンチマークを実行すると、測定のベースライン セットが設定され、アプリケーションに機能を追加および削除した後の影響を測定できます。

開発時にアプリケーションをプロファイルすると、後で大きな問題になる可能性のあるパフォーマンスの問題またはパフォーマンス hotspots を解決することができます。このような問題を早期に検出することで、後から修正するためのオーバーヘッドを大幅に減らします。

推奨対策

この内容については多くのドキュメントがありますが、BEA's dev2dev サイトの「Approaches to Performance Testing」をまず参照してください。

ハードウェア コンフィグレーションとパフォーマンス要件

WebLogic Portal 9.2 に対して BEA がサポートするオペレーティング システムおよびハードウェア コンフィグレーションについては、「WebLogic Platform 9.2 でサポート対象のコンフィグレーション」ページに記載されています。

特定の WebLogic Portal アプリケーションのパフォーマンスの目標は、遅い応答時間、不十分な同時ユーザ実行、またはアプリケーションのスループットが非常に低いなどの理由で、達成できない場合もあります。このような状況で、最初にたずねる質問として次のものがあります。どのようなハードウェアを使用して Portal を実行していますか。これは、システムは適切にスケールされているかを判断する時の最も重要な要因です。BEA の内部パフォーマンス テストの時、WebLogic Portal は CPU にバインドしているため、システムのパフォーマンスは CPU のスピードと CPU の合計数に依存します。

BEA の内部パフォーマンス テストは、システム パフォーマンスと CPU の全体的なクロック スピード間の直接関係を示します。1つ以上の CPU または高スピードの CPU を追加すると、システムのキャパシティが増加されます。また、マシンのクラスタ化によって、全体的なアプリケーションのデプロイメントに 使用できる CPU 数が増加するため、WebLogic Portal のスケーラビリティが向上します。最新のプロセッサ技術も、システムの動作を決定する際の大きな要因となります。たとえば、結果のセクションでは、Sun の UltraSPARC IIIi プロセッサ上に一連のデータがあり、マシンに 4 つの CPU があっても、パフォーマンスは Intel Xeon プロセッサ上の結果と同等ではありません。

推奨対策

可能な限り処理速度の早い CPU および必要に応じてクラスタのサイズを増加することをお勧めします。

クラスタ コンフィグレーション

WebLogic Portal Server デプロイメントは、クラスタをサポートするようにコンフィグレーションされていますか。クラスタは、複数のシステム間への負荷の分散に加え、セッションの保護と状態のレプリケーションによるフェイルオーバを実現します。アプリケーションのセッションに大量のデータがあって、そのセッションがクラスタ間に複製されている限り、クラスタを使用している顧客がパフォーマンスの低下を著しく感じることはありません。

Web サーバを使用して WebLogic Server クラスタにリクエストを転送している場合は、Web サーバがボトルネックになることがあります。この問題は、付属の HttpClusterServlet とプロキシ サーバを使用している場合、またはサポート対象のいずれかのプラグインを使用している場合に発生する可能性があります。クラスタにサーバを追加しても応答時間が改善されず、Web サーバ マシンの 高速 CPU 使用率が示す場合は、Web サーバをクラスタ化するか、Web サーバを実行しているハードウェアを強化することを検討してください。Web サーバは、CPU 処理より I/O (ディスクの使用率とネットワークの使用率を含む)処理の割合を高くする必要があります。

推奨対策

チューニングされた アプリケーションのキャパシティ テストに基づき、WebLogic Portal は、一般に、CPU 処理が高くなっています。プロダクション環境用に購入するハードウェア数を決定する場合は、プロセッサの速度を最優先にする必要があります。

ほとんどの場合、WebLogic Server クラスタは、2 個の CPU につき 1 つの WebLogic Server インスタンスの割合でデプロイするのが最適です。ただし、すべてのキャパシティ プランニングと同じように、サーバ インスタンスの最適数および分散方法を決定する場合は、対象となるポータル アプリケーションで実際のデプロイメントを事前にテストする必要があります。

シミュレートされた負荷

システムのパフォーマンス要件を判断する場合、アプリケーションの予想される負荷を考慮する必要があります。たとえば、一般的なバンキング アプリケーションでは、午後 9 から午前 5 までの「ピーク時間」に重いトラフィック (多数の同時セッション) となります。キャパシティを見積もる時、予期される負荷とできるだけ同じ負荷でテストを行うのが最適です。

さまざまな負荷の要因は、システムの全体的なパフォーマンスに影響を与え、これらの要因がどのようにテストされるかによって結果が異なります。第 1 の要因は、システム上のユーザの予期された「思考時間」です。思考時間は、アクティブ ユーザのリクエスト間の休止として定義されます。たとえば、ユーザは銀行口座の残高をチェックするためにクリックすると、30 秒まで再度クリックできない可能性があるので、思考時間は 30 秒になります。すべてのユーザ (「エキスパート」ユーザの思考時間は短くて、「新しい」ユーザの思考時間は長いため) の思考時間の平均値を計算してその値を使用してシステムのテストを実行する必要があります。思考時間を減少させると、システムに高い負荷がかかるので追加のハードウェア リソースが必要になります。

システムをテストする時、システムに追加するユーザ率も、システムのパフォーマンス特性に著しい影響を与える可能性があります。たとえば、すべてのユーザがシステムに同時に追加されると、「wave」効果が発生し、最初に応答時間が非常に増加しますが、ユーザが休止の状態になると向上し、次にユーザがシステムを通じて移動すると急速に増加します。ユーザを間隔をおいて追加すると、上記の状態を回避することができ、システムは一貫性のあるパフォーマンスで動作するようになります。思考時間をランダムに定義すると、「wavy」動作が減少され、より一貫性のある結果が得られます。

推奨対策

キャパシティ要件を決定するためにシステムをテストする時、シミュレートされたユーザは、プロダクション環境で発生する問題が正確に反映されているかを確認する必要があります。システム上、同時に発生する過度のシミュレートされた負荷に注意します。

同時セッション

WebLogic Portal 用の同時ユーザ セッションの最大数を決定します。処理するユーザ数が多いほど、スケーラビリティを図るために適切な CPU キャパシティと RAM が必要です。サポート対象のコンフィグレーションは最低で 1GB RAM であり、プロダクション環境における WebLogic Portal の各インスタンスに対しては 2GB をお勧めします。

次に、同時にリクエストを発行するクライアントの最大数と、各クライアントがリクエストを発行する頻度を調べます。WebLogic Portal とユーザ間の 1 秒当たりの対話数が、Portal デプロイメントで 1 秒間に処理する必要がある合計対話数になります。

また、需要の急激な増加に対応するために、特定期間内のトランザクションの最大数も考慮する必要があります。急激な増加に対応するために、システム上に十分なキャパシティがあることを確認します。システムに対して最大キャパシティの需要がある場合は、全体的なシステムのパフォーマンスとキャパシティを向上させるためにハードウェアを追加する必要があります。同時ユーザに関するキャパシティ情報については、「同時ユーザ結果」を参照してください。

WebLogic Portal/Server のチューニング

WebLogic Portal は十分にチューニングされていますか。提供されているチューニング ガイドを参照して、WebLogic Server をチューニングする必要があります。

推奨対策

WebLogic Portal および WebLogic Server のチューニングの詳細については、以下を参照してください。

アプリケーションの設計

アプリケーションは適切に設計されていますか。ユーザ アプリケーションの設計が不適切だったり、最適化されていない場合、コンフィグレーションのパフォーマンスが低下する可能性があります。WebLogic Portal 用に開発されているアプリケーションの持つ機能は、オーバーヘッドを追加するため、ベンチマーク アプリケーションと同様のパフォーマンスは期待できないと考えるようにしてください。念のため、アプリケーションのこれらの機能を考慮してシステムに追加のキャパシティを追加する必要があります。

ポータルのサイズ (異なったブック、ページおよびポートレットの数を追加することによって計算されたポータルの分類に基づく) が システムのパフォーマンスとキャパシティに重要な影響を与える可能性があることに注意する必要があります。ポータルサイズが増加すると、表示しなければならないコントロール ツリーも増えるので、システムは小さいポータルほど動作しません。

メニューの構造を構築するには、ツリーを移動する必要があるので、複数レベルのメニューを使用すると、ポータル コントロール ツリー最適化のほとんどの利点が無効にされます。これは、小さいポータルの場合できますが、大きなポータルの場合は、システムのパフォーマンスとスケーラビリティに重要な影響を与えるので、デプロイメントに多数のハードウェア リソースが必要です。

推奨対策

システムのパフォーマンスを最適化するために、大きなポータルをいくつかの小さい Desktops に分割することをお勧めします。また、アプリケーション内のコードの最適化されていない領域を検索するには「heavy-weight」プロファイラーまたは実行時「light-weight」プロファイラーのプロファイリングをお勧めします。複数レベルのメニューは、大きなポータルに対して使用されません。

ポータルの設計に関する詳細については、次のドキュメントを参照してください。

SSL 接続とパフォーマンス

セキュア ソケット レイヤ (Secure Sockets Layer : SSL) は、セキュアなインターネット通信を実現するための標準プロトコルです。WebLogic Server のセキュリティ サービスは、X.509 デジタル証明書とアクセス制御リスト (ACL) をサポートすることにより、参加者を認証し、ネットワーク サービスへのアクセスを管理します。たとえば、SSL を使用すると、従業員の給与が一覧された JSP ページを保護して、機密情報へのアクセスを遮断できます。

SSL には大量の計算処理が必要となります。SSL プロトコルで暗号化処理をサポートすると、その分だけ WebLogic Server で同時接続を処理できなくなります。

クライアントの合計数のうち、必要となる SSL 接続の数に注意してください。一般に、サーバは、1 つの SSL 接続を処理する能力で 3 つの非 SSL 接続を処理できます。SSL を使用すると、SSL 接続に使用される暗号化の強度に応じて、サーバのキャパシティは約 33 ~ 50% 低下します。また、SSL によって強いられるオーバーヘッドの量は、SSL に対応しているクライアントの対話数にも関係してきます。

推奨対策

ハードウェア アクセラレータを使用して SSL を実装するか、アプリケーションにおいて不要な SSL の場合、無効にします。

WebLogic Server プロセスの負荷

WebLogic Portal 以外に、何がマシン上で実行されていますか。WebLogic Portal を実行しているマシンでは、プレゼンテーションやビジネス ロジックより、はるかに多くの処理が実行されている場合があります。たとえば、Web サーバを実行していたり、株価情報サービスからの株式情報の供給など、リモート情報が常時供給されている可能性があります。ただし、これはお勧めしません。

WebLogic Portal マシンの処理能力が、WebLogic Portal に関係のないプロセスによってどのくらい消費されるのかを考慮してください。WebLogic Portal (または WebLogic Portal が稼動しているマシン) が、他に大量の処理を実行している場合は、他のプロセスにどの程度の処理能力を割り当てるかを判断する必要があります。

WebLogic Portal server 上の CPU の平均使用率は、ベンチマーク テストを実行する時に、そのマシンの累積統計として、85%~95% の範囲であることをお勧めします。たとえば、マシンは、複数のプロセッサがある場合は、その両方のプロセッサの平均は上記に説明した割合の範囲である必要があります。この場合、マシンはピーク キャパシティで操作できるではなく、CPU の使用率が 100% にされずに他のシステム プロセスも実行できるようになります。プロダクションの時、応答時間に近づく SLA が維持されるように、トラフィック内の急激な増加に対応するため、追加の CPU オーバーヘッドをシステムに追加する必要があります。

また、WebLogic Portal に加え、サードパーティのアプリケーション、サービスまたはプロセスをデプロイする場合、それらのアプリケーション、サービスまたはプロセスを別のハードウェア マシンにデプロイするようにお勧めします。

クラスタ化された WebLogic Portal デプロイメントに対応する場合は、ロード バランシング ソリューションを考慮する必要があります。クラスタ内のロード バランシングの場合、ノード間のユーザのセッションは均等に配布する必要があります。均等に配布されていない場合、WebLogic Portal コンフィグレーションまたはロード バランサ コンフィグレーションに問題があると示されます。

推奨対策

サーバのクラスタがシステムのキャパシティ要求を満たす必要がある場合は、負荷がマシン間に配布されるようにロード バランサを実装する必要があります。

すべてのサード パーティのアプリケーションおよびサービスは、別のハードウェアでオフ ロードする必要があります。

データベース サーバのキャパシティ

データベースはボトルネックになっていますか。追加のユーザ ストレージ要件はありますか。多くのインストール環境では、データベース サーバの方が WebLogic Portal よりかなり早くキャパシティを消費します。アプリケーションを処理するには、十分に堅牢なデータベースをプランニングする必要があります。通常、優れたアプリケーションには、アプリケーション サーバ ハードウェアの 3 ~ 4 倍強力なデータベースが要求されます。したがって、データベース サーバには個別のマシンを使用することをお勧めします。

一般に、データベースはボトルネックであるか、WebLogic Portal CPU に対して高速 CPU の使用率を保持できないかを通知することができます。これは、WebLogic Portal が、ほとんどの時間、アイドル状態でデータベースの応答を待っていることを示します。

一部のデータベース ベンダは、アプリケーション サーバ用のキャパシティ プランニング情報を提供し始めています。通常、これはアプリケーションの 3 層モデルに対応しています。アプリケーションによっては、データベースと対話しない処理にユーザ ストレージを必要とする場合があります。たとえば、セキュアなシステムでは、各ユーザのセキュリティ情報を格納するディスクとメモリが必要です。この場合は、1 人のユーザの情報を格納するのに必要なサイズを計算し、その値に予想されるユーザ数を掛けてください。

システムのデータベースがボトルネックにならないために別の方法があり、データベース レイヤにキャッシングを実装するのは一つの方法です。WebLogic Portal は、データベースにヒットしないようにさまざまなキャッシュを使用します。パフォーマンス テスト時に、データベースがボトルネックになっていることが判断された場合、データベースから一部の負荷を取り除くように WebLogic Portal キャッシュをチューニングすることが有効です。

推奨対策

サイズ構成と他のパフォーマンスに関する考慮事項については、WebLogic Portal の『データベース管理ガイド : パフォーマンスの考慮事項』および『サイズ構成の考慮事項』を参照してください。

データベース キャッシュの詳細については、「WebLogic Portal のキャッシュ リファレンス」を確認してください。

ネットワーク負荷

帯域幅は十分ですか。需要に応じてリソースの供給を増やすことができないと、ネットワーク パフォーマンスに影響します。WebLogic Server では、クライアントからのすべての接続を処理するために十分な帯域幅を必要とします。HTTP クライアントのみを処理する場合は、静的ページを処理する Web サーバと同程度の帯域幅が必要です。

クラスタの場合、デフォルトでは、セッション情報のインメモリ レプリケーションは HTTP クライアントと同じネットワークを共有します。内部クラスタ通信の場合、物理ネットワークを異なるネットワークに変更し、外部トラフィックの場合、別のチャネルを使用するのは、標準ネットワーク トポロジーに代わる方法です。詳細については、「ネットワーク リソースのコンフィグレーション」を参照してください。WebLogic Portal フレームワークは、大量のセッション データを作成しませんが、カスタム アプリケーションは、この領域で重要なオーバーヘッドを追加することができます。また、同時ユーザが頻繁にリクエストを出すと、負荷が増加してネットワーク集中になる恐れがあります。アプリケーションとビジネス ニーズでセッション情報のレプリケーションが必要かどうかを検討してください。最後に、たくさんの同時ユーザとサーバへの頻繁なリクエストの組み合わせの見積もりを作成して、ネットワークが予期される負荷を処理することができるかを判断します。

特定のデプロイメントの帯域幅が十分かどうかを調べるには、ネットワーク オペレーティング システム ベンダから提供されているネットワーク ツールを使用します。これを測定するには、多くのフリー ツールと商用 ツールだけではなく、Windows および Solaris の組み込みアプリケーションもあります。また、ほとんどのハードウェア ロード バランシング ソリューションがネットワーク統計を提供します。ロード バランサを 1 つのみ使用すると、負荷が高い時、システムのボトルネックになる可能性があります。

推奨対策

ネットワーク トラフィックを最適化するために、ギガビット LAN と 1 つまたは複数のサーバ ロード バランサを実行することをお勧めします。

JVM の選択

どの JVM が使われるか。どんなパラメーターが使われるか。アプリケーションから最もよいパフォーマンスを得るためにどのくらいヒープが必要ですか。複数のアプリケーションでは、1 つまたは異なる JVM でのパフォーマンスが良くなる可能性があります。WebLogic Portal は、BEA の JRockit と Sun の HotSpot JVM をサポートします。一般的には、BEA の JRockit JVM は、Intel プロセッサを使用した Linux OS における「ベンチマーク」テストでのパフォーマンスが良く、HotSpot は、「同時ユーザ」テストにおいてクラスタのサイズを増やすとパフォーマンスがやや上回りました。

JVM パラメータは、システムのパフォーマンスに劇的な影響を与える可能性があります。すべてのパラメータのリストと使用方法については、『BEA JRockit リファレンス マニュアル』を参照してください。

ヒープのサイズも、システムのパフォーマンスに影響を与えます。大規模なアプリケーションの場合、大規模なヒープ サイズが必要になる可能性があります。また、同時ユーザの数が大きくなると、システムのメモリ不足を回避するためにヒープサイズを増やす必要があります。

JRockit の場合、-Xgc:parallel と HotSpot の場合、-XX:MaxPermSize を使用し、最小のサイズは 128m であることをお勧めします。アプリケーションに応じて、メモリ要件はかなり高くなる可能性があります。すべての場合において、アプリケーションに対してベストなものを判断するためにさまざまな設定を行ってベンチマーク テストを実行する必要があります。

 


パフォーマンス結果

パフォーマンス テスト結果は以下の 2 つの種類があります。スループットをアクセスするためのテストとシステムがサポートされる同時ユーザの最大数を判断するためのテストです。これらのテストの違いは非常に多いため、両方のテストのデータ ポイントを比較する方法はお勧めしません。

最初のデータ セットは、「ベンチマーク結果」と呼ばれます。このデータセットのテストでは、システムのスループットのべースラインが判断され、スループットは 1 秒につき返されたページ数で測定します。これらのテストの目的は、ポータル サイズ、ポートレット タイプおよび JVM が異なるさまざまなコンフィグレーションでのシステムの最大スループットを判断することです。

2番目のデータのセットは、プロダクションのようなシステムで実行するテストに関連するので、「同時ユーザ結果」と呼ばれます。これらのテストの目的は、一定の応答時間 (通常 Service Level Agreement と呼ばれる) に発生する最大同時ユーザ数 (ポータルを通じてアクティブにクリックしている)を判断することです。

各テストでは、各ユーザが一回ログインしてからページをクリックして進み (非常に小規模のポータルを除いて 50 ページ/ブックのクリック)、最後のページに達すると最初のページが繰り返されるスクリプトを使用しました。非常に小規模のポータルのページ数は 8 ページであるため、クリックは 8 回でした。これは、テストの継続期間が完了されるまで続きました。

テスト アプリケーション

テスト アプリケーションは、「.portal」ファイルと「.portlet」ファイルを含む EAR としてクラスタにデプロイされます。各ユーザが登録されるように各ポータルに対してフォームベース認証が使用されました。ポータル自体のサイズとポートレット タイプはさまざまです。テストした各ポータルには、JSP、「同時ユーザ」テスト用のページ フロー、JSP、ページ フローおよび「ベンチマーク」テスト用の Struts などのポートレット タイプが 1 つ含まれ、使用したポートレットは「Hello World」タイプのポートレットのような単純なポートレットと考えられます。すべてのポータルに対してツリー最適化を有効になっていました。資格またはユーザ カスタマイズは有効になっていませんでした。すべてのテストに対して、「replicated_if_clustered」のフラグを使用してセッション レプリケーションをコンフィグレーションしていました。すべてのユーザに対してログインが必要でしたが、ログアウトしなかったため、テストの継続期間に各ユーザのセッションを保持しました。

使用したテスト ポータル

ポータル サイズは、次のパラメータによって変化します。

表 2 テストされた WebLogic Portal サイズ
ポータル サイズ
ブック数
ページ数
ポートレット数
非常に小規模
1
8
64
小規模
5
50
500
中規模
10
100
1000
大規模
20
200
2000
非常に大規模
40
400
4000

非常に小規模のポータル (ページ当たり 8 つのポートレット) を除き、各ポータルにはページ当たり 10 ポートレットあります。

 


ベンチマーク結果

「ベンチマーク」テストは、異なる状況におけるシステムの最大スループットを示すために設計されています。ポータル内のポートレットのタイプ、ポータルのサイズと JVM を変化させます。各コンフィグレーションの目的は、最大スループットを取得するようにサーバを飽和させることです。WebLogic Portal servers では、CPU 使用率が 85 ~ 95 % の範囲に達成するのは、最大スループットの最適範囲です。

最大スループットを取得するために、「思考時間」に対してゼロ秒を使用しました。つまり、サーバからの応答と後続のリクエスト間の時間は 0 秒でした。このようなワークロードで、サーバは簡単に飽和し、比較的少ないユーザで短く時間で最大スループットを達成することができます。

ベンチマーク テストは、1 つの CPU につき、10 仮想ユーザ (LoadRunner での VUsers) を使用しました。ベンチマークは、HP Linux と Sun Solaris の 2 つのハードウェア コンフィグレーションで実行しました。テストされたすべての Linux マシンは、2 個の CPU を使用してコンフィグレーションされていたので、WebLogic Portal クラスタの各ノードに対して 1 個のマシンにつき 20 仮想ユーザを使用しました。テストした Sun Solaris のマシンは、4 個の CPU を使用してコンフィグレーションされていたので、1 個のマシンにつき 40 仮想ユーザを使用しました。これらのユーザを 20 分間「ランプアップ」 (システムに追加) してから、定常状態で (ユーザを追加せずに、既存のユーザがシステムにアクセスしている状態) 処理を続けたため、10 分追加しました。

注意 : この調査で使用したベンチマークで得られた基準値は、WebLogic Portal を同様のベンチマークを実行した他のポータルやハードウェアと比較するためには使用しないでください。この調査では、独自のベンチマーク方式とチューニングが使用されています。

この節では、次のコンフィグレーションからの結果が表示されています。

HP Linux のハードウェアとサーバ コンフィグレーション

HP Linux テストは、1 つのクラスタで、1 個、2 個、4 個、および 8 個の物理マシンのようなさまざまなクラスタ コンフィグレーションで行った場合、結果は異なりました。各マシンには、1 つの実行している管理サーバがあり、各物理マシン上で 1 つのポータルおよび 1 つの JVM に変化します。各サーバは、2 個の CPU があり、CPU カウントのデータが表の形式で示されます。

HP Linux での結果

サーバが自動チューニングに設定されました。これは WebLogic Server 9.0 以降の新機能です。JDBC 接続プールは 5 接続で開始し 25 接続まで拡張できるように設定されました。サーバがすぐに飽和するように、これらのテストは思考時間を 0 秒として実行しました。

表 3 JSP - JRockit JVM - スループット (ページ/秒)
ポータル サイズ
2 個の CPU
4 個の CPU
8 個の CPU
16 個の CPU
非常に小規模
380
626
1212
2400
小規模
294
482
946
1853
中規模
281
466
893
1791
大規模
270
449
870
1726
非常に大規模
243
412
791
1555

表 4 JSP - HotSpot JVM - スループット (ページ/秒)
ポータル サイズ
2 個の CPU
4 個の CPU
8 個の CPU
16 個の CPU
非常に小規模
327
578
1148
2262
小規模
252
441
874
1739
中規模
244
431
839
1730
大規模
235
416
828
1659
非常に大規模
223
386
775
1549

表 5 PageFlow - JRockit JVM - スループット (ページ/秒)
ポータル サイズ
2 個の CPU
4 個の CPU
8 個の CPU
16 個の CPU
非常に小規模
333
487
954
1891
小規模
235
332
655
1266
中規模
234
330
642
1293
大規模
224
318
626
1228
非常に大規模
204
289
575
996

表 6 PageFlow - HotSpot JVM - スループット (ページ/秒)
ポータル サイズ
2 個の CPU
4 個の CPU
8 個の CPU
16 個の CPU
非常に小規模
259
370
776
1533
小規模
185
281
441
1050
中規模
184
270
440
979
大規模
185
251
394
826
非常に大規模
166
214
390
825

表 7 Struts - JRockit JVM - スループット (ページ/秒)
ポータル サイズ
2 個の CPU
4 個の CPU
8 個の CPU
16 個の CPU
非常に小規模
327
527
1019
2016
小規模
237
388
778
1512
中規模
229
385
742
1464
大規模
216
366
717
1426
非常に大規模
204
343
654
1202

表 8 Struts - HotSpot JVM - スループット (ページ/秒)
ポータル サイズ
2 個の CPU
4 個の CPU
8 個の CPU
16 個の CPU
非常に小規模
286
487
986
1961
小規模
206
369
723
1449
中規模
201
358
703
1429
大規模
196
347
702
1380
非常に大規模
180
321
652
1305

Sun Solaris のハードウェアとサーバ コンフィグレーション

Sun Solaris のテストでは、1 つおよび 2 つの物理マシンで 4 個と 8 個の CPU コンフィグレーションを使用しました。各マシンは、2 つの管理対象サーバがあり、クラスタ内の合計 2 個および 4 個の管理対象サーバに対して、各物理マシン上の 2 つのポータルおよび 2 つの JVM に変化します。各サーバは、4個の CPU があり、CPU カウントのデータが表の形式で示されます。

Sun Solaris での結果

サーバが自動チューニングに設定されていました。これは WebLogic Server 9.0 以降の新機能です。JDBC 接続プールで開始したサーバは、25 接続までに拡張できる 5 接続から開始するように設定しました。サーバがすぐに飽和するように、これらのテストは思考時間を 0 秒として実行しました。

表 9 JSP - HotSpot JVM - スループット (ページ/秒)
ポータル サイズ
4 個の CPU
8 個の CPU
非常に小規模
164
340
小規模
127
264
中規模
123
257
大規模
121
248
非常に大規模
114
230

表 10 PageFlow - HotSpot JVM - スループット (ページ/秒)
ポータル サイズ
4 個の CPU
8 個の CPU
非常に小規模
123
242
小規模
90
176
中規模
89
173
大規模
85
168
非常に大規模
80
150

表 11 Struts - HotSpot JVM - スループット (ページ/秒)
ポータル サイズ
4 個の CPU
8 個の CPU
非常に小規模
147
301
小規模
112
224
中規模
109
220
大規模
105
215
非常に大規模
99
200

 


同時ユーザ結果

一連のパフォーマンス テスト結果は、特定のハードウェア セットで何人の同時ユーザが実行できるかを測定してシステムの全部のキャパシティを決定するのに最適であるため、「キャパシティ プランニング」結果としても知られています。これらのテストは、同じ現実のユーザ ロードを設計して標準の「ベンチマーク」テストよりも正確にシステムを表現します。

顧客からのフィードバックに基づいて、最も一般的な SLA は、2 秒および 5 秒の応答時間です。目標は、WebLogic Portal がこのような SLA によるさまざまなコンフィグレーションを通じてどれだけの ユーザをサポートできるかを決定することです。実際に追加的なテストを実行しないと、サポートされたユーザ数を見積もるのは難しいことですが、SLA が高くなると、サポートされたユーザ数も多くなります。

キャパシティ プランニング テストに関して、思考時間とは、いわゆる「エキスパート ユーザ」によってアクセスされる現実のプロダクション システムと同じです。これは、システムにとってとても高いワークロードを考慮し、他の多くのコンフィギュレーションでは、エンド ユーザによるリクエスト時間が「エキスパート」とは同様ではありません。これらのテストのための思考時間が 5 秒+/-25% (3.75 と 6.25 秒の間)に無作為化されました。一方、ノンエクスポートのようなシステムでは、思考時間はすべてのユーザに対して平均的な 30 秒であるといえます。システムの思考時間はポータルの全部のキャパシティに著しい影響を与えます。思考時間は大きくすると、システム上に多くのユーザが実行できます。「ベンチマーク」コンフィグレーションでは、システムを飽和するには CPU あたり 10 ユーザだけ必要ですが、思考時間を考えることで、同じ影響を持つには、CPU あたり数百や数千のユーザもかかることが必要になります。

キャパシティ プランニング テスト用のワークロードは、上記に説明した「ベンチマーク」テストより大幅に異なっています。最低 SLA 要件を満たすために必要でなユーザ数はより多い(思考時間があるため)ため、テストの継続期間を延ばす必要があります。各コンフィグレーション用のユーザ数が 2 時間までランプアップし、各コンフィグレーションには、1分あたりの一定割合で別のユーザ数を追加しました。システム応答が向上し 短いランプアップ スケジュールで多くのユーザをサポートできるため 2 時間を選びました。多数のユーザは、60 秒以上の一定のレートで約 2 時間のマークを実行するまでシステムに追加しました。

このテストでは、テスト ポータルが一定の応答時間でサポートできる同時ユーザ数を確立しました。2 秒と 5 秒の目標応答時間を使用しました。表に記載されている同時ユーザ数は、2 秒または 5 秒での最大同時実行ユーザ数を表します。このテストでは、HP Linux コンフィグレーションを使用しました。「HP Linux ハードウェア とサーバ コンフィグレーション」を参照してください。各サーバは、2 個の CPU があり、CPU カウントのデータが表の形式で示されます。

この節では、以下の結果についてレポートします。

JSP ポートレットの結果

表 12 JSP - JRockit JVM - 2 秒の応答時間
ポータル サイズ
2 個の CPU
4 個の CPU
8 個の CPU
12 個の CPU
16 個の CPU
非常に小規模
1770
3024
5376
8750
11189
小規模
1285
2278
4355
6600
8710
中規模
1411
2336
4347
6440
8625
大規模
1190
2176
4180
6132
8502
非常に大規模
1122
1968
3910
5625
7727

表 13 JSP - JRockit JVM - 5 秒の応答時間
ポータル サイズ
2 個の CPU
4 個の CPU
8 個の CPU
12 個の CPU
16 個の CPU
非常に小規模
2550
4326
7980
12125
16199
小規模
1972
3162
6148
9000
12060
中規模
1989
3168
6048
9108
12125
大規模
1836
3104
5665
8652
11881
非常に大規模
1649
2720
5038
8100
10386

表 14 JSP - HotSpot JVM - 2 秒の応答時間
ポータル サイズ
2 個の CPU
4 個の CPU
8 個の CPU
12 個の CPU
16 個の CPU
非常に小規模
2037
2856
6048
8875
12024
小規模
1564
2550
4711
7200
9648
中規模
1462
2368
4672
6900
9125
大規模
1462
2420
4372
6888
8829
非常に大規模
1292
1920
4015
5850
7848

表 15 JSP - HotSpot JVM - 5 秒の応答時間
ポータル サイズ
2 個の CPU
4 個の CPU
8 個の CPU
12 個の CPU
16 個の CPU
非常に小規模
2497
3948
8400
12500
16967
小規模
1972
3332
6365
10100
13802
中規模
1904
3225
6615
9752
13500
大規模
1955
3104
5830
9338
12140
非常に大規模
1802
2976
5680
8100
11445

ページフロー ポートレットの結果

表16 ページ フロー - JRockit JVM - 2 秒の応答時間
ポータル サイズ
4 個の CPU
8 個の CPU
12 個の CPU
16 個の CPU
非常に小規模
1500
3050
4650
6052
小規模
715
1450
1806
3418
中規模
666
1032
1940
3455
大規模
567
1347
2068
3266
非常に大規模
627
1098
2131
3089

表 17 ページフロー - JRockit JVM - 5 秒の応答時間
ポータル サイズ
4 個の CPU
8 個の CPU
12 個の CPU
16 個の CPU
非常に小規模
1925
3949
5900
7807
小規模
742
1456
2200
3553
中規模
720
1170
2111
3392
大規模
644
1403
2140
3270
非常に大規模
783
1229
2141
3060

表 18 ページフロー - HotSpot JVM - 2 秒の応答時間
ポータル サイズ
4 個の CPU
8 個の CPU
12 個の CPU
16 個の CPU
非常に小規模
1525
3375
5000
6566
小規模
715
1484
2268
3127
中規模
688
1470
2163
2950
大規模
729
1280
2040
2944
非常に大規模
657
1305
2057
3120

表 19 ページフロー - HotSpot JVM - 5 秒の応答時間
ポータル サイズ
4 個の CPU
8 個の CPU
12 個の CPU
16 個の CPU
非常に小規模
2150
4625
6868
9179
小規模
792
1687
2464
3345
中規模
792
1590
2340
3304
大規模
798
1477
2363
3290
非常に大規模
747
1469
2271
3158

 


その他のリソース

WebLogic Portal では、WebLogic Platform のさまざまなコンポーネントを使用します。WebLogic Portal のチューニングの詳細については、次のドキュメントを参照してください。


  ページの先頭       前  次