パフォーマンスのテストは、Oracle Analytics Cloudが予期したワークロードを処理でき、パフォーマンスが落ちないことを確認するための重要なステップです。パフォーマンス・テストのためのオープンソース・ツールであるApache JMeterを使用して、実際のユーザー・エクスペリエンスをシミュレートし、Oracle Analytics Cloudレポートのパフォーマンスを計測できます。
この図は、Oracle Analytics Cloudのパフォーマンス・テストのプロセスを示しています。
.jpgの説明
現実的なシナリオに基づいてパフォーマンス・メトリックを決定します。
パフォーマンス・メトリックを決定するには、Oracle Analytics Cloudの要件とユーザーの期待を理解する必要があります。たとえば、Oracle Analytics Cloudで多数のユーザーに対応したい場合は、パフォーマンス・メトリックでレスポンス時間とスループットを重視する必要があります。同じく、Oracle Analytics Cloudで大容量のデータに対応したい場合は、パフォーマンス・メトリックでリソース利用率を重視する必要があります。パフォーマンス・メトリックを定義した後で、パフォーマンス目標を設定できます。
メトリックのテスト計画を設計します。
現実のシナリオとワークロードをシミュレートするようにテスト計画を設計する必要があります。つまり、一意の仮想ユーザーの数、テスト期間、リクエストの間の検討時間を特定する必要があります。一意の仮想ユーザーの数を、実際に予期されるワークロードをシミュレートする現実的な値に設定します。同様に、テストの期間を、ユーザーがレポートを実行する際にかかる時間に相当する現実的な値に設定します。検討時間は、ユーザーがリクエストとリクエストの間にかける時間です。現実的なシナリオをシミュレートするために、現実的な検討時間の値も設定する必要があります。
また、リクエストが現実的なペースで送信されるようにスクリプトにペーシングも含める必要があります。正確で実用的な結果を得るためには、固定した検討時間を使用するのではなく、様々なアクティビティで異なる検討時間を使用することをお薦めします。たとえば、ダッシュボードの単純なナビゲーションには20秒という短い検討時間をお薦めしますが、プロンプトの選択には60秒という中程度の検討時間をお薦めします。同じく、レポートを表示するときは、ランダムに120-200秒の長い検討時間を使用することをお薦めします。このアプローチによって、テストが実際のユーザーの行動を正確に反映し、信頼できる結果が得られることが保証されます。
動的な値を相関付けます。
相関では、スクリプトでの動的な値(アクセス・トークン、セッション状態ID、CSRFトークン、他の動的パラメータなど)のキャプチャと置換が行われます。これらの値の相関に失敗すると、エラーが発生し、正しくない結果が生成されることがあります。相関は、Oracle Analytics Cloudのようなクラウドベースのアプリケーションには不可欠です。動的な値を使用して、セッションを管理し、ユーザーのリクエストを処理するためです。このプロセスを容易にするために、Oracle Analytics Cloudのサンプルの相関ルール・ライブラリCORファイル をダウンロードできます。これには事前ビルド済の相関ルール・セットが含まれ、Oracle Analytics Cloudのテスト・スクリプトの作成に使用できます。
テスト・スクリプトを記録して再生します。
JMeterには、ユーザー・アクションを記録してテスト・スクリプトに変換する機能が用意されています。この機能を使用すると、Oracle Analytics Cloudでのユーザー・アクションを記録し、現実のシナリオをシミュレートするテスト・スクリプトを作成できます。記録したスクリプトを何回も再生して、レポートのパフォーマンスを検証できます。テスト・スクリプトは、現実のシナリオ(データの検索、レポートの生成、データのビジュアル化など)をシミュレートするように設計する必要があります。
現実的なワークロードでテストします。
現実的なワークロードをシミュレートするには、仮想ユーザーの数を、予期されるワークロードをシミュレートする現実的な値に設定します。その後、ワークロードを少しずつ増やして、アプリケーションの最大処理能力を特定することができます。現実のシナリオをシミュレートするために少なくとも1時間はテストを実行することと、ピーク使用期間(会計年度末の月末など)をシミュレートするようにワークロードを設計することをお薦めします。
結果を分析します。
テストが完了したら、結果を分析してパフォーマンスのボトルネック(レスポンス時間の遅さ、エラー率の高さ、問合せ処理能力稼働率の超過など)を特定します。これは、Oracle Cloud Infrastructure Monitoringサービスで使用可能なメトリックおよびJMeterの組込み分析ツールを使用して行うことができます。パフォーマンスのボトルネックを特定したら、判明したことに対処してレポートのパフォーマンスを改善することができます。これには、問合せの最適化、システム設定構成の改善、またはOCPU数の追加が含まれます。
レポートがパフォーマンス目標を達成できないとしても、ボトルネックを識別して対処することで最適化できます。JMeterのリスナーは最も遅いリクエストの特定に役立ちます。ログを分析すると、パフォーマンスの問題の根本原因を判別できます。Oracle Analytics Cloudのパフォーマンスを改善するために、データベース問合せの最適化、キャッシュ設定の調整、またはインフラストラクチャのスケール・アップが必要になることもあります。
これらのガイドラインに従って、Oracle Analytics Cloudがパフォーマンスの要件を満たし、高速かつシームレスなエクスペリエンスを組織のために実現できるようにします。定期的なパフォーマンス・テストにより、問題がユーザーに影響を与える前に特定して対処することができます。