過去事例から学ぶ sharepoint パフォーマンス問題とその対策

Post on 22-Nov-2014

7.003 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

DESCRIPTION

 

TRANSCRIPT

過去事例から学ぶ

SharePoint パフォーマンス問題とその対策

Community Open Day 2012

荒川 剛史 日本マイクロソフト株式会社 コマーシャルテクニカルサポート オフィスシステムサーバー サポートエスカレーションエンジニア

Agenda

• 過去事例の紹介その1「SQL ブロッキング問題」

• 過去事例の紹介その2「セキュリティ クロール問題」

• 問題を未然に防止するための Tips

過去事例の紹介その1

SQL ブロッキング問題

ある日の朝・・・

• 社長:いつものように役員向けのサイト を開いたら、真っ白なページのまま固まってしまった!

• 管理者:複数のユーザーで同様の事象が報告されているようです。 ・・・想定外です。

想定される原因

• ハードウェア障害

• ネットワーク障害 (通信、DNS 等)

• 認証の問題 (DC 障害等)

• IIS 障害 (w3wp.exe)

• カスタム ソリューション (Web パーツ等)

• SQL Server 障害 (デッドロック、ブロッキング等)

問題の切り分けポイントについて考える

SQL ブロッキングの問題

• 一般的にパフォーマンス問題の原因となる可能性が最も高い

• ユーザーのオペレーションとデータ量に依存

• 一度に大量のレコードに対して更新を行うような処理 (ワークフローや SharePoint 内部動作) に注意

問題の傾向

SQL ブロッキングの問題 ロック エスカレーションの仕組み

SQL Server

SQL ステートメント

大量の行ロックを生成

SQL ブロッキングの問題 ロック エスカレーションの仕組み

SQL Server

SQL ステートメント

テーブルロックにエスカレーション

SQL ブロッキングの問題 ロック エスカレーションの仕組み

SQL Server

SQL ステートメント

テーブルロックにエスカレーション

メモリの節約

SQL ブロッキングの問題 ロック エスカレーションの仕組み

SQL Server

SQL ステートメント

テーブルロックにエスカレーション

後続の処理

ロック解除まで待たされる (ブロッキング)

SQL ブロッキングの問題

• デッドロックとは異なりブロック元の処理の完了を待てばいずれは利用可能

• SQL Server 側でデッドロックが検出されない為ロールバックされない

デッドロックとの違い

SQL ブロッキングの問題

• ブロックの要因となり得る処理を中断する

• IIS リセット

• タイマー サービスの再起動

• トレースフラグ 1224 の設定

実際に発生した場合の対処

SQL ブロッキングの問題

ロックエスカレーションの条件

• 使用メモリ (既定:データベース エンジンによって使用されるメモリの 24%)

• ロックの数 (既定:1テーブルで 5000 個のロック)

詳細については以下の資料参照

ロック エスカレーションの仕組み

MSDN ライブラリ:ロックのエスカレーション (データベース エンジン) http://msdn.microsoft.com/ja-jp/library/ms184286(v=SQL.105).aspx

SQL ブロッキングの問題

1) [Microsoft SQL Server 2008] -> [構成ツール] -> [SQL Server 構成マネージャ]を起動します。

2) SQL Server のサービス -> SQL Server (MSSQLSERVER) を右クリックし、プロパティを開きます。

3) 詳細設定タブ -> 起動時のパラメータの先頭に、次の文字列を追加します。

-T1224;

4) OK を押して完了します。

5) SQL Server を再起動します。

トレースフラグ 1224 の設定

MSDN ライブラリ:トレース フラグ (Transact-SQL) http://msdn.microsoft.com/ja-jp/library/ms188396(v=sql.105).aspx

SQL ブロッキングの問題

• 一つのリストに格納するアイテム数を制限する (≦ 5000 件目安)

• 一度に大量のアイテムを更新するワークフローを実装しない

• 大量のデータを扱うときはアーカーブ用のサイトとデータ更新用のサイトを分ける

• サイト コレクションごとにコンテンツ データベースを分割する

問題を未然に防止するための対策

TechNet ライブラリ:大きなリストを設計し、リストのパフォーマンスを最大限に高める (SharePoint Server 2010) http://msdn.microsoft.com/ja-jp/library/ms188396(v=sql.105).aspx

SQL ブロッキングの問題

Demo

過去事例の紹介その2

セキュリティ クロールの問題

ある日の午後・・・

• 社長:今朝自分が投稿した社長ブログの記事が検索結果にヒットしない。どうなってるんだ!!

• 管理者:本来であれば1時間程度で完了するはずの増分クロールに10時間以上かかっています。・・・想定外です。

想定される原因

• クロール停止 (プロパゲート失敗、インデックス破損、検索サービスハング等)

• ネットワーク障害 (プロキシタイムアウト等)

• フルクロール (コンテンツ DB アタッチ、デタッチ)

• 既知の不具合 (KB956056, KB930887 等)

• セキュリティ クロール

問題の切り分けポイントについて考える

セキュリティ クロールの問題

• 一般的に増分クロール パフォーマンス問題の原因となる可能性が最も高い

• ユーザーのオペレーションとデータ量に依存

• コンテンツ量が多く、SharePoint サイトの権限変更を頻繁に行う環境では要注意

問題の傾向

セキュリティ クロールの問題 セキュリティ クロールの仕組み

セキュリティ クロールの問題 セキュリティ クロールの仕組み

アクセス権が親から継承されたコンテンツ

セキュリティ クロールの問題 セキュリティ クロールの仕組み

親のアクセス権の変更

セキュリティ クロールの問題 セキュリティ クロールの仕組み

継承されたアクセス権も変更される

