SharePoint Server 2013 の監視とメンテナンス
適用対象:2016 2019 Subscription Edition SharePoint in Microsoft 365
この記事では、SharePoint Server 2013 ファームの監視とパフォーマンス カウンターについて説明します。 SharePoint Server 2013 のシステム パフォーマンスを維持するためには、サーバーを監視して潜在的なボトルネックを特定する必要があります。 監視を効果的に行うには、ファームの特定箇所が注意を要することを示す重要なインジケーターについてあらかじめ理解し、それらのインジケーターの意味を解釈する方法を知っておく必要があります。 ファームが定義された範囲外で動作していることが分かった場合には、ハードウェア リソースの追加や削除、トポロジーの変更、またはデータの保存方法の変更によってファームを調整することができます。
このセクションの情報は、管理者がパフォーマンス カウンター、およびその他の設定を手動で構成するためのものです。 SharePoint サーバーの全体管理 Web サイト インターフェイスに組み込まれた稼動状況の監視ツールを使用した、稼動状況の監視およびトラブルシューティングについての詳細は、次の記事を参照してください。
この記事を読む前に、「Capacity management and sizing overview for SharePoint Server 2013」を読む必要があります。
監視の構成
環境を早い段階で監視し、変更が必要かどうかを見極めるために変更できる設定の一覧を次に示します。 監視機能を強化すると利用状況データベースに必要なディスク領域の量に影響します。 いったん環境が安定して詳細な監視の必要がなくなったら、次の設定を既定の設定に戻すことができます。
設定 | 値 | メモ |
---|---|---|
イベント ログのオーバーフロー防止機能 |
無効 |
既定値は 有効です。 この値を無効にすると、監視データをサイズの制限なく収集することができます。 通常の動作では有効にしてください。 |
タイマー ジョブのスケジュール |
||
Microsoft SharePoint Foundation の使用状況データのインポート |
5 分 |
既定値は 30 分です。 この設定を低くすると、使用状況データベースにデータがより頻繁にインポートされ、トラブルシューティングの際に特に役立ちます。 通常の操作の場合は、30 分にする必要があります。 |
診断プロバイダー |
||
すべての診断プロバイダーを有効にします。 |
有効 |
「検索の正常性追跡 - トレース イベント」プロバイダーを除いて、既定値は 無効です。 これらのプロバイダーは、さまざまな機能やコンポーネントの正常性データを収集します。 通常の操作では、既定値に戻すことができます。 |
「job-diagnostics-performance-counter-wfe-provider」および「job-diagnostics-performance-counter-sql-provider」のスケジュール間隔を設定します。 |
1 分 |
既定値は 5 分です。 この設定値を下げるとデータをより頻繁にポーリングすることができ、特にトラブルシューティングの場合に有効です。 通常の操作では 5 分です。 |
その他 |
||
コンテンツ要求のスタック トレースを有効にします。 |
有効 |
既定値は 無効です。 この設定を有効にすると、スタック トレースのプロセスを使用して、コンテンツ要求の不具合について診断することができます。 通常の操作では、無効とします。 |
開発者ダッシュ ボードを有効にします。 |
有効 |
既定値は 無効です。 この設定を有効にすると、表示の遅いページやその他の問題を開発者ダッシュボードを使用して診断することができます。 通常の操作の場合、およびトラブルシューティングの必要がなくなった場合には直ちに、この設定を無効にします。 |
利用状況データの収集 |
||
コンテンツ インポートの利用状況 コンテンツ エクスポートの利用状況 ページの要求 機能の使用 検索クエリで使用します。 サイト インベントリの利用状況 タイマー ジョブ 利用状況の評価 |
有効 |
カウンター セットのログを有効にすると、環境全体から多くの利用状況データを収集し、環境のトラフィック パターンをよく理解することができます。 |
パフォーマンス カウンター
使用状況データベースを使用している場合は、特定の間隔 (既定では 30 分) に自動的にログに記録されるように、ファームのパフォーマンスの監視と評価に役立つパフォーマンス カウンターを使用状況データベースに追加できます。 そのため、使用状況データベースにクエリを実行してこれらのカウンターを取得し、時間の経過に伴う結果をグラフ化できます。 Add-SPDiagnosticsPerformanceCounter PowerShell コマンドレットを使用して、 % Processor Time カウンターを使用状況データベースに追加する方法を次に示します。 これは、いずれかの Web サーバーでのみ実行する必要があります。
Add-SPDiagnosticsPerformanceCounter -Category "Processor" -Counter "% Processor Time" -Instance "_Total" -WebFrontEnd
サーバー システムに関して監視すべき複数の一般的なパフォーマンス カウンターがあります。 次の表で は、これらのパフォーマンス カウンターについて説明します。
パフォーマンス カウンター | 説明 |
---|---|
プロセッサ |
プロセッサのパフォーマンスを監視して、すべてのプロセッサ使用率が一貫して高い (80% を超える) ことを確認する必要があります。これは、システムがアクティビティの突然の急増を処理できないことを示します。 また、一般的な状態では、1 つのコンポーネントの障害によって残りのコンポーネントが誤動作状態になると、ドミノ効果は表示されません。 たとえば、3 つの Web サーバーがある場合は、すべてのサーバーの平均 CPU が 60% 以下であることを確認し、障害が発生した場合、他の 2 台が追加の負荷を吸収する余地が残るようにする必要があります。 |
ネットワーク インタ フェース |
データがネットワーク インターフェイス カード経由で送受信されるデータの速度を監視します。 この値が常にネットワーク容量の 50% 以下になるようにします。 |
ディスクとキャッシュ |
定期的に監視する必要があるいくつかの論理ディスク オプションがあります。 容量を調査する場合には、利用可能なディスク領域が常に重要ですが、ディスクがアイドル状態にある時間についても確認してください。 サーバーで動作しているアプリケーションまたはサービスの種類に応じて、ディスクへの読み取り時間と書き込み時間を確認してください。 読み書き機能用の拡張キューはパフォーマンスに影響します。 キャッシュは読み取り操作や書き込み操作に大きな影響を与えます。 キャッシュ エラーが増加していないか、監視する必要があります。 |
メモリとページング ファイル |
割り当て可能な物理メモリの量を監視します。 メモリ量が不十分な場合には、ページ ファイルの過度の使用や 1 秒あたりのページの失敗数の増加につながります。 |
システム カウンター
次の表は、利用状況データベースで監視されたカウンター セットに追加できるシステム オブジェクトおよびカウンターに関する情報を示します。それには Web サーバー上で SPDiagnosticPerformanceCounter を使用します。
オブジェクトとカウンター | 説明 |
---|---|
プロセッサ |
|
プロセッサ時間 (%) |
プロセッサの使用率を経時的に示します。 この値が一貫して高すぎる場合は、パフォーマンスが悪影響を受ける場合があります。 マルチプロセッサ システムでは、「合計」をカウントすることを忘れないでください。 コア間のバランスのとれたパフォーマンスを確保するために、各プロセッサの使用率を測定することも可能です。 |
ディスク |
|
- 平均ディスク キューの長さ |
選択したディスクに対してサンプルの間隔中にキューに入れられた、読み取り要求と書き込み要求両方の平均数を示します。 ディスクの読み取り/書き込みに異常がなく、キューを拡張しなくてもシステムが安定状態で動作している限り、ディスク キューの長さが大きくても問題になりません。 |
平均ディスク読み取りキュー長 |
キューに入れられた読み取り要求の平均数。 |
平均ディスク書き込みキュー長 |
キューに入れられた書き込み要求の平均数。 |
ディスク読み取り/秒 |
1 秒あたりのディスク読み取りの数。 |
ディスク書き込み/秒 |
1 秒あたりのディスクへの書き込みの数。 |
メモリ |
|
-利用可能な Mb |
割り当て可能な物理メモリの量を示します。 メモリ量が不十分な場合には、ページ ファイルの過度の使用や 1 秒あたりのページの失敗数の増加につながります。 |
- キャッシュ フォールト/秒 |
このカウンターは、ページをファイル システム キャッシュ内で探したが発見できなかった場合に、障害が生じた時点のレートを示します。 ページがメモリ内で見つかった場合はソフト フォールト、ページがディスクにあった場合はハード フォールトです。 読み取り操作と書き込み操作のキャッシュを効果的に使用すると、サーバーのパフォーマンスに大きな影響を与えることができます。 非同期高速読み取り/秒 または 先読み読み取り数/秒の減少によって示されるキャッシュ エラーの増加を監視する必要があります。 |
ページ数/秒 |
このカウンターは、ハード ページ フォールトを解決するために、ページをディスクから読み取る/書き込む時点の速度を示します。 これが増加した場合は、システム全体のパフォーマンスの問題を示します。 |
ページング ファイル |
|
- 使用 (%) および使用ピーク (%) |
サーバーのページング ファイル (またはスワップ ファイル) は、ディスク上の「仮想」メモリ アドレスにあります。 ページ フォールトは、必要な「仮想」リソースをディスクからメモリへ取り出す際にプロセスを停止/待機しなければならない場合に発生します。 物理メモリが不十分な場合に頻出します。 |
NIC |
|
-合計バイト/秒 |
ネットワーク インターフェイス カード経由でデータを送受信する速度です。 この速度がネットワーク容量の 40 ~ 50% を超えた場合は、より詳しく調査する必要があります。 調査を微調整するには、 受信バイト数/秒 および 送信バイト数/秒を監視します。 |
プロセス |
|
・ ワーキング セット |
このカウンターは、特定プロセスのワーキング セットの現在のサイズ (単位: バイト) を示します。 使用されていない場合でもこのプロセスのためにメモリを予約します。 |
- プロセッサ時間 (%) |
このカウンターは、特定のプロセスで使用されているプロセッサ時間の割合を示します。 |
スレッド数 (_Total) |
スレッドの現在数。 |
ASP.NET |
|
要求の合計 |
サービスが開始されてからの要求の合計数です。 |
キュー処理待ちの要求 |
SharePoint Server 2013 には、HTTP 経由でユーザー ブラウザーでレンダリングされる HTML ページの構成要素が用意されています。 このカウンターは、処理待ちの要求数を示します。 |
要求の待機時間 |
キューで処理を待つ最新の要求の待機時間 (ミリ秒)。 待機イベントの数が増えると、ユーザーが感じるページ レンダリングのパフォーマンスが低下します。 |
拒否された要求 |
サーバーのリソースが不足しているため、実行されなかった要求の合計数です。 このカウンターは、サーバーがビジー状態であることを示す 503 HTTP 状態コードを返した要求の数を示します。 |
実行中の要求 (_Total) |
現在実行されている要求の数です。 |
要求/秒 (_Total) |
1 秒あたりに実行される要求の数。 アプリケーションの現在のスループットを示します。 持続ロードの下で、他のサーバーの動作がなければ (ガベージ コレクション、キャッシュのクリーンアップ スレッド、外部サーバー ツールなど)、この値は特定の範囲に維持される必要があります。 |
.NET CLR のメモリ |
|
# Gen 0 の回収 |
ジェネレーション 0 オブジェクト (つまり、最も若い、最近割り当てられたオブジェクト) が、アプリケーションの起動後にガベージ コレクションによって再利用された回数を表示します。 この数は、#Gen 0 の比率として役立ちます。#Gen 1: #Gen 2 を使用して、Gen 2 コレクションの数が Gen 0 コレクションを大きく超えないようにします。最適には 2 倍です。 |
# Gen 1 の回収 |
アプリケーションの開始後、生成 1 のオブジェクトがガベージ コレクションによって回収される数を表示します。 |
# Gen 2 の回収 |
アプリケーションの開始後、生成 2 のオブジェクトがガベージ コレクションによって回収される数を表示します。 カウンターの値は、生成 2 のガベージ コレクション (フル ガベージ コレクションとも呼ぶ) の後に増加します。 |
GC での時間 (%) |
最後のガベージ コレクション サイクル以降のガベージ コレクションの実行に費やされた経過時間の割合を表示します。 通常、このカウンターは、アプリケーションの代わりにガベージ コレクターがメモリを収集してコンパクト化する作業を示します。 このカウンターは、すべてのガベージ コレクションの最後にのみ更新されます。 このカウンターは平均ではありません。 その値は、最後に観察された値を反映します。 このカウンターは、通常の操作では 5% 以下である必要があります。 |
SQL Server のカウンター
次の表は、SQL Server オブジェクトとカウンターに関する情報を示します。
オブジェクトとカウンター | 説明 |
---|---|
一般的な統計 |
SQL Server のインスタンスが動作するコンピューターから、現在の接続数や 1 秒あたりの接続/切断するユーザー数など、一般的なサーバー全体の活動を監視するカウンターを提供するオブジェクトです。 |
ユーザー接続 |
このカウンターは、SQL Server のインスタンスへのユーザー接続数を示します。 この数値がベースラインから 500% 上昇した場合には、パフォーマンスの低下が起こることがあります。 |
データベース |
このオブジェクトは、一括コピー操作、バックアップと復元のスループット、およびトランザクション ログ活動を監視するためのカウンターを提供します。 トランザクションとトランザクション ログを監視することによって、データベース内でのユーザー活動の量とトランザクション ログの消費状況を調べます。 ユーザー活動の量は、データベースのパフォーマンスのほか、ログ サイズ、ロック、およびレプリケーションに影響することがあります。 ログ活動を監視してユーザー活動およびリソースの利用状況が低レベルであれば、パフォーマンスのボトルネックを特定できます。 |
トランザクション/秒 |
このカウンターは、特定のデータベースまたは SQL Server インスタンス全体の 1 秒あたりのトランザクション数を示します。 この数値は、ベースラインの作成および問題のトラブルシューティングを実行する際に役立ちます。 |
ロック |
このオブジェクトは、個別のリソース タイプについてのSQL Server のロックに関する情報を提供します。 |
デッドロック数/秒 |
このカウンターは、1 秒あたりのSQL Server のデッドロックの数を示します。 通常の値は 0 です。 |
平均待機時間 (ミリ秒) |
このカウンターは、待ち状態となった各ロック要求の平均待機時間を示します。 |
ロックの待機時間 (ミリ秒) |
このカウンターは、最後の 1 秒のロックの合計待機時間を示しています。 |
ロック待機数//秒 |
このカウンターは、直ちに実現せずにリソースを待つ必要がある 1 秒あたりのロック数を示します。 |
ラッチ |
このオブジェクトは、SQL Server 内部のラッチと呼ばれるリソース ロックを監視するためのカウンターを提供します。 ラッチを監視してユーザー活動とリソースの利用状況を調べると、パフォーマンスのボトルネックを特定できます。 |
ラッチの平均待機時間 (ミリ秒) |
このカウンターは、待機する必要があったラッチ要求の平均待機時間を示します。 |
ラッチ待機数/秒 |
このカウンターは、直ちに許可できなかった 1 秒あたりのラッチ要求数を示します。 |
SQL の統計情報 |
このオブジェクトは、コンパイルや特定の SQL Server インスタンスに対して送信された要求の種類を監視するためのカウンターを提供します。 クエリのコンパイルおよび再コンパイルの回数や特定の SQL Server インスタンスが受け取るバッチの数を監視すると、SQL Server におけるユーザー クエリの処理速度やクエリ オプティマイザーにおけるクエリの処理効率を示す指標を得ることができます。 |
SQL コンパイル/秒 |
このカウンターは、1 秒あたりにコンパイル コード パスが入力された回数を表します。 |
SQL 再コンパイル/秒 |
このカウンターは、1 秒間にステートメントの再コンパイルがトリガーされた回数を示します。 |
プラン キャッシュ |
このオブジェクトは、ストアド プロシージャ、臨時/準備済みTransact-SQL ステートメント、トリガーなどのオブジェクトを保存するために、SQL Server がどのようにメモリを使用しているかを監視するカウンターを提供します。 |
キャッシュ ヒット率 |
このカウンターは、プランの検索に対してキャッシュがヒットした率を表します。 |
バッファー キャッシュ |
このオブジェクトは、SQL Server がデータ ページ、内部データ構造、プロシージャ キャッシュを保存するためにどのようにメモリを使用しているかを監視するカウンターと SQL Server がデータベース ページを読み書きする際の物理 I/O を監視するカウンターを提供します。 |
バッファー キャッシュ ヒット率 |
このカウンターは、ディスクを読み取る必要なしに、バッファー キャッシュ内で見つかったページのパーセンテージを示します。 この比率は、SQL Server のインスタンスを開始以降、キャッシュ ヒットの総数をキャッシュ参照の総数で除したものです。 |
ボトルネックの解消
システムのボトルネックは、ユーザーのトランザクション要求に供するリソースが不足する競合点を示します。 ボトルネックは、物理的なハードウェア、運用環境、またはアプリケーションに由来します。 ボトルネックの原因は、カスタム コードやサードパーティのソリューションの効率が不十分な場合が多く、それらを見直すほうがハードウェアを追加するよりも良い結果を生むことがあります。 ボトルネックのもう 1 つの共通原因は、ファームの構成が正しくない場合、またはソリューションの実装が非効率で必要以上のリソースを要求するやり方でデータを構成する場合です。 システム管理者は、絶えずパフォーマンスを監視することによってボトルネックを管理します。 パフォーマンスの問題を特定するには、ボトルネックを除去するために最適な解決策を評価する必要があります。 パフォーマンス カウンターとその他のパフォーマンス監視アプリケーション (SCOM など) は、ソリューションを開発できるように、問題を追跡および分析するための主要なツールです。
物理的なボトルネックの解決
物理ボトルネックは、プロセッサ、ディスク、メモリ、およびネットワークの競合に基づいています。要求が多すぎると、物理リソースが少なすぎます。 パフォーマンスの監視に関するトピックで説明されているオブジェクトとカウンターは、ハードウェア プロセッサや ASP.NET など、パフォーマンスの問題が発生する場所を示します。 ボトルネックの解決には、問題を特定し、パフォーマンスの問題を軽減する変更または変更を行う必要があります。
問題が瞬時に発生することはめったにありません。通常、パフォーマンス モニター ツールまたは SCOM などのより高度なシステムを使用して、定期的に監視する場合に追跡できるパフォーマンスの低下が段階的に発生します。 どちらのオプションでも、程度が異なる場合は、アドバイザリ テキストまたはスクリプト化されたコマンドの形式で、アラート内にソリューションを埋め込むことができます。
ハードウェアまたはシステム構成に変更を加えることでボトルネックの問題を解決する必要がある場合があります。誤った構成、非効率的なカスタム コードまたはサード パーティのソリューション、または非効率的なソリューションの実装によって原因と判断された場合。 次の表は、問題のしきい値および考えられる解決策のオプションを特定します。 一部のオプションでは、ハードウェアのアップグレードや変更を提案しています。
オブジェクトとカウンター | 問題 | 解決オプション |
---|---|---|
プロセッサ |
||
プロセッサ - プロセッサ時間 (%) |
75~85% 以上 |
プロセッサをアップグレードする プロセッサの数を増やす サーバーを追加する |
ディスク |
||
平均ディスク キュー長 |
徐々に増加。システムは定常状態ではなく、キューがバックアップ。 |
ディスクの数を増やすかディスクの速度を上げる アレイ構成をストライプに変更する 一部のデータを代替サーバーに移動する |
アイドル時間 (%) |
90 % 未満 |
ディスクの数を増やす 別のディスクまたはサーバーにデータを移動する |
空き容量 (%) |
90 % 未満 |
ディスクの数を増やす 別のディスクまたはサーバーにデータを移動する |
メモリ |
||
利用可能な Mb |
Web サーバー上に 2 GB 未満。 |
メモリを追加する > [!注]> SQL Server の使用可能なメモリは設計上低く、常に問題を示すとは限りません。 |
キャッシュ フォールト/秒 |
1 より大きい |
メモリを追加する 可能であれば、キャッシュの速度を上げるかキャッシュ サイズを増やす 別のディスクまたはサーバーにデータを移動する |
ページ/秒 |
10 より大きい |
メモリを追加する |
ページング ファイル |
||
使用 (%) および使用ピーク (%) |
スワップ ファイルとも呼ばれる、サーバー ページング ファイルはディスク上の「仮想」メモリ アドレスを保持します。 ページ ファイルは、プロセスが停止して待機する必要があり、使用する「仮想」リソースがディスクからメモリへ取り出される場合に作成されます。 物理メモリが不十分な場合はより頻繁に実行されます。 |
メモリを追加する |
NIC |
||
合計バイト/秒 |
ネットワーク容量の 40 ~ 50% 以上。 これはデータを送受信するネットワーク インターフェイス カードの速度です。 |
受信バイト数/秒および送信バイト数/秒を監視することで、詳しく調査します。 ネットワーク インターフェイス カードの速度を再評価する。 メモリ バッファーの数、サイズ、利用状況を確認する。 |
プロセス |
||
ワーキング セット |
合計メモリの 80% より大きい |
メモリを追加する。 |
プロセッサ時間 (%) |
75~85% を超える |
プロセッサの数を増やす 追加のサーバーに作業負荷を再配分する |
ASP.NET |
||
アプリケーション プールのリサイクル回数 |
1 日あたり数回。断続的なパフォーマンス低下の原因となります。 |
1 日を通して行う必要のない、アプリケーション プールを自動的にリサイクルする設定を実装していないことを確認する |
キューに入れられた要求 |
数百または数千の要求がキュー入れられている |
追加の Web サーバーを実装する。 このカウンターの既定の最大値は、5,000 であり、この設定は Machine.config ファイルで変更できます。 |
要求の待機時間 |
待機イベント数が増えると、ページ レンダリングのパフォーマンスが低下します。 |
追加の Web サーバーを実装する |
拒否された要求 |
0 より大きい |
追加の Web サーバーを実装する |
関連項目
概念
SharePoint Server 2013 のパフォーマンス テスト
その他のリソース
Capacity management and sizing overview for SharePoint Server 2013