Apache JMeterを使用したテスト・パフォーマンス
パフォーマンス・テストは、Oracle Analytics Cloudがパフォーマンスを損なうことなく、予想されるワークロードを処理できるようにするための重要なステップです。 パフォーマンス・テスト用のオープン・ソース・ツールであるApache JMeterを使用して、実際のユーザー・エクスペリエンスをシミュレートし、Oracle Analytics Cloudレポートのパフォーマンスを測定できます。
この図は、Oracle Analytics Cloudのパフォーマンス・テスト・プロセスを示しています。
「図ceal_test_performance.jpgの説明」
-
現実的なシナリオに基づいてパフォーマンス・メトリックを決定します。
パフォーマンス・メトリックを決定するには、Oracle Analytics Cloudの要件とユーザーの期待を理解する必要があります。 たとえば、Oracle Analytics Cloudが大量のユーザーを処理する場合、パフォーマンス・メトリックはレスポンス時間とスループットに焦点を当てる必要があります。 同様に、Oracle Analytics Cloudが大量のデータを処理すると予想される場合は、パフォーマンス・メトリックがリソース使用率に焦点を当てる必要があります。 パフォーマンス・メトリックを定義したら、パフォーマンス目標を設定できます。
-
メトリックのテスト計画を設計します。
テスト計画は、実際のシナリオとワークロードをシミュレートするように設計する必要があります。 つまり、一意の仮想ユーザー数、テストの継続時間およびリクエスト間の思考時間を識別する必要があります。 一意の仮想ユーザー数を、実際の予想されるワークロードをシミュレートする現実的な値に設定します。 同様に、テストの期間を、ユーザーがレポートを実行する期間を表す現実的な値に設定します。 Think-timeは、ユーザーが2つのリクエストの間に取る時間であるため、実際のシナリオをシミュレートするために、現実的なthink-time値も設定する必要があります。
また、リクエストが現実的なペースで送信されるように、スクリプトにペーシングを含める必要があります。 正確で実用的な結果を得るために、Oracleでは、固定思考時間を使用するかわりに、様々なアクティビティに対して異なる思考時間を使用することをお薦めします。 たとえば、簡単なダッシュボード・ナビゲーションでは短い思考時間を20秒に、プロンプト選択では中程度の思考時間を60秒にすることをお薦めします。 同様に、レポートを表示する場合、Oracleでは、ランダム化で120-200秒の大きな思考時間を使用することをお薦めします。 このアプローチにより、テストは実際のユーザーの動作を正確に反映し、信頼できる結果を生成します。
-
動的値を関連付けます。
相関には、アクセス・トークン、セッション・ステートID、CSRFトークン、その他の動的パラメータなど、スクリプト内の動的値の取得と置換が含まれます。 これらの値の関連付けに失敗すると、エラーや結果が不正確になる可能性があります。 Oracle Analytics Cloudなどのクラウド・ベースのアプリケーションでは、セッションを維持し、ユーザー・リクエストを処理するために動的値を使用するため、相関が不可欠です。 このプロセスを簡単にするために、Oracle Analytics Cloudのテスト・スクリプトを作成するために使用できる相関ルールの事前組込みセットを含む「Oracle Analytics Cloudの相関ルール・ライブラリCORファイルのサンプル」をダウンロードできます。
-
テスト・スクリプトを記録およびリプレイします。
JMeterは、ユーザー・アクションを記録し、テスト・スクリプトに変換する機能を提供します。 この機能を使用して、ユーザー・アクションをOracle Analytics Cloudに記録し、実際のシナリオをシミュレートするテスト・スクリプトを作成できます。 記録されたスクリプトを複数回リプレイして、レポートのパフォーマンスを検証できます。 データの検索、レポートの生成、データの視覚化など、実際のシナリオをシミュレートするテスト・スクリプトを設計する必要があります。
-
現実的なワークロードでテストします。
現実的なワークロードをシミュレートするには、仮想ユーザー数を、予想されるワークロードをシミュレートする現実的な値に設定する必要があります。 その後、ワークロードを徐々に増やして、アプリケーションの最大容量を識別できます。 Oracleでは、実際のシナリオをシミュレートし、月末や会計年度末など、ピーク使用期間をシミュレートするワークロードを設計するために、少なくとも1時間テストを実行することをお薦めします。
-
結果の分析
テストが完了したら、結果を分析して、レスポンス時間の低下、エラー率の低下、問合せ容量使用率の過剰など、パフォーマンスのボトルネックを特定します。 これは、「Oracle Cloud Infrastructureモニタリング・サービスで使用可能なメトリック」およびJMeterの組込み分析ツールを使用して実行できます。 パフォーマンスのボトルネックを特定したら、結果に基づいてレポートのパフォーマンスを向上させることができます。 これには、問合せの最適化、システム設定構成の改善、OCPU数のスケール・アップが含まれます。
レポートがパフォーマンス目標を達成できない場合は、ボトルネックを特定して対処することで、それらを最適化できます。 JMeterのリスナーは、最も遅いリクエストの識別に役立ち、ログを分析してパフォーマンスの問題の根本原因を特定できます。 Oracle Analytics Cloudのパフォーマンスを向上させるために、データベース問合せの最適化、キャッシュ設定の調整、またはインフラストラクチャのスケール・アップが必要になる場合があります。
次のガイドラインに従って、Oracle Analytics Cloudがパフォーマンス要件を満たし、組織に迅速でシームレスなエクスペリエンスを提供します。 定期的なパフォーマンス・テストでは、ユーザーに影響を与える前に問題を特定して対処できます。