More Related Content
Similar to 過去事例から学ぶ SharePoint パフォーマンス問題とその対策
Similar to 過去事例から学ぶ SharePoint パフォーマンス問題とその対策 (20)
More from Atsuo Yamasaki (14)
過去事例から学ぶ SharePoint パフォーマンス問題とその対策
- 2. Agenda
• 過去事例の紹介その1「SQL ブロッキング問題」
• 過去事例の紹介その2「セキュリティ クロール問題」
• 問題を未然に防止するための Tips
- 4. ある日の朝・・・
• 社長:いつものように役員向けのサイト を開いたら、真っ白なページのま
ま固まってしまった!
• 管理者:複数のユーザーで同様の事象が報告されているようです。
・・・想定外です。
- 5. 想定される原因
問題の切り分けポイントについて考える
• ハードウェア障害
• ネットワーク障害 (通信、DNS 等)
• 認証の問題 (DC 障害等)
• IIS 障害 (w3wp.exe)
• カスタム ソリューション (Web パーツ等)
• SQL Server 障害 (デッドロック、ブロッキング等)
- 6. SQL ブロッキングの問題
問題の傾向
• 一般的にパフォーマンス問題の原因となる可能性が最も高い
• ユーザーのオペレーションとデータ量に依存
• 一度に大量のレコードに対して更新を行うような処理 (ワークフローや
SharePoint 内部動作) に注意
- 13. SQL ブロッキングの問題
ロック エスカレーションの仕組み
ロックエスカレーションの条件
• 使用メモリ (既定:データベース エンジンによって使用されるメモリの 24%)
• ロックの数 (既定:1テーブルで 5000 個のロック)
詳細については以下の資料参照
MSDN ライブラリ:ロックのエスカレーション (データベース エンジン)
http://msdn.microsoft.com/ja-jp/library/ms184286(v=SQL.105).aspx
- 14. SQL ブロッキングの問題
トレースフラグ 1224 の設定
1) [Microsoft SQL Server 2008] -> [構成ツール] -> [SQL Server 構成マネージャ]を起動します。
2) SQL Server のサービス -> SQL Server (MSSQLSERVER) を右クリックし、プロパティを開きます。
3) 詳細設定タブ -> 起動時のパラメータの先頭に、次の文字列を追加します。
-T1224;
4) OK を押して完了します。
5) SQL Server を再起動します。
MSDN ライブラリ:トレース フラグ (Transact-SQL)
http://msdn.microsoft.com/ja-jp/library/ms188396(v=sql.105).aspx
- 15. SQL ブロッキングの問題
問題を未然に防止するための対策
• 一つのリストに格納するアイテム数を制限する (≦ 5000 件目安)
• 一度に大量のアイテムを更新するワークフローを実装しない
• 大量のデータを扱うときはアーカーブ用のサイトとデータ更新用のサイトを
分ける
• サイト コレクションごとにコンテンツ データベースを分割する
TechNet ライブラリ:大きなリストを設計し、リストのパフォーマンスを最大限に高
める (SharePoint Server 2010)
http://msdn.microsoft.com/ja-jp/library/ms188396(v=sql.105).aspx
- 19. ある日の午後・・・
• 社長:今朝自分が投稿した社長ブログの記事が検索結果にヒットしない。
どうなってるんだ!!
• 管理者:本来であれば1時間程度で完了するはずの増分クロールに10時
間以上かかっています。・・・想定外です。
- 20. 想定される原因
問題の切り分けポイントについて考える
• クロール停止 (プロパゲート失敗、インデックス破損、検索サービスハング
等)
• ネットワーク障害 (プロキシタイムアウト等)
• フルクロール (コンテンツ DB アタッチ、デタッチ)
• 既知の不具合 (KB956056, KB930887 等)
• セキュリティ クロール
- 21. セキュリティ クロールの問題
問題の傾向
• 一般的に増分クロール パフォーマンス問題の原因となる可能性が最も高
い
• ユーザーのオペレーションとデータ量に依存
• コンテンツ量が多く、SharePoint サイトの権限変更を頻繁に行う環境で
は要注意
- 27. セキュリティ クロールの問題
現象発生時の特徴
• 検索管理画面から見たとき、クロールのステータスが「増分クロール中」と
なっている。
• mssearch.exe プロセスを見る限り、CPU 使用率は変動しているのでど
うやら動作しているように見える。
• クロール ログを見ても殆ど何も更新されていないように見える。
• IIS ログでクローラーがコンテンツを取得した形跡が無い。
- 29. セキュリティ クロールの問題
クロールが正常に動作しているかの判断
パフォーマンス カウンタの確認
• Office Server Search Gatherer オブジェクト
• Document Entries カウンタ
• Documents Successfully Filtered カウンタ
※MOSS 2007 では Office Server Search Gatherer オブジェクトの Document Entries カウンタおよび Documents
Successfully Filtered カウンタ
- 32. セキュリティ クロールの問題
クロールが正常に動作しているかの判断
診断ログの確認
--- 診断ログの例 ---
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/3
459245.aspx
- 33. セキュリティ クロールの問題
問題を未然に防止するための対策
• アクセス権の付与を AD グループ経由で実施する
• コンテンツ ソースを分割して異なるスケジュールでクロールする
• 大量のデータを扱うときはアーカーブ用のサイトとデータ更新用のサイトを
分ける
TechNet ライブラリ:クロールとフェデレーションの計画を立てる (SharePoint
Server 2010)
http://technet.microsoft.com/ja-jp/library/cc262926.aspx
- 38. セキュリティ クロールの問題
標準パフォーマンスカウンター
- OS 全般 - SharePoint 関連 - SQL Server 関連
• Memory • OSS Search Gatherer • SQLServer:Buffer Manager
• Process • OSS Search Gatherer • SQLServer:Memory
Database Manager
• Processor
• ASP.NET • SQLServer:Databases
• System
• ASP.NET Applications • SQLServer:SQL Statistics
• PhysicalDisk
• .NET CLR Memory • SQLServer:General
• Network Interface Statistics
• Server
- 39. 問題を未然に防止するために
コンテンツ量のガイドライン
• 1コンテンツDBあたり200GBを目安にする
=>これを超える場合はデータを適度に静的に維持するよう心掛ける
• 一つのリストに5000件を超えるアイテムを格納しない
=>これを超える場合は一度に大量のコンテンツに対する変更を加えない
ように工夫する
• コンテンツのアクセス権に 1000 を超えるユーザー、グループを付与しな
い
=>可能な限り AD グループを経由してアクセス権を付与するように工夫
する
- 40. 問題を未然に防止するために
運用のガイドライン
• コンテンツ量が多い環境では事前にトレースフラグ 1224 の設定を検討す
る
• アーカイブ サイトの活用
=>データが静的に維持されるアーカイブ サイトを計画する
• コンテンツソースを適切に分割する
=>サイト コレクション単位で分割が可能
- 41. 問題を未然に防止するために
参考資料
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
- 42. ある日の夕方・・・
• 社長:今日は色々とトラブルが起きたが、今後はこのような事が無いよう、
きちんと対策するように。・・・じゃ、とりあえず飲みに行く?
• 管理者:・・・想定外です。