性能テストや負荷テストを実施する際、サーバーのリソース状況を確認し十分なリソースが確保出来ているか?ボトルネックはないか?といった分析を行うと思います。
そういった場面でサーバーのリソース状況を確認するための便利なツールがWindowsに付属の「パフォーマンスモニター」です。
「パフォーマンスモニター」ではCPU利用率、メモリ使用率、ディスクI/Oの待ちキュー数などパフォーマンス分析を行うために必要なカウンターが多く用意されており、GUIで簡単に選択したカウンタの計測を行えます。
カウンターは標準で準備されているもの、各アプリケーションで独自に用意されているものなど多くありますが今回は一般的によく利用すると思わるカウンターを紹介します。
「基準」には一般的にこの範囲であれば問題がないと思われる値を記載しています。
CPU関連のカウンター
カウンター | 内容 | 基準 |
---|---|---|
System\Processor Queue Length | CPU待ち行列にあるスレッド数 | CPUあたり2未満 |
Processor(_Total)% Processor Time | CPU使用率 | ー |
Processer% User Time | CPU使用率のうち、ユーザーモードで消費した割合 | ー |
Process% User Time | CPU使用率のうち、ユーザーモードで消費した割合(プロセス単位) | ー |
「CPU使用率が高い=悪い」とは一概には言えません。CPU待ち行列が発生していない状況ではCPUを効率よく使えているとも言えるので注意しましょう。
メモリ関連のカウンター
カウンター | 内容 | 基準 |
---|---|---|
Memory\Available Mbytes | プロセスが利用可能な物理メモリの空き容量 | ー |
Memory\Pages /sec | 1秒あたりのページング数。 メモリとディスク間のデータのやりとりが発生した回数 | 20未満 |
Memory\Commited Bytes | コミット済みの仮想メモリのサイズ | ー |
Memory% Commited Bytes In Use | 仮想メモリの使用率 | 物理メモリの 75%以下 |
Memory\Commited Limit | ページングファイルを拡張せずに利用可能な仮想メモリのサイズ | ー |
Process\Working Set | プロセスが利用するメモリサイズのうち物理メモリ上で確保されているサイズ | ー |
Paging File% Usage | 仮想メモリの使用率 | ー |
「Pages/sec」が多い場合物理メモリが不足している可能性はありますが、キャッシュヒットしない場合などのケースもあるので、単純にメモリ不足を表しているものではありません。
ディスク関連のカウンター
カウンター | 内容 | 基準 |
---|---|---|
PhysicalDisk\Avg.Disk Queue Length | ディスクの読み書きを待つ要求の平均数 | ディスクあたり2未満 |
PhysicalDisk\Current Disk Queue Length | ディスクの読み書きを待つ要求数 | ディスクあたり2未満 |
PhysicalDisk\Avg. Disk Read Queue Length | ディスクの読み込みを待つ要求の平均数 | ディスクあたり2未満 |
PhysicalDisk\Avg. Disk Write Queue Length | ディスクの書き込みを待つ要求の平均数 | ディスクあたり2未満 |
Physical Disk\Disk Writes/Sec | 1秒あたりのI/O処理回数 (書き込み) | ー |
Physical Disk\Disk Reads/Sec | 1秒あたりのI/O処理回数 (読み込み) | ー |
ネットワーク関連のカウンター
カウンター | 内容 | 基準 |
---|---|---|
Network Interface\Received/sec | 毎秒ごとの受信バイト数 | ー |
Network Interface\Bytes Sent/Sec | 毎秒ごとの送信バイト数 | ー |
Network Interface\Bytes Total/Sec | 毎秒ごとの送受信バイト数 | ー |
Network Interface\Output Queue Length | ネットワークインターフェースの送信を待つ要求数 | ネットワークインタフェースあたり2未満 |
以上