Dynamics CRM Online 2016 Update 1 パフォーマンス ベンチマークに関するホワイトペーパーが公開されました!

みなさん、こんにちは。

先日、ダウンロードセンターに、Dynamics CRM Online 2016 Update 1 に関する
パフォーマンスベンチマークテストの資料が公開されました。重要な内容のため、文書の内容を紹介していきたいと思います。

Microsoft Dynamics CRM 2015 and Microsoft Dynamics CRM 2016 Performance and Scalability Documentation(英語):
https://www.microsoft.com/en-us/download/details.aspx?id=45905

上記のリンク内の文書のうち、「Performance Benchmark for Microsoft Dynamics CRM Online 2016 Update 1」(12/05/2016 現在)の
内容を対象にしています。この文書は Dynamics CRM Online 2016 Update 1 を対象とした内容です。(設置型は対象外)

本文書の概要、目的

本文書は、Dynamics CRM Online 2016 Update 1 において、複数のユーザーが同時に利用している状況下で
パフォーマンスを評価し、Dynamics CRM Online 2016 Update 1 の拡張性とパフォーマンスを実証した結果を示します。

テスト結果の概要

本文書のテスト結果の概要は以下の通りです。

656,549,587 レコードが格納されている Dynamics CRM Online インスタンスに対して、
1 時間あたり 594,000 リクエストを実行中に、17,868 ユーザーが同時接続した場合、
平均ページ応答時間は、0.58 秒、平均トランザクション時間は、0.91 秒、合計トランザクション数 676,963。
(トランザクション数には、システムのスループットは含まない)

image

注意点

- 標準的な特定の Dynamics CRM Online 2016 Update 1 によるテスト結果です
- クライアント端末は、Azure Virtual Machine(Azure VM)を利用しています。
- テスト結果は、地理、カスタマイズ、インポートしている機能に影響を受けるため実装ごとに異なります。
- 応答時間(Response Time)は、テスト環境である Azure VM 上のクライアント端末の数値です。

テスト環境の構成

Azure にホストされた 4 台のクライアント端末(Azure VM)を利用することで、同時接続負荷テストを実行しました。image

テストシナリオ

今回のテストには、顧客に近い状況で負荷テストを実行するために Performance Tollkit を用いて実施しました。

セットアップ、構成

- 17,868 ユーザーが同時に CRUD 処理を実行するためのバッチを実行した
- 各クライアントがすべてのユーザーをロードするために 30 分かかった
- パフォーマンスデータを 5 秒ごとに集計した
- 各テストケースの間には、10 分の待ち時間を設定した(現実世界に近づけるため)
- すべてのテストは、認証がキャッシュされた状態で実行した
- すべてのテストは、一人のユーザーのテストケースがすべて順番に実行してから次のテスト実行に移るようにした
- ページのレンダリングには Internet Explorer 11 を利用した

チューニング、最適化

推奨するインデックの追加といった標準的な最適化手法は実施済みの Dynamics CRM Online 環境でテストしました。

テスト実行結果の詳細 image

データロード

顧客の構成に近しい状況にするため、同時接続 15,040 ユーザーを想定するテストモデルにしました。
その結果、実際には 17,868 ユーザーが負荷をかけました。想定より数値が増えた理由は、いくつかのテストケースを
1 つ以上の VM で同じユーザーで実行したためです。組織データベースのサイズは、1,024TB です。

部署(Bisiness Unit)の構成

47 セクター(4 部署 per セクター)全 188 部署という複雑な部署構成を作成しました。
現実的な方法でパフォーマンスをテストするために、各部署には異なるセキュリティロールのユーザーを割り当てました。

image

9 つのセキュリティロールのうち、8 つは既定で用意されているセキュリティロールです。
残りの 1 つは “Sales Associate” という名前のカスタムセキュリティロールです。

- System Administrator
- Sales Manager
- Marketing Manager
- Customer Service Representative Manager
- Scheduler
- Marketing Professional
- Salesperson
- Customer Service Representative
- Sales Associate

カスタマイズ

現実的な企業のモデルにするため、4 つのエンティティに対して、
それぞれにカスタムフィールドを入れ、フィールドレベルセキュリティを有効にしました。

- Account
- Contact
- Lead
- Task

ユーザーデータ量

各ユーザーに現実的なデータセットが割り当てました。 割り当てたデータ量は、ユーザーの役割に基づいています。
テストの前の組織データベースの合計データは 1.024 TB、656,549,587 レコード以上のビジネスレコードが含まれていました。
以下の表は、レコード数の要約を提供します。レコード数別の Top 7 のエンティティを示しています。
(文書の中には、Top 51 が記載されています)

image

まとめ

今回は、Dynamics CRM Online におけるベンチマークをご紹介しました。
この検証結果は、さまざまな外的要因で変わるため、あくまで参考値としてご利用いただければと思います。
次回は、Dynamics CRM 設置型を Azure 上で構成した Iaas 型のベンチマークのホワイトペーパーを紹介します。

– プレミアフィールドエンジニアリング 河野 高也