Avamar:Microsoft Windows Perfmonを使用したAvamar Clientのパフォーマンス監視
Summary: この記事では、Perfmonを使用してMicrosoft Windows 環境でAvamarクライアントのパフォーマンス特性を監視する方法について説明します。
Symptoms
この記事は、Windowsを実行しているすべてのAvamarクライアント バージョンに適用されます。
Perfmon(パフォーマンス監視)は、強力なトラブルシューティング ツールとなり得ます。
Windowsのパフォーマンス メトリックを指定された間隔で時間の経過とともに収集し、グラフィカルに分析してシステム パフォーマンスの問題を特定できるログを生成することができます。
ここでは、収集するべきメトリックと、そのツールを正しく設定して収集する方法について説明します。
Avamarクライアントのパフォーマンスの詳細については、次を参照してください。
Cause
Resolution
Perfmonへのアクセス方法:
Windows+Wキーを押して[ファイル名を指定して実行]ウィンドウを開き、
「Perfmon」と入力します。
測定対象と測定タイミング
ボトルネックは、リソースが限界に達したときに発生し、パフォーマンスの低下を引き起こす可能性があります。
ボトルネックは、リソースの不足または構成ミス、コンポーネントの誤動作、プログラムによるリソースへの誤った要求が原因で発生します。
ボトルネックの原因となり、サーバーのパフォーマンスに影響を与える可能性のある、以下の5つの主要なリソース領域があります。
- 物理ディスク
- メモリー
- プロセス
- CPU
- ネットワーク
これらのリソースのいずれかが過剰に使用されると、サーバーやアプリケーションの動作が著しく遅くなったり、クラッシュしたりする可能性があります。
この記事ではこれらの領域について説明し、サーバーのパフォーマンスの測定に役立つカウンターやしきい値についても案内します。
サンプリング間隔は、ログファイルのサイズとサーバーの負荷に大きな影響を与えます。
問題が発生するまでの平均経過時間に基づいてサンプル間隔を設定し、問題が再び発生する前のベースラインを確立します。これは、問題につながる傾向を見つけるのに役立ちます。
通常運用時にベースラインを確立するには、15分間隔が適切です。
- 問題が発生するまでの平均経過時間が約4時間の場合は、サンプル間隔を15秒に設定します。
- 問題が発生するまでの時間が8時間以上の場合は、サンプリング間隔を5分以上に設定します。
これらのガイドラインは、大きなログ ファイルの作成を回避し、データの分析を困難にするのに役立ちます。
パフォーマンス オブジェクトとパフォーマンス カウンター
- オブジェクト:パフォーマンス データを管理するコンポーネント。
- カウンター:特定のオブジェクトに 固有のパフォーマンス統計で、オブジェクトごとのパフォーマンス特性を示す。例:\PhysicalDisk\%Idle Timeはスピンドルによって観測されるアイドル時間に関するパフォーマンス データを提供する。
- インスタンス:固有のリソースを表す複数のレプリカ。\PhysicalDisk\% Idle Timeを観測すると、システムで使用可能な異なるスピンドルと、対応する% Idle time値が表示される場合がある。
サンプル間隔
監視の目的と期間に留意します。
日常的な監視間隔では、15分間のログ間隔で十分です。
サンプル間隔は、問題を捉えることができる間隔に短縮する必要があります。
時間をかけて徐々に発生する問題については、より長いサンプル間隔を使用することができます。
一時的な問題の場合は、数秒の短い間隔で対応することができます。このサンプリング間隔は、ディスク サブシステムの問題に役立ちます。
サンプル間隔を設定する際は、監視の時間を考慮してください。
監視が8時間を超えて実行される場合、サンプル間隔を300秒未満にすると、ログ ファイルが大きくなる可能性があります。収集プロセス自体の実行のオーバーヘッドが結果に影響する可能性があります。
Perfmon Logging@を有効にする方法
Adminユーザーとしてコマンド プロンプトを開きます。
次のコマンドをコピーして、ログ キャプチャを開始または停止します。
次のコマンドを実行すると、パフォーマンス監視データセットが作成されます。
Logman.exe create counter Avamar -o "c:\perflogs\Emc-avamar.blg" -f bincirc -v mmddhhmm -max 250 -c "\LogicalDisk(*)\*" "\Memory\*" "\Network Interface(*)\*" "\Paging File(*)\*" "\PhysicalDisk(*)\*" "\Processor(*)\*" "\Process(*)\*" "\Redirector\*" "\Server\*" "\System\*" -si 00:00:05 Start the logs with: Logman.exe start Avamar Stop the logs with: Logman.exe stop Avamar Above commands can be modified to collect SQL server Performance Monitor data during backups as: First create a folder for log collection as C:\SQL_Performance_Logs\ For default SQL instance run: Logman create counter Avamar_SQL_perf_log -f bin -c "\Network Interface(*)\*" "\Redirector\*" "\Paging File(*)\*" "\Memory\*" "\PhysicalDisk(*)\*" "\LogicalDisk(*)\*" "\Server\*" "\System\*" "\Process(*)\*" "\Processor(*)\*" "\SQLServer:Databases(*)\*" "\SQLServer:Buffer Manager\*" "\SQLServer:Memory Manager\*" "\SQLServer:SQL Statistics\*" -si 00:00:05 -max 800 -cnf 0 -o C:\SQL_Performance_Logs\AvamarSQL_perf_log.blg For named instance, replace server with instance name Logman create counter Avamar_SQL_perf_log -f bin -c "\Network Interface(*)\*" "\Redirector\*" "\Paging File(*)\*" "\Memory\*" "\PhysicalDisk(*)\*" "\LogicalDisk(*)\*" "\Server\*" "\System\*" "\Process(*)\*" "\Processor(*)\*" "\SQLServer:Databases(*)\*" "\SQLServer:Buffer Manager\*" "\SQLServer:Memory Manager\*" "\MSSQL$InstanceName:SQL Statistics\*" -si 00:00:05 -max 800 -cnf 0 -o C:\SQL_Performance_Logs\AvamarSQL_perf_log.blg start collecting logs: Logman start Avamar_SQL_perf_log stop log collection: Logman stop Avamar_SQL_perf_log
カウンターとそのしきい値
メモリー
%使用中コミット済みバイト:
コミット済みメモリーとは、ディスクに書き込む必要がある場合にページング ファイル上に領域が確保されている、使用中の物理メモリーです。
ページング ファイルのサイズによってコミット制限が決定されます。ページング ファイルが拡大すると、コミット制限が増加し、比率が低下します。
このカウンターには、現在のパーセント値のみが表示されます。これは平均ではありません。この値が一貫して80%を超える場合は、ページファイルが小さすぎる可能性があります。
使用可能なバイト数:
使用可能なバイト数は、プロセスまたはシステムですぐに割り当て可能な物理メモリーの量(バイト単位)です。
これは、X64システムで制約となることは稀です。この値がインストールされているRAMの5%を一貫して下回る場合は、調査する必要があります。値がインストールされているRAMの1%を一貫して下回る場合、明らかな問題があります。
コミット済みバイト:
コミット済みメモリーとは、1つ以上のディスク ページング ファイルに領域が確保されている物理メモリーのことです。
各ハードドライブには、1つ以上のページング ファイルを設定できます。
このカウンターは原則として変化しないはずです。変更はページ ファイルの拡張を示しており、直ちに調査する必要があります。
Free System Page Tableエントリー:
これは以前のx86バージョンでは問題となることがありました。Windows Server 2003 SP2サーバーでは、/3Gbスイッチなしで起動した場合、この値は約200,000 PTEです。
/3Gbスイッチを使用して起動すると、この値は25,000 PTEまで減少します。
プール非ページング バイト:
プール非ページング バイトとは、非ページング プールのサイズ(バイト単位)のことです。これは、ディスクに書き込むことはできないが、割り当てられている限り物理メモリーに残る必要があるオブジェクトのシステム メモリー(オペレーティング システムによって使用される物理メモリー)の領域です。
非ページング プールの使用率が常に80%を超えている場合、非ページング プールの枯渇の問題(イベントID 2019)が発生する可能性があります。
プール ページング バイト:
プール ページング バイトとは、使用されていないときにディスクに書き込むことができるオブジェクト用の、システム メモリー(オペレーティング システムが使用する物理メモリー)の領域であるページング プールのサイズ(バイト単位)のことです。
ページング プールは非ページング プールよりも大きなリソースです。この値が最大設定プール サイズの70%を常に超える場合は、ページング プール枯渇のリスク(イベントID 2020)がある可能性があります。
プロセッサー(各プロセッサーおよび全体を確認)
%割り込み時間:
サンプル間隔中に、プロセッサーがハードウェア割り込みを受信し、処理するのに費やす時間です。
この値は、割り込みを生成するデバイスのアクティビティーを間接的に示す指標です。たとえば、システム クロック、マウス、ディスク ドライバー、データ通信ライン、ネットワーク インターフェイス カードおよびその他の周辺機器などです。
これらのデバイスは、タスクが完了したとき、または注意が必要なときにプロセッサーを中断します。
%DPC時間:
I/O操作を完了するために必要な時間を示します。前述のカウンターと同様に、値が25%を超える場合は調査する必要があります。
%特権時間:
オペレーティング システムのカーネルが処理を行っている時間です。通常、アプリケーションやWEBサーバーでは、30%未満がしきい値となります。
%プロセッサー時間:
単一プロセッサー マシンでは値が90%を超えて持続する場合、またはマルチプロセッサー マシンでは80%を超える場合は調査する必要があります。
ネットワーク インターフェイス
破棄された受信パケット:
ハードウェアの潜在的な問題を確認するために使用します。しきい値は1を超えないこと。解決策としては、ネットワーク バッファーを調整することが考えられます。
受信パケット エラー:
ハードウェアの潜在的な問題を確認するために使用します。しきい値は2を超えないこと。
ディスク(ディスクごと)
%アイドル時間:
このカウンターは、ディスクがアイドル状態であった時間の正確な測定値を提供します。アイドル状態とは、オペレーティング システムからすべてのディスクへの要求が完了し、保留中の要求がゼロである状態を意味します。
システムは、ディスクがアイドル状態になるイベントと、ディスクが新しい要求を受信するイベントにタイムスタンプを付けることで計算を行います。
キャプチャ間隔の終了時に、アイドル状態になっていた時間の割合をパーセントで計算します。このカウンターの範囲は100(常にアイドル)から0(常にビジー)までです。
このカウンターは、ディスク サブシステムの飽和度を正確に決定します。
平均ディスク キュー長:
平均ディスク キュー長は、(ディスク転送/秒)*(ディスク秒/転送)で計算されます。
これは、キュー理論の数学的法則である
リトルの法則(Little s Law)に基づいています。
これは派生値であり、直接的な測定値ではないことに注意してください。スピンドル数の2倍未満の値であれば、適切な値です。
平均ディスク秒/転送:
ディスク転送が完了するまでにかかった平均時間を秒単位で表示します。
スケールは秒ですが、カウンターの精度はミリ秒であり、0.004の値はディスク転送が完了する平均時間が4ミリ秒であることを示します。
I/Oレイテンシーを測定するために使用されるPerfmonのカウンターです。値の例を以下に示します。これらは、使用されているディスクの品質によって異なる場合があります。
Reads Excellent < 08 Msec (.008 seconds) Good < 12 Msec (.012 seconds) Fair < 20 Msec (.020 seconds) Poor > 20 Msec (.020 seconds) Writes Excellent < 01 Msec (.001 seconds) Good < 02 Msec (.002 seconds) Fair < 04 Msec (.004 seconds) Poor > 04 Msec (.004 seconds)
分割I/O:
ファイルのフラグメンテーションによるI/Oの分割率を測定します。これは、I/O要求が連続していないファイル セグメントのデータにアクセスする場合に発生します。ほぼゼロに近い値となります。
これは、RAIDストライプ サイズまたはNTFS RAIDブロック サイズが小さすぎるために異なる場合があります。
%空き容量:
選択した論理ディスク上の空き領域の合計の使用可能領域の割合を表示します。常に15%を超える空き容量がある必要があり、推奨値は25%異常です。
プロセス
- ハンドル数:プール リークとの関連を確認します。
- 仮想バイト数:アプリケーションで使用するために予約された仮想メモリーです。
- ワーキング セット バイト:アプリケーションが所有する物理メモリーに常駐するプライベート バイトです。
Perfmonの物理ディスクと論理ディスクのパフォーマンス オブジェクトの違い
Perfmonには、ディスク パフォーマンスに直接関連する2つのオブジェクト、物理ディスクと論理ディスクがあります。
カウンターは同じ方法で計算されますが、スコープが異なります。
物理ディスク パフォーマンス オブジェクトは、コンピューター上のディスク ドライブを監視します。物理ハードウェアを表すインスタンスを識別します。カウンターは、物理インスタンス上のすべてのパーティションへのアクセスの合計です。
論理ディスク パフォーマンス オブジェクト は論理パーティションを監視します。パフォーマンス監視は、論理ディスクをドライブ文字またはマウント ポイントによって識別します。
ハードドライブに複数のパーティションが含まれている場合、このカウンターはディスク全体の値ではなく、選択したパーティションの値を示します。
ダイナミック ディスクを使用している場合、論理ボリュームは複数のハードドライブにまたがる場合があります。この場合、カウンターの値には、論理ディスクがまたがるすべてのハードドライブへのアクセスが含まれます。
Windowsパフォーマンス監視のどのカウンターがハードドライブのレイテンシーを示すか
- 物理ディスク パフォーマンス オブジェクト -> 平均ディスク秒/読み取りカウンター:平均読み取りレイテンシーを表示します。
- 物理ディスク パフォーマンス オブジェクト -> 平均ディスク秒/書き込みカウンター:平均書き込みレイテンシーを表示します。
- 物理ディスク パフォーマンス オブジェクト -> 平均ディスク秒/転送カウンター:読み取りと書き込みの両方の平均値を示します。
- _Totalインスタンスは、コンピューター内のすべてのハードドライブのレイテンシーの平均値です。
それぞれのインスタンスは、個々の物理ディスクを表しています。
さまざまな状況で監視するカウンター:
|
コンポーネント |
監視対象のパフォーマンス項目 |
監視するカウンター |
|
ディスク |
使い方 |
物理ディスク\秒/読み取り 物理ディスク\ディスク読み取り/秒 物理ディスク\平均キュー長(読み取り) 物理ディスク\平均キュー長(書き込み) 論理ディスク\%空き容量 % Disk Timeカウンターは注意して解釈してください。 |
|
ディスク |
ボトルネック |
物理ディスク\すべてのカウンター 論理ディスク\%空き容量 システム\ファイル制御操作/秒 システム\ファイルデータ操作/秒 注:このキー カウンターの位置はシステムの下にあります。これはボリューム固有ではありませんが、アクティブなボリュームが1つしかない場合に便利です。 |
|
メモリー |
使い方 |
メモリー\使用可能バイト メモリー\使用中コミット済みバイトの割合 メモリー\プール(非ページング)バイト メモリー\プール(ページング)バイト メモリー\ページ入力または読み取り/秒 メモリー\空きシステム ページ |
|
メモリー |
ボトルネックまたはリーク |
メモリー\使用可能なバイト数 メモリー\キャッシュ バイト メモリー\ページ/秒 メモリー\ページ出力または書き込み/秒 メモリー\空きシステム ページ |
|
CPU |
使い方 |
プロセッサー\%プロセッサー時間(すべてのインスタンス) プロセッサー\%特権時間 プロセッサー\%ユーザー時間 |
|
CPU |
ボトルネック |
プロセッサー\%プロセッサー時間(すべてのインスタンス) プロセッサー\%DPC時間 プロセッサー\%割り込み時間 プロセッサー\%特権時間 プロセッサー\%ユーザー時間 プロセッサー\DPCキュー/秒 システム\システム コール/秒 システム\プロセッサー キュー長(すべてのインスタンス) |
Additional Information