性能検証結果レポート - サイボウズ SP Apps

Cybozu SP Apps 2010 パフォーマンス検証
第二版
サイボウズ株式会社
2012 年 10 月 15 日
著作権
このドキュメントに記載されている情報 (URL 等のインターネット Web サイトに関する情報を含む) は、将来予告なしに変更すること
があります。別途記載されていない場合、このソフトウェアおよび関連するドキュメントで使用している会社、組織、製品、ドメイン名、電
子メール アドレス、ロゴ、人物、場所、出来事などの名称は架空のものです。実在する名称とは一切関係ありません。お客様ご自身の
責任において、適用されるすべての著作権関連法規に従ったご使用を願います。サイボウズは、このドキュメントに記載されている内容に
関し、特許、特許申請、商標、著作権、またはその他の無体財産権を有する場合があります。別途 サイボウズのライセンス契約上に明
示の規定のない限り、このドキュメントはこれらの特許、商標、著作権、またはその他の無体財産権に関する権利をお客様に許諾するも
のではありません。
2012 Cybozu, Inc. All rights reserved.
2
はじめに
本ホワイトペーパーは、大規模ユーザー企業における Cybozu SP Apps 2010 利用がピーク時のパフォーマンスを
検証することを目的としています。
本ホワイトペーパーでは、Cybozu SP Apps 2010 について次の 2 点を確認することを目的としています。
- 限界利用ユーザー数
- 限界時に消費しているサーバーリソース
本ホワイトペーパーに記載されている内容は、サイボウズ社内にて実施した検証結果に基づくものであり、実運用
環境下でのパフォーマンスを保証するものではありません。予めご了承ください。
本ホワイトペーパーは、Cybozu SP Apps 2010 の新規展開を計画している IT 担当者を対象としています。
Cybozu SP Apps 2010 の製品情報に関しては 弊社製品サイトを参照してください。
Cybozu SP Apps 2010
<http://spapps.cybozu.com/jp/>
3
変更履歴
バージョン
リリース時期
変更内容
Version 1.0
2012 年 4 月
初版リリース
Version 2.0
2012 年 10 月
バージョン 1.1.4 に対応
4
目次
CYBOZU SP APPS 2010 パフォーマンス検証 ......................................................................................................................... 1
はじめに ....................................................................................................................................................................................... 3
変更履歴 ..................................................................................................................................................................................... 4
目次 ............................................................................................................................................................................................. 5
第1章
1.1
1.2
1.3
第2章
2.1
2.2
2.3
2.4
第3章
3.1
第4章
4.1
4.2
4.3
4.4
検証環境 .................................................................................................................................................................... 6
MICROSOFT SHAREPOINT SERVER 2010 環境 .................................................................................................................. 7
CYBOZU SP APPS 2010 環境 ........................................................................................................................................... 8
CYBOZU SCALE BENCH 環境 ............................................................................................................................................ 8
事前準備 .................................................................................................................................................................. 10
ACTIVE DIRECTORY 登録ユーザー ............................................................................................................................... 11
MICROSOFT SHAREPOINT SERVER 2010 サイト構成 ....................................................................................................... 11
テスト結果 ..................................................................................................................................................................... 12
CYBOZU SP APPS 2010 検証データ用意 ...................................................................................................................... 16
検証シナリオ ............................................................................................................................................................. 17
負荷テストのシナリオ .................................................................................................................................................... 18
検証結果 .................................................................................................................................................................. 19
CYBOZU SCALE BENCH の結果 ..................................................................................................................................... 20
サーバーリソースの分析 ............................................................................................................................................... 21
まとめ ............................................................................................................................................................................. 26
考察 ............................................................................................................................................................................... 26
5
第1章
検証環境
6
1.1
Microsoft SharePoint Server 2010 環境
本検証で構築した検証環境は、物理サーバーと仮想サーバーで構成される「Microsoft SharePoint Server 2010 環
境」です。
本検証で使用する Microsoft SharePoint Server 2010 のシステム要件の詳細情報は以下を参照してください。
ハードウェア要件およびソフトウェア要件 (SharePoint Server 2010)
<http://technet.microsoft.com/ja-jp/library/cc262485.aspx>
Microsoft SharePoint Server 2010 環境は Active Directory が 1 台、Microsoft SQL Server 2008 R2 が 1 台、
Microsoft SharePoint Server 2010 が 2 台の合計 4 台で構成しており、そのうち Active Directory のみを仮想サ
ーバーで構成しています。
Microsoft SharePoint Server 2010 環境のソフトウェアはすべて 64 bit 版にて構成しています。
以下に Microsoft SharePoint Server 2010 環境の構成表を示します。
表 1-1 Microsoft SharePoint Server 2010 環境 構成表
サーバー名
物理環境 / 仮想環境
AD
仮想環境
SQL
物理環境
SharePoint01
物理環境
SharePoint02
物理環境
ハードウェア
Xeon 2.27 GHz (4 プロセッサ)
8.0 GB RAM
Xeon 2.40 GHz (2 プロセッサ)
48.0 GB RAM
Xeon 2.40 GHz (2 プロセッサ)
48.0 GB RAM
Xeon 2.40 GHz (2 プロセッサ)
48.0 GB RAM
ソフトウェア
Windows Server 2008 R2 Enterprise
Windows Server 2008 R2 Enterprise
Microsoft SQL Server 2008 R2
Windows Server 2008 R2 Enterprise
Microsoft SharePoint Server 2010
Windows Server 2008 R2 Enterprise
Microsoft SharePoint Server 2010
Active Directory のフォレストの機能レベルならびにドメインの機能レベルは「Windows Server 2008 R2」で構成し
ます。Microsoft SharePoint Server 2010 環境の全サーバーは Active Directory のドメインに参加させます。
Microsoft SQL Server 2008 R2 には Microsoft SharePoint Server 2010 の構成データベースやコンテンツ データ
ベースなど、すべてのデータベースが格納されます。Microsoft SharePoint Server 2010 は 2 台を Network Load
Balancing (NLB) で負荷分散した Web サーバーとして構成し、1 つのポータル サイトをホストします。Web サー
バーは HTTP リクエストに応じてコンテンツを提供する Web サーバーです。
Network Load Balancing (NLB) で 負荷 分散 を行 う Web サ ーバ ーの SharePoint01, SharePoint02 および
SharePoint03 はクラスターを構成します。また、検証時にクライアントからのアクセス元が同一 IP となるため、2 台
の Web サーバーへ均等に分散されるようにするにはアフィニティは「なし」で構成します。Network Load Balancing
(NLB) の設定の詳細情報は以下を参照してください。
ネットワーク負荷分散マネージャーのプロパティ
<http://technet.microsoft.com/ja-jp/library/cc771709(v=ws.10).aspx>
また、クラスター操作モードをユニキャストとした場合にフラッディングの危険性があるため、クラスター操作モードを
マルチキャストとし、スイッチにもマルチキャストに対応したものを利用しています。
以下に Network Load Balancing (NLB) の設定パラメーターの表を示します。
7
表 1-2 Network Load Balancing (NLB) 設定パラメーター
設定プロパティ
クラスター パラメーター
ポートの規制の追加と編集
1.2
設定項目
クラスター操作モード
ポートの範囲
プロトコル
フィルターのモード
アフィニティ
設定値
マルチキャスト
0 – 65535
TCP
複数ホスト
なし
Cybozu SP Apps 2010 環境
測定対象の Cybozu SP Apps 2010 は SharePoint のアドオンとして、Web アプリケーション単位でインストールし
て利用します。Microsoft SharePoint Server 2010 を構成する、いずれかのフロントエンド Web サーバーに、ログイ
ンし、Cybozu SP Apps 2010 をインストールすると、残りの Web サーバーにも自動的にソリューションが展開されま
す。
本検証で使用する Cybozu SP Apps 2010 のバージョンは、1.1.4 を利用します。
Cybozu SP Apps 2010 の動作環境は、SharePoint Server 2010 に準拠します。SharePoint Server 2010 の動作環
境については、マイクロソフト社の Web サイトを参照してください。
ハードウェア要件およびソフトウェア要件(SharePoint Server 2010)
<http://technet.microsoft.com/ja-jp/library/cc262485.aspx>
ブラウザーサポートを計画する(SharePoint Foundation 2010)
<http://technet.microsoft.com/ja-jp/library/cc288142.aspx>
1.3
Cybozu Scale Bench 環境
負荷テストの実施には、Java 負荷テスト用のオープンソースソフトである「The Grinder」をベースに、サイボウズ製
品の性能検証を実施する目的で最適化した Cybozu Scale Bench を利用します。Cybozu Scale Bench はテスト実
行時に Cybozu SP Apps 2010 へ実行するシナリオのタスク情報を送信し負荷をかけます。検証結果は「ScaleBench」
のレポート機能にて、CSV ファイルの形式で出力され、応答状況などをグラフで確認することもできます。
Cybozu Scale Bench の詳細については、以下を参照してください。
< http://g.cybozu.co.jp/construction/topics01.html>
本検証で使用する Cybozu SP Apps 2010 のバージョンは、1.1.4 を利用します。
8
以下に Cybozu Scale Bench 環境の構成表を示します。
表 1-3 Cybozu Scale Bench 環境 構成表
サーバー名
Client01
ハードウェア
Core i7-860 2.80 GHz (2 プロセッサ)
6 GB RAM
ソフトウェア
Cent OS release 5.4
Cybozu Scale Bench の設定で利用する文言について説明します。
仮想ユーザー
シナリオを実行するユーザーを仮想ユーザー(VU: Virtual User)と定義します。本検証では、全ユーザーが常に
SP Apps を利用していると想定するのは現実的ではないため、ユーザーの 50%が 1 分間に 1 度タスク情報を送信す
るものとします。本検証では、シナリオを実行する仮想ユーザー数を 7 秒毎に 4VU 増加する設定とています。その
際の各機能の平均応答秒数が 7 秒以内であることを適正な負荷状況と定義しています。例えば、各機能の平均応
答秒数が 7 秒を超える時点の仮想ユーザーが 500 の時、限界利用ユーザー数は 1,000 人となります。
思考遅延時間
1 分間に 1 アクセスという状況を再現するため、各シナリオにおけるユーザーの思考時間 ( タスク情報を送信しな
い時間 )を 60 秒とします。この時間を思考遅延時間と定義します。 ランダム性を持たせるために、各仮想ユーザ
ーは 60 ± 30 秒 ( 30 秒 ~ 90 秒 ) の間で次のタスク情報を送信します。
以下に検証シナリオの実行の際のパラメーターの表を示します。
表 1-4 Cybozu Scale Bench 設定パラメーター
設定プロパティ
grinder.properties
scalebench.properties
設定項目
grinder.threads (Agent あたりの仮想ユーザー数)
grinder.duration (性能検証の継続時間)
scalebench.wait_mean (思考遅延時間の平均)
scalebench.wait_range (思考遅延時間の偏差)
scalebench.peak_at (継続時間の何割で VU 数が最大となるか)
9
設定値
1,000 VU
2,400,000 msec
60,000 msec
30,000 msec
0.8
第2章
事前準備
10
2.1
Active Directory 登録ユーザー
本検証で使用する user1 から user1000 の全 1,000 のユーザーアカウントを Active Directory に登録します。
ユーザーアカウントは、仮想ユーザー数の上限として 1,000 のユーザーアカウントを登録します。また、本検証で
は組織情報を利用していないため、SharePoint のグループやセキュリティグループは作成しません。
2.2
Microsoft SharePoint Server 2010 サイト構成
ポータル サイトはトップ サイトと 10 個の部署サイトと 50 個のプロジェクトサイトで構成しています。
各サイトには SP スケジューラーと SP ディスカッションの 2 つのリストが配置されています。
以下にポータル サイトのサイト マップ図を示します。
トップ サイト
部署サイト × 10
プロジェクトサイト × 50
図 2-1 ポータル サイトのサイト マップ
11
2.3
テスト結果
負荷検証を行う前にテストとして、Microsoft SharePoint Server 2010 標準のカレンダー・ディスカッションボード、デ
ータを投入していない Cybozu SP Apps 2010 でシナリオを実行し、サーバー構成が妥当か確認します。
Microsoft SharePoint Server 2010 標準のカレンダー・ディスカッションボード
以下にユーザー ロード数の推移の図を示します。
図 2-2 ユーザーロード数の推移
すべてのユーザーで平均応答時間 7 秒を下回る状態となりました。検証シナリオは SharePoint カレンダーとディス
カッションボードの閲覧のみを行う「参照テスト」、新規追加のみを行う「新規追加テスト」の 2 つのシナリオを同時に
実行しました。仮想ユーザー数は一定時間毎に増加しますが、各シナリオの実行比率は一定としています。
以下に、各シナリオの内容を示します。
12
表 2-1 シナリオの詳細
シナリオ名
参照テスト
新規追加テスト
内容
1. ログイン
2. サイトのトップ画面へ移動
3. ディスカッションボードのトップ画面へ移動
4. 表示された一覧からランダムに 1 つを選択
5. ディスカッションボードのトップ画面へ移動
6. 表示された一覧からランダムに 1 つを選択
7. カレンダーのトップ画面へ移動
8. 表示された一覧からランダムに 1 つを選択
9. ログアウト
1. ログイン
2. サイトのトップ画面へ移動
3. ディスカッションボードのトップ画面へ移動
4. ディスカッションの新規追加画面へ移動
5. ディスカッションを追加
6. ディスカッションボードのトップ画面へ移動
7. ディスカッションの新規追加画面へ移動
8. ディスカッションを追加
9. カレンダーのトップ画面へ移動
10.
カレンダーの新規追加画面へ移動
11.
カレンダーを追加
12.
ログアウト
13
実行比率
72%
28%
Cybozu SP Apps 2010 データなし
以下にユーザー ロード数の推移の図を示します。
図 2-3 ユーザーロード数の推移
すべてのユーザーで平均応答時間 7 秒を下回る状態となりました。検証シナリオは、比較のため Microsoft
SharePoint Server 2010 標準のカレンダー・ディスカッションボードのシナリオを Cybozu SP Apps 2010 のスケジュ
ーラー・ディスカッションに変更したものを実行しました。
以下に、各シナリオの内容を示します。
14
表 2-2 シナリオの詳細
シナリオ名
参照テスト
新規追加テスト
内容
1. ログイン
2. サイトのトップ画面へ移動
3. ディスカッションのトップ画面へ移動
4. 表示された一覧からランダムに 1 つを選択
5. ディスカッションのトップ画面へ移動
6. 表示された一覧からランダムに 1 つを選択
7. スケジューラーのトップ画面へ移動
8. 表示された一覧からランダムに 1 つを選択
9. ログアウト
1. ログイン
2. サイトのトップ画面へ移動
3. ディスカッションのトップ画面へ移動
4. ディスカッションの新規追加画面へ移動
5. ディスカッションを追加
6. ディスカッションのトップ画面へ移動
7. ディスカッションの新規追加画面へ移動
8. ディスカッションを追加
9. スケジューラーのトップ画面へ移動
10. スケジューラーの新規追加画面へ移動
11. スケジュールを追加
12. ログアウト
15
実行比率
72%
28%
2.4
Cybozu SP Apps 2010 検証データ用意
本検証で使用する Cybozu SP Apps 2010 のアプリケーションデータは、サイボウズ独自のデータ作成ツールを利
用して自動的に作成しています。
以下に作成したアプリケーションデータ数の一覧を示します。
表 2-1 アプリケーションデータ数の一覧
合計の仮想ユーザー数
部署サイト
サイト数
1 サイトあたりの仮想ユーザー数
SP ディスカッションのデータ件数
SP スケジューラーのデータ件数
プロジェクトサイト
サイト数
1 サイトあたりの仮想ユーザー数
SP ディスカッションのデータ件数
SP スケジューラーのデータ件数
16
Private Discussion
1000
10
100
6000
6000
26071
2607
50
20
6000
Public Discussion
Schedule(10 人参加)
Schedule(20 人参加)
6000
26071
13036
Private Discussion
Public Discussion
Schedule(10 人参加)
Schedule(100 人参加)
第3章
検証シナリオ
17
3.1
負荷テストのシナリオ
本検証の負荷テストでは、SP スケジューラーと SP ディスカッションの閲覧のみを行う「参照テスト」、新規追加のみ
を行う「新規追加テスト」と既にあるリストにコメントを付与して更新する「更新テスト」の 3 つのシナリオを同時に実
行します。仮想ユーザー数は一定時間毎に増加しますが、各シナリオの実行比率は一定としています。
以下に、各シナリオの内容を示します。
表 3-1 シナリオの詳細
シナリオ名
参照テスト
新規追加テスト
更新テスト
内容
1. ログイン
2. サイトのトップ画面へ移動
3. ディスカッションのトップ画面へ移動
4. ディスカッションのタグをクリック
5. 表示された一覧からランダムに 1 つを選択
6. ディスカッションのトップ画面へ移動
7. ディスカッションのタグをクリック
8. 表示された一覧からランダムに 1 つを選択
9. サイトのトップ画面へ移動
10. スケジューラーのトップ画面へ移動
11. 2012 年 12 月 12 日の週ビューを表示
12. 表示された一覧からランダムに 1 つを選択
13. ログアウト
1. ログイン
2. サイトのトップ画面へ移動
3. ディスカッションのトップ画面へ移動
4. ディスカッションの新規追加画面へ移動
5. ディスカッションを追加
6. ディスカッションのトップ画面へ移動
7. ディスカッションの新規追加画面へ移動
8. ディスカッションを追加
9. スケジューラーのトップ画面へ移動
10. スケジューラーの新規追加画面へ移動
11. スケジュールを追加
12. ログアウト
1. ログイン
2. サイトのトップ画面へ移動
3. ディスカッションのトップ画面へ移動
4. ディスカッションのタグをクリック
5. 表示された一覧からランダムに 1 つを選択
6. 選択したディスカッションにコメントを書き込む
7. ディスカッションのトップ画面へ移動
8. ディスカッションのタグをクリック
9. 表示された一覧からランダムに 1 つを選択
10. 選択したディスカッションにコメントを書き込む
11. スケジューラーのトップ画面へ移動
12. 2012 年 12 月 12 日の週ビューを表示
13. 表示されたビューからランダムに 1 つを選択
14. 選択したスケジュールにコメントを書き込む
15. ログアウト
18
実行比率
72%
16%
12%
第4章
検証結果
19
4.1
Cybozu Scale Bench の結果
「2.3 Cybozu SP Apps 2010 検証データ用意」のデータを用いて、1 年間利用した想定での負荷テストの結果を以
下に示します。同様に、Microsoft SharePoint Server 2010 環境のポータル サイトへ、7 秒毎に 4VU ずつ仮想ユー
ザー数を増加させてアクセスした結果です。
図 4-1 ユーザーロード数の推移
2つの操作が 7 秒を少し超えているが、それ以外は安定して応答しており、仮想ユーザー数は 1000(2000 ユーザ
ー) となります。
20
4.2
サーバーリソースの分析
Windows のパフォーマンスカウンタを使用してサーバーリソースを 5 秒おきに出力しました。
以下に測定対象のカウンターの一覧を示します。
表 4-1 カウンターの一覧
オブジェクト
カウンター
内容
Memory
Available Bytes
利用可能なメモリ量
ボトルネックと
判断する目安
メモリ全体の 5%未満
Pages/sec
1 秒間に発生したページング回数
1000 超
% Processor Time
% User Time
プロセッサがアイドル状態でない時間の割合
プロセッサがユーザープロセスを実行した時
間の割合
プロセッサがアイドル状態だった時間の割合
プロセッサにおいて待機中のスレッド数
85%超
ディスクが読み取りまたは書き込みを行って
いた時間の割合
ディスクでの読み取りまたは書き込みを待機
している未処理の要求の数
80%超
Processor(_Total)
System
Physical Disk
% Idle Time
Processor
Queue Length
% Disk Time
Avg. Disk
Queue Length
CPU 数×2 を超える
スピンドル数×2 を超える
上記の値は以下の情報を参考にしています。
Windows の管理 : サーバーのパフォーマンスを測定する - Microsoft TechNet
<http://207.46.16.252/ja-jp/magazine/2008.08.pulse.aspx>
以降の各リソース 2 台の Web サーバー間で大きな違いは見られなかったため、内 1 台の結果のみを記載します。
21
Memory - Available Bytes
以下に利用可能なメモリ量の推移の図を示します。
図 4-2 Web サーバーの利用可能なメモリ量
図 4-3 SQL サーバーの利用可能なメモリ量
テスト経過とともに、利用可能なメモリ量は減っているが、まだ大分余裕があることがわかる。
22
Memory - Pages / Sec
以下に 1 秒間に発生したページング回数の推移の図を示します。
図 4-4 Web サーバーの 1 秒間に発生したページング回数
図 4-5 SQL サーバーの 1 秒間に発生したページング回数
単発的な上昇はあるものの、メモリがボトルネックと判断されるような過剰なページングは見られませんでした。
23
Processor
以下に プロセッサの状態の推移の図を示します。
図 4-6 Web サーバーのプロセッサの状態
図 4-7 SQL サーバーのプロセッサの状態
テスト経過とともに、利用可能なメモリ量は減っているが、まだ大分余裕があることがわかる。
24
System – Processor Queue Length
以下にプロセッサにおける処理待ちのスレッド数を示します。
図 4-8 Web サーバーの処理待ちのスレッド数
図 4-9 SQL サーバーの処理待ちのスレッド数
単発的な数値の上昇はあるものの、処理待ちのスレッド数がボトルネックと判断する目安を上回る状態は継続して
いません。
25
Physical Disk
以下にディスクの利用時間の割合と、ディスクでの処理待ちの要求数の推移の図を示します。
図 4-10 SQL サーバーの Disk の状態
単発的な増加が見られるが、ボトルネックと判断する目安を継続的に上回ることはなかった。
4.3
まとめ
以下に本検証で得られた結果のまとめを示します。
限界利用ユーザー数
1. データなしの場合、2,000 ユーザーまで利用可能
2. データが 1 年間分溜まった場合も、2000 ユーザーまで利用可能
ボトルネックの箇所
なし
4.4
考察
本検証で利用した Microsoft SharePoint Server 2010 環境のハードウェアは、要件よりもメモリが多めに構成されて
います。サーバーリソースの分析より、利用可能なメモリ量は検証終了の段階でも約 40GB ほどあったので、16GB
あれば 2000 ユーザーで動作するものと思われます。
本検証で定義している仮想ユーザーは、ユーザーの 50%が 1 分間に 1 度タスク情報を送信するものとしています。
実際の企業内のスケジューラーへのアクセスは、かなり頻繁に利用されている企業でも、一番アクセスが多い月曜
の朝でも 30%程度です。従って、実運用環境での限界利用ユーザー数はもっと多くなる可能性があります。
26