パフォーマンスを記録する
パフォーマンスモニターを使いたおす(3)
前回はパフォーマンスモニターの基本的な使い方を説明しました。
今回はパフォーマンスモニターの真骨頂、パフォーマンスの記録方法です。
データコレクターセットとは
パフォーマンスモニターの機能の中にデータコレクターセットというものがあります。
簡単に言うとパフォーマンスのデータを収集して記録するための設定になります。
データコレクターセットは1つのPCでも複数定義することが可能ですので、用途に合わせて必要なパフォーマンスを選択し、またデータを取得するタイミングも1秒に1回や1日1回などとすることができます。
例えばネットワークの負荷を確認したい場合はLANの送受信を短いインターバルで収集することになりますし、HDDの長期的な空き容量の推移を確認したい場合は1日数回といった形で空き容量の数値を収集することになります。
また、少し変わった設定方法として”あるパフォーマンスの数値が閾値を超えるとコマンド実行”みたいなプチ監視的なことも実装することができます。
色々な使い道がありますので、詳しくは別記事にまとめますが今回はデータコレクターセットの設定方法を説明します。
データコレクターセットを定義する
今回は次のようなシナリオでデータコレクターセットを作成してみます。
- 数GBのデータを転送するときに、転送速度があまり早くないのでボトルネックを探したい。
- ネットワークの受信スピード、ディスクアクセスの負荷、CPUの負荷、メモリ消費容量を5秒ごとに記録する。
- 取得したデータを折れ線グラフにしてボトルネックを把握する。
パフォーマンスモニターを開き、左ペインのデータコレクターセットを展開して”ユーザー定義を右クリック⇒新規作成⇒データコレクターセット”と進めます。
データコレクターセットの設定ウィザードが表示されます。
名前は適切な名前を任意でつけて、”手動で作成する(詳細)”をクリックして次に進みます。
データの種類を選択する画面が表示されます。
ここでは”データログを作成する”のラジオボタンにチェックを入れ、”パフォーマンスカウンター”のみにチェックを入れます。
パフォーマンスカウンターの選択が表示されますので、追加ボタンをクリックして下記のカウンターを追加してください。
- LogicalDisk>%Disk Time _Total(ディスクアクセスの使用率)
- Memory>Available MBytes(利用可能メモリ)
- Network Interface>Bytes Recieved/sec(受信ネットワークスピード)
- Processor>%Processor Time _Total(CPU使用率)
デフォルトではサンプリング間隔が15秒に1回となっていますので、忘れずに5秒に1回に変えましょう。
設定ができたら次へ進みます。
次はデータの保存場所の指定です。今回は分かりやすくデスクトップにフォルダを作って設定していますが、お好みで。
データコレクターセットをすぐに実行するかどうか選択ができます。
すぐに開始するを選択した場合は即座にパフォーマンス情報の収集と記録が開始されますが、まだ他にも確認したい設定があるので”このデータコレクターセットのプロパティを開く”にチェックを入れて完了を押します。
するとデータコレクターセットのプロパティ画面が自動で表示されます。
今回はうっかりログ保存を忘れても自動で止まるように一定時間経過するとログ保存を自動停止するようにします(止め忘れるとログを保存し続け、気付かないうちに空き容量が枯渇するという割と悲惨なことになります)。
ここでは1時間経過したら自動停止するようにしましょう。
設定画面の”停止条件”タブを開き、”全体の期間”にチェックを入れ単位を”時間”に変更して数値は1を指定します。
設定ができたらOKボタンで確定しましょう。
するとデータコレクターセットにTest Collector Setが追加され、状態が停止になっていることも分かります。
データコレクタを開始する
データコレクタセットを開始するには、開始したいコレクタセットを選択して緑三角の実行ボタンをクリックします。
このボタンをクリックすると状態が実行中に変化し、指定したフォルダに収集したパフォーマンスデータが保存されていきます。
ファイルサイズ表示は少ないですが、きちんとデータはメモリ上に取得されています。
データコレクタを開始したらファイルの転送をして負荷をかけてみましょう。
負荷テストが終わったらデータコレクターを停止しましょう。
自動停止設定をしていても手動停止すればコレクターの収集は終了します。停止するときは黒い四角をクリックします。
収集したデータを確認する
今回は4つのデータを約10分ほど収集しました。データコレクターを停止するとログファイルへ収集したデータが書き込まれます。確認したところ、ログファイルの容量は128KBでした。
せっかく収集したデータですが、確認できなければ意味がありません。
収集したデータを確認するには左ペインのレポート>ユーザー定義>Test Collector Set>ログファイル(おそらくPC名_日付_連番の名前がついています)と展開します。
すると画像のように収集された結果が表示されます。
グラフ表示の使い方は前回説明しましたのでそちらを参考にしてください。
このようにして収集したパフォーマンスログを確認することができます。
今回はデータ転送のボトルネックを探すという目的でパフォーマンスを収集してみました。
収集したパフォーマンスのグラフを見ると、青いデータ受信速度がどうも頭打ちになっているように見えます。
他の緑、赤、黄色のCPU,メモリ,ディスクアクセスは立ち上がりこそあるものの、頭打ちの様子は見えませんので、少なくともこの3つはボトルネックではないと言えるでしょう。
このようにして得られたグラフから知見を見つけることができるようになります。
まとめ
- データコレクターセット機能を使うとパフォーマンスログの記録が可能
- データコレクターセットは複数定義でき、サンプリング間隔も変えられる
- 使う流れは”データコレクターセットの定義⇒収集開始⇒収集終了⇒グラフの確認”という流れ
次回はある設定値になったらコマンドを実行する機能を使って、プチサーバー監視をやってみたいと思います。