Microsoft SharePoint Server 2010 での Excel Services のパフォーマンスとキャパシティ要件を検討する このドキュメントは現状有姿で提供され このドキュメント (URL などのインターネット Web サイトにある参照先を含む ) に記載さ れている情報および見解は 将来予告なしに変更することがあります これを使用する責任はお客様ご自身にあります このドキュメントに記載されている例の一部は 例示のみを目的としており 架空のものです 実在する事物とは一切関係ありませ ん このドキュメントは あらゆるマイクロソフト製品に対する何らかの知的財産権をお客様に付与するものではありません このドキュメ ントは 内部的な参照目的にのみコピーおよび使用することができます 2010 Microsoft Corporation. All rights reserved.
目次 Excel Services のパフォーマンスとキャパシティの要件を予測する... 3 テストファームの特性... 3 データセット... 3 負荷... 4 推奨および最大の決定... 5 ハードウェア設定とトポロジ... 5 ラボハードウェア... 5 トポロジ... 6 スケールアウトテストの結果... 6 詳細な結果...10 スケールアップテストの結果...11 推奨事項...12 ハードウェアの推奨事項...12 Excel Services のパフォーマンス関連設定...13 典型的なボトルネックとその原因...14
Excel Services のパフォーマンスとキャ パシティ要件を検討する このパフォーマンスとキャパシティプランニングのドキュメントは Microsoft SharePoint Server 2010 を実行するトポロジ内 で Excel Services を使用することによるフットプリントのガイダンスを提供します この記事の内容 : テストファームの特性テスト結果推奨事項トラブルシューティング Microsoft SharePoint Server 2010 のキャパシティ計画とその実行の一般的な情報については Capacity management and sizing for SharePoint Server 2010 (SharePoint Server 2010 のキャパシティの管理とサイ ズ ) ( 英語 ) を参照してください テストファームの特性 データセット Excel Services のキャパシティとパフォーマンスは サービスでホストされているブックの構成によって大きく異なります ブックのサイ ズと計算の複雑さが最も影響します このテストでは 標準的なサイズと複雑さを使用していますが ブックはさまざまです キャパシ ティとパフォーマンスは 実際に使用するブックと それぞれのブックのサイズや複雑さに左右されます キャパシティプロファイルを評価するために ( 他の SharePoint テストが実行されていない ) Excel Services 専用のファームで Excel Services ブックをシミュレートしました このファーム内で ブックのサイズと複雑さに基づく スモール ラージ ベリーラージの 3 つのブックセットを使用しました ブックの特性 スモール ラージ ベリーラージ シート数 1-3 1-5 1-20 列数 10-20 10-500 10-1,000 行数 10-40 10-10,000 100-30,000
計算セル数 0-20% 0-70% 0-70% 書式設定数 1-10 1-15 1-20 テーブル数 0-1 0-2 0-5 グラフ数 0-1 0-4 0-4 外部データを使用するブック 0% 20% 50% ピボットテーブルを使用するブック 0% 3% 3% 条件付き書式を使用するブック 0% 10% 20% ストレージについては このテストファームには 2,000 の SharePoint サイトが作成され 各サイトにスモール ラージ ベリーラー ジのブックが 1 つずつ含まれます さらに データセットには 1 ~ 5 個の Excel Web パーツを含む SharePoint ページが含まれます SharePoint ページに含 まれるブックの割合は スモールブックが 10% ラージブックが 90% です 負荷 アプリケーションの使用状況をシミュレートするために 次の操作を 1 つ以上実行する負荷を作成しました アクションミックス スモールブック ラージ / ベリーラージブック 表示 50% 70% 編集 35% 15% 共同作業の表示 10% 10% 共同作業の編集 5% 5% さらに すべてのブックの 17% に外部データが含まれます ラージ / ベリーラージブックには外部データが含まれ 80% の確率で更 新を行います スモールブックには外部データが含まれません どの負荷にもユーザーアクションの間に 10 秒の思考時間があります この点は 他の SharePoint Server 2010 キャパシティプランニングのドキュメントと異なります Excel Services はステートフルです つまり ユーザーが操作している間 ブックがメモリ内に維持されるため 個別の要求だけでなく 完全なユーザーセッションをシミュレートすることが重要です 1 ユーザーの負荷は 1 秒あたり平均 0.2 回の要求になります 各負荷に対して 2,000 のサイトのいずれかがランダムに選択され テストが行われます サイト内でアプリケーションとアプリケーショ ンのサイズを選択するために 次の割合を使用しました ブックの選択 % 使用率 スモールブック 30% ラージブック 55% ダッシュボード 10% ベリーラージブック 5%
推奨および最大の決定 推奨スループットである グリーンゾーン ( 維持可能な状態 ) と 最大スループットである レッドゾーン ( 短時間なら耐えられる が避けるべき状態 ) を決定するため 各構成で 2 つのテストを行いました レッドゾーンおよびグリーンゾーンのユーザー負荷を決定するために 最初に段階テストを行い 次の条件に一致したときに停止し ました グリーンゾーンでは ファーム内のコンピューター (WFE ECS(Excel Calculation Services) SQL Server) のいずれかが 50% CPU を超えた時点か システム全体の応答時間が 1 秒を超えた時点で停止 しました レッドゾーンでは ファーム内の ECS コンピューターの成功 RPS が最大になった時点で停止しました この時 点を過ぎると ファームの全体的なスループットが低下したり いずれかの層で障害が発生し始めます 多くの場 合は レッドゾーンに達すると ECS の最大プライベートバイトを超えます 段階テストを行った後に これらの最大値を取り下げ 時間を 1 時間に延ばして 一定負荷テストを行いました グリーンゾーンでは グリーンゾーンテストを停止したときの 75% の負荷を使用し レッドゾーンでは 段階テストでピークに達したときの 65% の負荷を使用しました グリーンゾーンテストで メモリの制限のために % CPU が 50% を超えることがない場合は 代わりにレッドゾーンで計算した負荷数の 75% を使用しました グリーンゾーンとレッドゾーンの両方で スケールアウトテストとスケールアップテストはどちらも平均応答時間が 0.25 秒未満でし た ハードウェア設定とトポロジ ラボハードウェア 高度なテスト結果の詳細を提供するために 複数のファーム構成を使用してテストを行いました ファーム構成は 1 ~ 3 台のフロントエンド Web サーバー 1 ~ 3 台のアプリケーションサーバー (Excel Services の場合は ECS (Excel Calculation Services)) Microsoft SQL Server 2008 を実行する 1 台のデータベースサーバーコンピューターです さらに 4 台のクライアントコンピューターを使用してテストを行いました すべてのサーバーコンピューターは 64 ビットで クライアントコンピューターは 32 ビットです テストで使用したハードウェアの詳細を次の表に示します コンピューターの役割 CPU メモリネットワーク フロントエンド Web サーバー ECS SQL Server 2 プロセッサ /4 コア 2.33 GHz Intel Xeon 2 プロセッサ /4 コア 2.33 GHz Intel Xeon 4 プロセッサ /4 コア 2.6 GHz Intel Xeon 8 GB 1 ギガ 8 GB 1 ギガ 16 GB 1 ギガ
トポロジ 我々の経験では ( もちろん実際には異なることがありますが ) ECS 層のメモリと WFE 層の CPU がスループットの最も重要な制 限要素です そこで ECS 層と WFE 層のコンピューターの数を変えてスケールアウトテストを行いました スケールアップテストでは 1 台の WFE 対 1 台の ECS のトポロジを使用し ECS コンピューターのプロセッサ数と使用可能メモ リを変化させました ブックは SharePoint Server 2010 からバイナリ BLOB として読み取られ ECS 層のメモリに置かれます ( その後 ディスクに キャッシュされます ) したがって ECS は SharePoint Server 2010 を実行する SQL Server インスタンスに特に負担をかけ ません SQL Server がボトルネックになることはありません スケールアウトテストの結果 次の表に SharePoint Server 2010 内の Excel Services の結果を示します 各テストグループに対して特定の変動要素 のみを変化させて ファームのパフォーマンスに対する逐次的な影響を示しています この記事で報告されているすべてのテストには 思考時間や待機時間が含まれていることに注意してください ( 詳細は上記を参照 ) この点は SharePoint Server 2010 の他のキャパシティプランニングの計画の結果と異なります SharePoint Server 2010 内の Excel Services のボトルネックの詳細については この記事の後半にある 典型的なボトル ネックとその原因 のセクションを参照してください 全体的規模 次の表に ファームに WFE と専用 ECS コンピューターを追加する効果をまとめます このスループットは ECS コンピューターに対す る値です ファーム全体への影響は反映していません トポロジ ベースライン最大値 (RPS) ベースライン推奨値 (RPS) 1x1 1x2 1x3 2x1 2x2 2x3 3x1 3x2 38 31 35 26 28 21 57 35 62 46 52 39 51 32 81 69
3x3 83 64 推奨値の結果グリーンゾーン ( 維持可能な状態 ) テスト ここでは 推奨される維持可能なスループットの結果を示します
上記でわかるように ファームに WFE コンピューターを追加することによるオーバーヘッドがあります これは ECS コンピューターを追加すると埋め合わせられます ECS コンピューターが 2 台になると 1 台の WFE がボトルネックになり 2 台目や 3 台目の ECS を追加した場合 そのキャパシティは無駄になります また ECS が制限要素になるため 3 台目の WFE ではもうスループットの向上はありません WFE コンピューターが追加されると 各コンピューターの CPU 負荷が大幅に削減されます 2 台の WFE x 3 台の ECS の CPU 負荷は 1 台の WFE の最大値に近づきます これは ECS を追加すると WFE 層が制限要素になることを意味します これは 推奨される 負荷に対する結果であることに注意してください そのために CPU は それほど高くない約 35% で最大値に達します 最大値の結果レッドゾーン ( 短時間なら耐えられるが避けるべき状態 ) テスト ここでは 最大ピークスループットの結果を示します
推奨値の結果と同様に 2 台目および 3 台目の ECS コンピューターを追加していくと 1 台の WFE が制限要素になります また 推奨値の結果と同様に 2 台目の WFE が追加された後は ECS が制限要素になるため 3 台目の WFE がスループッ トの向上につながりません これらの結果より 複数の WFE では 1 台の WFE 構成のようには大きい負荷がかからず 2 台目の WFE コンピューターが追 加された後は ECS コンピューターがボトルネックになることがわかります
詳細な結果 推奨値の結果 概要 1x1 1x2 1x3 2x1 2x2 2x3 3x1 3x2 3x3 クライアントの成功 RPS 30.56 34.55 31.67 26.03 45.94 68.37 20.71 38.82 63.70 クライアントの応答時間 ( 秒 ) 0.22 0.18 0.19 0.16 0.19 0.20 0.15 0.15 0.17 TPS 1.58 1.77 1.61 1.40 2.38 3.54 1.08 2.03 3.25 WFE 層 1x1 1x2 1x3 2x1 2x2 2x3 3x1 3x2 3x3 % CPU ( すべての WFE コンピューターの平均 ) 33.73 37.64 33.84 14.61 23.95 36.90 7.54 13.12 21.75 ECS 層 1x1 1x2 1x3 2x1 2x2 2x3 3x1 3x2 3x3 % CPU ( すべての ECS コンピュ 21.05 11.04 7.08 17.31 14.88 17.42 13.65 13.03 13.69 ーターの平均 ) ピークプライベートバイト ( すべての ECS コンピューターの最大 ) 5.94E 5.82E 5.79E 5.87E 6.09E 5.92E 5.79E 5.91E 5.85E 最大値の結果 概要 1x1 1x2 1x3 2x1 2x2 2x3 3x1 3x2 3x3 クライアントの 37.85 56.70 51.17 35.19 62.04 81.31 27.79 51.62 82.58 成功 RPS クライアントの 0.19 0.28 0.23 0.16 0.20 0.25 0.16 0.16 0.22 応答時間 ( 秒 ) TPS 1.92 2.96 2.59 1.81 3.21 4.60 1.41 2.72 4.30 WFE 層 1x1 1x2 1x3 2x1 2x2 2x3 3x1 3x2 3x3 % CPU ( すべて の WFE コンピュ ーターの平均 ) 41.08 67.78 58.59 19.44 34.11 45.97 10.19 17.79 28.69
ECS 層 1x1 1x2 1x3 2x1 2x2 2x3 3x1 3x2 3x3 % CPU ( すべて 24.99 18.44 10.96 23.57 20.56 17.77 18.97 17.04 18.10 の ECS コンピューターの平均 ) ピークプライベートバイト ( すべての ECS コンピューターの最大 ) 5.91E 5.85E 5.91E 5.88E 5.99E 6.50E 5.94E 5.94E 6.04E スケールアップテストの結果 ECS 層に CPU とメモリを追加する影響も測定しました このテストでは 1x1 トポロジを使用しました 上の結果は CPU の追加はいくらかの助けにはなりますが 全体的なスループットに大きな影響はないことを示しています
ただし メモリの追加は レッドゾーンの線に示されているように 特にピーク時のスループットに大きな影響がありました このテストでは 全体で同じハードウェアを使用しましたが Excel Services プロセスの最大プライベートバイトは制限されています ブックはメモリに置かれるため ブックのサイズは 1 台の ECS コンピューターが処理できるブックの数 したがってユーザーの数に大きく影響します 推奨事項 このセクションでは パフォーマンスとキャパシティの一般的な推奨事項について説明します Excel Services のキャパシティとパフォーマンスは サービスでホストされているブックの構成によって大きく異なります ブックのサイズ と計算の複雑さが最も影響します このテストでは 標準的なサイズと複雑さを使用していますが ブックはさまざまです キャパシティ とパフォーマンスは 実際に使用するブックと それぞれのブックのサイズや複雑さに左右されます ハードウェアの推奨事項 Excel Services は Web フロントエンドサーバーとアプリケーションサーバーの両方に標準のハードウェアを使用し 特別な要件は必要ありません ECS 層のコンピューターには CPU の数 速度 メモリに関する一般的な SharePoint Server 2010 のガイドラインを適用できます ただし ECS コンピューターで発生する可能性がある最初のボトルネックがメモリであることに注目してください これには リソースを追加する余地があります ただし ブックのサイズと複雑さがメモリの追加によるキャパシティの向上に大きな影響を及ぼすため リソースを追加する前に 組織で使用される典型的なブックセットでテストを行うことをお勧めします 出発点となるトポロジのキャパシティとパフォーマンスを向上させるには 次の 2 つのいずれかを実行できます 既存のサーバーコン ピューターのキャパシティを向上させるスケールアップか トポロジにサーバーを追加するスケールアウトです このセクションでは いくつ かのスケールアウトトポロジの一般的なパフォーマンス特性について説明します サンプルトポロジは Excel Services シナリオのトポロジをスケールアウトする方法として よく使用される次の方法を示しています より多くのユーザー負荷に備えるために 既存の Excel Services アプリケーションサーバーの CPU とメモリを確認しま す CPU に問題がない場合はメモリを追加し メモリに問題がない場合は CPU を追加します メモリと CPU の両方が
上限に達した場合は ECS コンピューターを追加すると有効な場合があります これは WFE がボトルネックになる時点で実行でき その後は必要に応じて WFE コンピューターを追加します 今回のテストでは SQL Server はボトルネックになりませんでした ブックはドキュメント全体として読み取り / 書き込みを実行され ユーザーセッションの間中メモリに置かれるため Excel Services はデータベース層に大きな負荷をかけません Excel Services のパフォーマンス関連設定 Excel Services のパフォーマンス特性を制御する方法の 1 つは メモリの利用方法を制御することです 次の制限は [ サーバー の管理 ] > [ アプリケーション構成の管理 : サービスアプリケーションの管理 ] > [Excel Services] > [ グローバル設定 ] から設 定できます 最大プライベートバイト 既定では ECS はコンピューターのメモリを最大 50% 使用します コンピューターが他のサービスと共有されている場合は この数値を小さくすると有効な場合があります コンピューターが共有されておらず ECS 専用で メモリが制限要素になっていると思われる場合は この数値を大きくする有効な場合があります どちらの場合も 管理者は この数値を調整してみることで より適切なスケーリングに必要な変更を行う際の目安を得られます メモリキャッシュのしきい値 ECS は 使用されていないオブジェクト ( すべてのセッションがタイムアウトになった読み取り専用のブックなど ) をメモリにキャッシュします 既定では ECS はこの目的に 最大プライベートバイト の 90% を使用します コンピューターが ECS 以外のサービスをホストしている場合は この数値を小さくすると 全体的なパフォーマンスを向上させることができます この数値を増やすと 要求されているブックが既にメモリにあり SharePoint コンテンツデータベースからブックを再読み込みする必要がなくなる可能性が高くなります 未使用オブジェクトの最大有効期間 既定では ECS は オブジェクトをメモリキャッシュ内にできる限り長く維持します 特に同じコンピューターで他のサービスが実行さ れている場合は ECS のフットプリントを減らすために オブジェクトをメモリにキャッシュする期間の上限を設定すると有効な場合が あります ブックの最大サイズとセッションの有効期間を制御するためのスロットルもあります これにより ブックがメモリに保持される期間を制御できます これらの設定は それぞれの信頼できる場所が適用範囲になり グローバルではありません これらの設定は [ サーバーの管理 ] > [ アプリケーション構成の管理 : サービスアプリケーションの管理 ] > [Excel Services] > [ 信頼できる場所 ] の [ 編集 ] で 信頼できる場所ごとに設定を編集できます ブックの最大サイズ グラフまたは画像の最大サイズ 既定では ECS は 10 MB 以下のブックおよび 1 MB 以下のグラフ / イメージに制限されます もちろん これらのブックやグラフ / イ メージを大きくすると ECS 層のコンピューターの使用可能メモリにかかる負荷が増します ただし ECS が特定のブックを処理でき るようにこの設定を大きくすることが必要なユーザーが組織にいる場合もあります セッションタイムアウト セッションタイムアウトを小さくすると 使用されていなオブジェクトキャッシュやその他のサービスがメモリから速く解放されます
揮発性関数のキャッシュの有効期間 揮発性関数は ブックを続けて再計算するたびに値が変化することがある関数です 例として 日付 / 時刻関数 乱数ジェネレータなどがあります 揮発性関数はサーバーに負荷をかけるため ECS は これらの値を再計算のたびには再計算せずに 短時間用として最後の値をキャッシュします この有効期間を増やすと サーバーの負荷を減らすことができますが これは揮発性関数を使用するブックがあるかどうかによって異なります 外部データの許可 ECS は 外部データソースを使用する機能を持ちます ただし 大量のデータが返されて 外部リソースを使用するために必要な 時間が非常に大きくなる可能性があります 外部データを許可する場合は この機能の影響を調整するための設定がいくつかあり ます 典型的なボトルネックとその原因 パフォーマンステストの中で 典型的なボトルネックがいくつか明らかになりました ボトルネックは ファームの構成要素の 1 つがその キャパシティに達した状態です ボトルネックは ファームのスループットに停滞または減少をもたらします いくつかの典型的なボトルネック その原因 および考えられる解決策を次の表に示します パフォーマンスとスケーラビリティのトラブルシューティング ボトルネック原因解決策 ECS メモリ Excel Services は ユーザーセッションの間中 各ブックをメモリに置きます ブックの数が多い場合やブックが大きい場合は ECS がすべての使用可能メモリを消費して 実際に消費される プライベートバイト が 最大プライベートバイト を超える場合があります ECS 層のコンピューターのメモリを増やしてスケールアップするか ECS ボックスを増やしてスケールアウトします この選択は CPU も最大に近づいているかどうかにも依存する部分があります ECS CPU Excel Services は ブックの数と複雑さによっては アプリ ケーション層で大量の処理を行うことがあります 既存の ECS ボックスの CPU やコアの数を増 やすか ECS ボックスを追加します Web サーバ ーの CPU 使 用率 Web サーバーの負荷がユーザー要求によって過剰になると CPU の平均使用率は 100% に近づきます これにより Web サーバーが要求に迅速に応答できなくなり クライアントコンピューターでタイムアウトが発生したり エラーメッセージが表示される可能性があります この問題を解決するには 次の 2 つの方法のどちらかを使用します ファームに Web サーバーを追加して ユーザー負荷を分散させます または 高速のプロセッサを追加して Web サーバーまたはサーバーをスケールアップします パフォーマンス監視 システムをスケールアップまたはスケールアウトする必要があるかどうかを判断するには パフォーマンスカウンターを使用してシステムの 状態を監視します 以下の表に示された情報を使用して 監視するパフォーマンスカウンターとパフォーマンスカウンターを適用する プロセスを決定してください フロントエンド Web サーバー
次の表に ファームのフロントエンド Web サーバーを監視するためのパフォーマンスカウンターとプロセスを示します パフォーマンスカウンター % Processor time 適用先オブジェクト Processor (w3wp) メモ このスレッドが命令を実行するためにプロセッサを使用した経過時間の割合を示し ます % Processor Time Processor ((_Total) コンピューターのすべてのスレッドが命令を実行するためにプロセッサを使用した経 過時間の割合を示します プライベート バイト Process(w3wp) この値が w3wp プロセスの最大プライベートバイトの設定に近づいてはなりませ ん 近づいた場合は メモリを消費しているコンポーネントを調査する必要がありま す Excel Calculation Services (ECS) 次の表に ファーム内のアプリケーションサーバー ( この場合は Excel Calculation Services (ECS)) を監視するためのパフォー マンスカウンターとプロセスを示します パフォーマンスカウンター % Processor Time 適用先オブジェクト Processor(_Total) メモ コンピューターのすべてのスレッドが命令を実行するためにプロセッサを使用した 経過時間の割合を示します % Processor Time Process(w3wp) ECS は独自の w3wp プロセス内で実行されるため CPU 時間を多く使用す るようになったときに それがどの w3wp プロセスかは明らかです 平均ディスク キューレングス PhysicalDisk(_Tota l) ログによる過剰なディスク書き込みを監視します プライベートバイ ト Process(w3wp) Excel Services は ユーザーのセッションが期限切れになるまで ( タイムアウト は設定可能 ) ブックをメモリにキャッシュします ECS で大量のデータが処理され ると ECS の w3wp のメモリ消費が上昇します SQL Server 前述のように ブックはユーザーのセッションの期間中に一度だけ ECS 層のメモリに読み込まれるため SQL Server 層の Excel Services の負荷は比較的軽くなります SharePoint Server 2010 の SQL Server 層の監視とトラブルシューティングのガイ ドラインを参照してください