スケーラビリティのテスト
こちらの項目では、Yellowfin上で実行したスケーラビリティテストについて紹介します。このテストプロセスの結果は、Yellowfinが大規模ユーザーのインストールをサポートするためにスケール可能であることを示しています。
テストケースは、ユーザーが様々なビジネスインテリジェンスレポートアクティビティを同時に実行する、実際のエンタープライズレポート環境を想定して設計されています。
スケーラビリティとは何か
スケーラビリティとは、増加するユーザー要求に対応して、システムが適切に機能する能力を指します。例えば、スケーラビリティの高いシステムは、ユーザー数が100から1,000、1,000から10,000、10,000からさらに増加したとしても予測可能な動作します。パフォーマンスとは、特定のタスクを完了するまでに要する時間を指します。
なぜ、スケーラビリティは重要なのか
レポートシステムを使用するユーザー数の増加や、生成されるクエリーやレポート数の増加に伴い、パフォーマンスが課題になります。また、BIレポートがビジネスの意思決定をどのようにサポートするのかをユーザーが学ぶことで、より洗練されたレポートやクエリーを生成するようになり、これがシステムに大きな負荷を与えるようになります。
そのため、システムのスケーラビリティは、既存のニーズ、および予測されるニーズを考慮するうえで重要です。また、部門、地理的な地域にまたがる様々なユーザーコミュニティに固有のレポート作成要件や、レポート作成に使用される様々なデータソースの範囲、レポートが提供すべき言語も重要です。スケーラビリティは、BIソリューションを実行するハードウェア、およびソフトウェア環境を決定する際の重要な基準になります。
テストの手順と結果
システムのスケーラビリティを判断するためには、サーバ環境構築時に使用するベンチマーク、またはガイドラインとして慎重に定義され、制御されたテスト環境で実施されたシステムパフォーマンスの現実的な評価が必要になります。こちらの項目で紹介するテストは、Yellowfinの信頼できるベンチマークを開発するために設計されています。
目標
テストは、以下の目標を念頭に置いて設定されています。
- ダッシュボードナビゲーションやレポートの閲覧、レポートの実行や、レポートのスケジュール設定(レポートのバッチ処理)など、一般的なタスクを実行するユーザー数の増加に伴う、Yellowfin環境のパフォーマンス、およびスケーラビリティ特性を判断する。
- テストユーザーが真の同時性、つまり、同時にサーバに負荷をかけていることを保証します。
アプローチ
テストに使用されるハードウェア、およびソフトウェアコンポーネントは、ログイン、ダッシュボードやレポートの実行、ログオフを含む、ユーザーアクティビティが発生するエンタープライズのレポート作成環境を想定して設計されています。
Yellowfin アプリケーションのテストに重要なアプローチは、アプリケーション自体のボトルネックを明らかにし、クエリーの送受信処理の監視や、アプリケーションエンジンに結果を表示させることです。
注意:実行されるテストは、Yellowfinのアプリケーションとは分離され、ネットワークレイテンシーや、データベースサーバ速度、ブラウザ表示パフォーマンスなどの潜在的な環境の影響を含みません。
テストの他の目的としては、合理的に短い思考時間や、2秒の待機時間を組み込むことで、実際の使用例を試行し、再現することです。短い思考時間を使用する利点は、以下の通りです。
- テスト結果は、有効な同時接続テストのために模倣されたユーザー行動による高い使用パターンを反映します。
- 顧客は、彼らのレポート環境での同時接続レベルに基づく結果から、より優れた推測をすることができます。
同時接続ユーザーは、以下のテストケースを実行しています。
- Yellowfinへのログイン
- Yellowfinのダッシュボードへ移動
- (高度なグラフを含む)6つの個別レポートの読み込み
- 異なるダッシュボードタブへ移動し、(ドリルダウン、ドリルスルー、ドリルエニウェア、書式設定、条件付き書式設定、レポートサマリー、高度なグラフを含む)6つの個別レポートの読み込み
- (グラフと表を含む)レポートの最大化と終了
- Yellowfinからのログアウト
ソフトウェア
以下の表は、テストに使用したソフトウェアを示しています。
ソフトウェア | |
テスト環境 | Yellowfin v7.3 |
OS | Microsoft Windows 7 Professional |
Web サーバ | Tomcat 8.5.6 |
データベースOS | Microsoft Windows 7 Professional |
データベース | Microsoft SQL Server 12 |
負荷テスト | JMeter 2.13 |
ハードウェア
YellowfinとJMeter負荷テストソフトウェアは、以下の環境で実行されました。
ハードウェア | |
サーバ | 一般的なデスクトップサーバ |
プロセッサ | Intel(R) Core(TM) i7-5820K CPU @ 3.30GHz (12コアCPUと同等の6コアハイパースレッディング) |
RAM | 24 GB |
ユーザー
テスト環境でのパフォーマンスに基づき、実際にサポート可能なユーザー数を正確に判断するためには、「指名」ユーザー、「同時接続」ユーザー、「アクティブ」ユーザーを区別しなくてはいけません。
指名ユーザー:システムに特定され、潜在的にシステムを使用する個人の総計です。これはユーザー総数を構成し、いつでもアクティブ、または同時接続します。実際のBI環境では、システムの使用を許可された個人の総計を指します。これは、テスト環境で報告された応答時間を本番環境でサポートするために、どの程度のユーザー数を想定すればよいのかを示すため、BI実装計画で最も重要な数字です。
同時接続ユーザー:特定の時間にシステムにログオンしているユーザーセッション数を構成します。これには、クエリーから返される結果を閲覧しているだけのユーザーも含まれます。これらの同時接続ユーザーは、システムにログオンしていても、リクエストを送信していない場合もあります。Yellowfinの経験則を元にすると、特定の時間における同時接続ユーザーの数は、指名ユーザーの20%程度です。そのため、指名ユーザーが1,000の場合、同環境内での同時接続ユーザーは200になります。注意:この割合は、各BIアプリケーションに応じて大きく異なる可能性があります。
アクティブユーザー:システムにログインしているだけではなく、リクエストの送信や応答を待つ同時接続ユーザーも構成します。これは、特定の時間において実際にシステムに負荷をかけているユーザーです。目安として、同時接続ユーザーの50%がアクティブユーザーです。そのため、例えば、指名ユーザーが1,000の場合、同環境内での同時接続ユーザーは200であり、アクティブユーザーは100になります。この場合、指名ユーザーとアクティブユーザーの割合は、10:1になります。注意:この割合は、各BIアプリケーションに応じて大きく異なる可能性があります。
テスト概要
Yellowfinの負荷テストケースは、SkiTeamのデータマートを使用して実施しています。テストは、Yellowfin v7.3の新規インストール環境を使用し、増加する同時接続ユーザー数に合わせて、Yellowfinのコネクションプール、アプリケーションサーバの最大スレッド、ソースデータベースの接続管理に適切な値を適用して実行しています。テストはまた、Tomcatの単一インスタンスで実行されています。以下に示すように、同時接続ユーザー数が一定の閾値に達すると応答時間が遅くなるようにクラスタリングオプションを実装しなくてはいけません。
結果
レポートインタラクション | |||||
アクティブユーザー数 | 100 | 200 | 300 | 400 | 500 |
平均閲覧応答時間(秒) | 0.6 | 0.9 | 1.4 | 2.1 | 5.2 |
指名ユーザー数* | 1000 | 2000 | 3000 | 4000 | 5000 |
*アクティブユーザー数を元に、10:1の割合を使用して名前付きユーザー数を見積っています。
テストまとめ
今回掲載したYellowfinのテスト結果は、グローバル組織に真にエンタープライズレベルのレポート環境を提供するために構築された、最新で、オープン、スケール可能なアーキテクチャの結果です。
テスト結果から、以下の内容を把握することができます。
- 適切に導入された場合、Yellowfinは、数千人規模のユーザーにまたがるエキストラネットのレポート作成環境導入ニーズに対応できるスケーラビリティを実証しました。
- Yellowfinは、エンタープライズ導入で複数の部門にまたがる大規模なレポート作成環境の導入をサポートします。
- Yellowfinは、スケジュールが設定されたレポート作成(レポートのバッチ処理)環境で、高いスループットを発揮します。
実際の環境では、ネットワークやデータベースレイヤーなど、他の要因が潜在的にパフォーマンスを抑制する可能性があることに注意が必要です。同時接続率を高めるために、アプリケーションとデータベースサーバレイヤーにクラスタ構成を構築することが推奨され、これは高可用性とフェイルオーバー要件を満たすために最善のアプローチです。
結論として、Yellowfin ベンチマークテストの結果は、適切に導入された場合、Yellowfinがエンタープライズレポート作成環境の基礎となる、高パフォーマンスソリューションになることを示しています。