セキュリティ クロールの問題 セキュリティ クロールの仕組み

変更されたコンテンツのアクセス権情報のみを内部クロール

セキュリティ クロールの問題

• 検索管理画面から見たとき、クロールのステータスが「増分クロール中」となっている。

• mssearch.exe プロセスを見る限り、CPU 使用率は変動しているのでどうやら動作しているように見える。

• クロール ログを見ても殆ど何も更新されていないように見える。

• IIS ログでクローラーがコンテンツを取得した形跡が無い。

現象発生時の特徴

セキュリティ クロールの問題

• パフォーマンスカウンタの確認

• クロール履歴の確認

• 診断ログの確認

クロールが正常に動作しているかの判断

セキュリティ クロールの問題

パフォーマンス カウンタの確認

• Office Server Search Gatherer オブジェクト

• Document Entries カウンタ

• Documents Successfully Filtered カウンタ

※MOSS 2007 では Office Server Search Gatherer オブジェクトの Document Entries カウンタおよび Documents Successfully Filtered カウンタ

クロールが正常に動作しているかの判断

セキュリティ クロールの問題

パフォーマンス カウンタの確認

クロールが正常に動作しているかの判断

セキュリティ クロールの問題

クロール履歴の確認

クロールが正常に動作しているかの判断

セキュリティ クロールの問題

診断ログの確認

--- 診断ログの例 ---

04:21.0 mssearch.exe (0x092C) 0x09A8 Search Server Common GathererSql 0 Medium CGatherer::CommitTransaction succeeded, URL sts3://site/siteurl=/siteid={ee7f629c-a36c-4327-b5f1-0652878fa4a3}/weburl=docs/webid={ba2b56ba-27d1-4cfb-90b4-e638d3f3b0ed}/listid={4d587236-3886-440f-a0d7-0d33622724cd}/folderurl=/itemid=27, CrawlID 51, SourceDocID 229 - File:d:¥office¥source¥search¥search¥gather¥server¥gatherobj.cxx Line:9449

------

※既定では上記ログは出力されないため、サーバーの全体管理の診断ログの設定において「MS Search 詳細トレース」のトレース ログのレベルを「中」に変更する必要がある。

クロールが正常に動作しているかの判断

TechNet ブログ:セキュリティ クロールについて http://blogs.technet.com/b/sharepoint_support/archive/2011/10/14/3459245.aspx

セキュリティ クロールの問題

• アクセス権の付与を AD グループ経由で実施する

• コンテンツ ソースを分割して異なるスケジュールでクロールする

• 大量のデータを扱うときはアーカーブ用のサイトとデータ更新用のサイトを分ける

問題を未然に防止するための対策

TechNet ライブラリ:クロールとフェデレーションの計画を立てる (SharePoint Server 2010) http://technet.microsoft.com/ja-jp/library/cc262926.aspx

セキュリティ クロールの問題

Demo

まとめ

問題を未然に防止するために

問題を未然に防止するために 運用環境における潜在的な問題を探る

ベストプラクティスに沿ったキャパシティプランニング

ユーザー数

コンテンツに加える変更とその影響

ハードウェア性能

パフォーマンスベースライン

コンテンツ量

セキュリティ クロールの問題

- OS 全般

• Memory

• Process

• Processor

• System

• PhysicalDisk

• Network Interface

• Server

標準パフォーマンスカウンター

- SharePoint 関連

• OSS Search Gatherer

• OSS Search Gatherer Database

• ASP.NET

• ASP.NET Applications

• .NET CLR Memory

- SQL Server 関連

• SQLServer:Buffer Manager

• SQLServer:Memory Manager

• SQLServer:Databases

• SQLServer:SQL Statistics

• SQLServer:General Statistics

問題を未然に防止するために

• 1コンテンツDBあたり200GBを目安にする =>これを超える場合はデータを適度に静的に維持するよう心掛ける

• 一つのリストに5000件を超えるアイテムを格納しない =>これを超える場合は一度に大量のコンテンツに対する変更を加えないように工夫する

• コンテンツのアクセス権に 1000 を超えるユーザー、グループを付与しない =>可能な限り AD グループを経由してアクセス権を付与するように工夫する

コンテンツ量のガイドライン

問題を未然に防止するために

• コンテンツ量が多い環境では事前にトレースフラグ 1224 の設定を検討する

• アーカイブ サイトの活用 =>データが静的に維持されるアーカイブ サイトを計画する

• コンテンツソースを適切に分割する =>サイト コレクション単位で分割が可能

運用のガイドライン

問題を未然に防止するために 参考資料

Technet ライブラリ:SharePoint Server 2010 の容量管理: ソフトウェアの境界と制限 http://technet.microsoft.com/ja-jp/library/cc262787.aspx Technet ライブラリ:パフォーマンスと容量のテスト結果と推奨事項 (SharePoint Server 2010) http://technet.microsoft.com/ja-jp/library/ff608068.aspx Technet ライブラリ:パフォーマンスと容量に関する技術的なケース スタディ (SharePoint Server 2010) http://technet.microsoft.com/ja-jp/library/cc261716.aspx Technet ライブラリ:SharePoint 2010 による数テラバイトのコンテンツ データベースの管理 (ホワイト ペーパー) http://technet.microsoft.com/ja-jp/library/hh307867.aspx

ある日の夕方・・・

• 社長:今日は色々とトラブルが起きたが、今後はこのような事が無いよう、きちんと対策するように。・・・じゃ、とりあえず飲みに行く?

• 管理者:・・・想定外です。

Q&A

Q&A

Thank you!!

ありがとうございました!! ご意見、ご感想、その他ご不明点はこちらまで!!

tarakawa@microsoft.com

想定外のご相談もOK!!

top related