この章では、Oracle Fusion Middlewareのパフォーマンスおよびチューニングの概念について説明します。この章の内容は次のとおりです。
Oracle Fusion Middlewareのパフォーマンスを最大化するには、アプリケーションで使用されるすべてのコンポーネントの監視、分析およびチューニングを行う必要があります。このマニュアルでは、パフォーマンスの監視に使用できるツールと、Oracle Fusion Middlewareコンポーネントのパフォーマンスを最適化する手法について説明しています。
通常、パフォーマンス・チューニングには一連のトレードオフが伴います。ボトルネックの原因を特定した後、他の分野のパフォーマンスを調整しないと、期待される成果が得られない場合もあります。ただし、パフォーマンス目標の達成に向けての明確な計画があれば、最も重要な分野がはっきりするため、パフォーマンス向上のために何を犠牲にするかを判断しやすくなります。
Oracle Fusion Middlewareを初めて使用する場合や、Oracle Fusion Middlewareコンポーネントの詳しい情報が必要な場合は、付録A「関連資料と参照先」にあげられているドキュメントを参照してください。
Fusion Middlewareコンポーネントは、パフォーマンスおよびスケーラビリティを考慮して構築されています。アプリケーションのパフォーマンス機能を最大限に高めるには、パフォーマンスおよびスケーラビリティを設計に組み込む必要があります。パフォーマンス計画は、現在のパフォーマンス要件を満たし、既知の問題(ボトルネックやハードウェア・リソースの不足など)を解決し、負荷、ユーザーまたはプロセスの予期される変化に対応するものであることが必要です。また、パフォーマンスに影響を与えることなく、ピーク時にコンポーネントを拡張する方法も示す必要があります。
この後の項では、アプリケーション環境をチューニングしてパフォーマンスを最適化するための計画を作成する手順について説明します。
ステップ1: パフォーマンス目標の定義
ステップ3: パフォーマンス・メトリックの監視および測定
アプリケーションのパフォーマンス・チューニングを始める前に、まず達成しようとするフォーマンス目標を明確化する必要があります。パフォーマンス目標を決定するには、デプロイするアプリケーションおよびシステムの環境面での制約を理解する必要があります。
パフォーマンス目標が何であるかを理解するために、次のステップを実行してください。
パフォーマンス目標は、次のような制約によって制限されます。
ハードウェアおよびソフトウェアの構成(CPUタイプ、ディスク・サイズ、ディスクの処理速度、十分なメモリーなど)。
ハードウェア要件を決定するための唯一の公式などありません。アプリケーションのニーズを十分に満たすために必要なハードウェアおよびソフトウェアの構成を決定するプロセスをキャパシティ・プランニングと呼びます。
キャパシティ・プランニングの際には、システムのパフォーマンス目標を評価し、アプリケーションを理解することが求められます。サーバー・ハードウェアのキャパシティ・プランニングでは、最大のパフォーマンス要件に焦点を当てる必要があります。キャパシティ・プランニングの詳細は、第27章「キャパシティ・プランニング」を参照してください。
ピーク使用量やレスポンス時間に対応した高可用性アーキテクチャの構成。Oracle Fusion Middlewareアプリケーションに高可用性機能を実装する方法の詳細は、第28章「クラスタおよび高可用性機能の使用」を参照してください。
ドメイン間の相互運用、レガシー・システムの使用、およびレガシー・データのサポートが可能かどうか。
開発、実装およびメンテナンスのコスト。
これらの制約とそれぞれの影響を理解することで、レスポンス時間、スループット、特定のハードウェアにかかる負荷など、アプリケーション環境にとって現実的なパフォーマンス目標を確実に設定できます。
Oracle Fusion Middlewareにアプリケーションをデプロイしてチューニングする作業を始める前に、運用環境を明確に定義しておくことが重要です。運用環境は、次のような大まかな制約および要件によって決まります。
アプリケーション・アーキテクチャ
セキュリティ要件
ハードウェア・リソース
新しいシステムを設計するのか、既存のシステムをメンテナンスするのかにかかわらず、具体的なパフォーマンス目標を設定して、最適化の方法と対象を知っておいてください。パフォーマンス目標を決定するには、デプロイするアプリケーションおよびシステムの環境面での制約を理解する必要があります。
アプリケーションのコンポーネントが達成することを求められるアクティビティ・レベルについて、次のような情報を収集します。
予想ユーザー数
リクエストの数およびサイズ
データの量および一貫性
目標とするCPU使用率
アプリケーション開発者、データベース管理者およびシステム管理者は、ユーザーのパフォーマンスへの期待を注意深く適切に設定する必要があります。システムで特に複雑な処理を実行している場合は、単純な処理を実行している場合よりレスポンス時間が長くなります。ユーザーには、どの処理に時間がかかるかを知らせておく必要があります。
たとえば、ユーザーの90%に対するレスポンス時間を5秒以内、すべてのユーザーに対する最大レスポンス時間を20秒に抑えようと考えているとします。通常、これは簡単なことではありません。アプリケーションでは様々な処理が実行され、特性も許容されるレスポンス時間も処理ごとに異なります。各処理について、測定可能な目標を設定する必要があります。
負荷の変動がレスポンス時間に与える影響も調べる必要があります。たとえば、ユーザーによるシステムへのアクセスが午前9時から10時の間に集中し、午後1時から2時の間に再度集中するとします(図3-1のグラフを参照)。負荷のピークが定期的に(毎日、毎週など)発生する場合は、システムの構成およびチューニングを負荷のピーク時の要件に合せて行うのが一般的です。オフピーク時にアプリケーションにアクセスしたユーザーに対するレスポンス時間は、ピーク時のユーザーの場合より短くなります。負荷のピークが頻繁に発生しない場合は、負荷のピーク時のレスポンス時間が長くなっても許容し、小規模なハードウェア構成でコストを削減することも考えられます。
パフォーマンス目標およびパフォーマンスへの期待が明確に定義されていれば、パフォーマンスのチューニングが成功したかどうかを容易に判断できます。成功を左右するのは、ユーザー・コミュニティに対して設定した機能面での目標、基準が満たされたかどうかを判断する能力、および例外事項を解決するための対策を講じる能力です。
継続的にパフォーマンスを監視することで、十分にチューニングされたシステムを維持できます。アプリケーションのパフォーマンスの履歴を記録することで、有効な比較が可能になります。様々な負荷に対する実際のリソース消費データを使用すれば、客観的なスケーラビリティ調査を実施し、その結果から予想される負荷のボリュームに合せたリソース要件を予測することができます。パフォーマンス評価の詳細は、第4章「Oracle Fusion Middlewareの監視」を参照してください。
優れたパフォーマンスの鍵となるのは優れた設計です。アプリケーション開発サイクルにおける設計フェーズは、継続的なプロセスとして実施する必要があります。アプリケーション開発サイクルの中で計画、監視、チューニングのフェーズを繰り返すことは、Fusion Middlewareのデプロイメント全般にわたって最適なパフォーマンスを得るうえで不可欠です。反復型の設計手法を使用することで、パフォーマンス目標に影響を与えずにワークロードの変化に対応できます。
推奨される設計手法の詳細は、次のOracle Fusion Middleware開発者向けドキュメントを参照してください。
『Oracle Fusion Middleware Oracle SOA Suite開発者ガイド』
『Oracle Fusion Middleware Oracle WebCenterのための開発者ガイド』
『Oracle Fusion Middleware Oracle TopLink開発者ガイド』
『Oracle Fusion Middleware Oracle Application Development Framework Fusion開発者ガイド』
『Oracle Fusion Middleware Oracle Identity Managementアプリケーション開発者ガイド』
Oracle Fusion Middlewareには、サーバーとアプリケーションのパフォーマンスの監視に使用できる各種テクノロジおよびツールが用意されています。監視を行うことで、サーバー・アクティビティの評価、傾向の観察、システムのボトルネックの診断、パフォーマンスに問題のあるアプリケーションのデバッグ、およびシステムのチューニングに役立つデータの収集が可能になります。詳細は、第4章「Oracle Fusion Middlewareの監視」を参照してください。
パフォーマンス・チューニングの内容は、システムにデプロイしたアプリケーションやリソースによって異なります。一般的なチューニング分野については、第2章「主なパフォーマンス分野」で説明しています。
関連項目: 『Oracle Databaseパフォーマンス・チューニング・ガイド』『Oracle Fusion Middleware Oracle WebLogic Serverパフォーマンスおよびチューニング』 『Oracle Fusion Middleware管理者ガイド』 |