性能測定ジャンキーのためのツール、PerfMonger 0.4.0をリリースしました。肉リリースです。 下記URLからダウンロードできるようになっています。
http://hayamiz.com/~haya/files/perfmonger-0.4.0.tar.gz
前リリースの 0.3.0 からいろいろなバグフィックス、新機能を盛り込んだリリースとなっております。
新機能
stat サブコマンド
perfmonger stat -- <cmd>
stat
サブコマンドは、Linuxのperf stat
のように引数として渡したコマンドを実行して、
そのコマンドを実行するのにかかった時間、その間のCPU使用率、I/O発行状況のサマリを確認することができます。
またCPU使用率やI/O発行状況は指定したインターバルでJSON形式で保存されるため、plot
サブコマンドで後からグラフ化して確認することもできます。
使い方の例:
# dd(1) で100MBデータを読み込む場合の負荷監視
# 0.1秒間隔でCPU使用率、I/O発行状況のログをとる
# I/O監視対象は sda
$ sudo ./src/perfmonger stat --interval 0.1 --device sda --cpu -- dd if=/dev/sda of=/dev/null
bs=1M count=100
100+0 records in
100+0 records out
104857600 bytes (105 MB) copied, 1.09178 s, 96.0 MB/s
== Performance summary of 'dd if=/dev/sda of=/dev/null bs=1M count=100' ==
Execution time: 1.1085
* Average CPU usage
%usr: 0.000
%sys: 51.298
%iowait: 0.000
%irq: 0.000
%soft: 0.932
%other: 52.230
* Average DEVICE usage: sda
read IOPS: 772.26
write IOPS: 0.00
read throughput: 96.42 MB/s
write throughput: 0.00 MB/s
read latency: 449.5 usec
write latency: NaN msec
server サブコマンド
perfmonger server
server
サブコマンドは、WebブラウザからサーバのCPU使用率やI/O発行状況をリアルタイムにモニタリングすることができる機能です。まだ実験的な実装で動作が安定していないので、利用する場合にはそのことを理解した上でお願いします。
適切なオプションをつけてserver
サブコマンドを起動するとポート20202でWebサーバが立ち上がり、CPU使用率やI/O発行状況のグラフが時々刻々と更新されてゆきます。
グラフの描画にHTML5のCanvasを、更新データの受け渡しにEventSourceを利用しているため、これらに対応している新しめのブラウザでないと表示ができません。
bukko サブコマンド
perfmonger bukko OUTPUT_DIR
サーバ上のあらゆる設定情報をぶっこ抜いてテキストで保存するサブコマンドです。 サーバで実験をするときに、どんなOSの設定で実験をしていたのか記録するために利用できます。
全コアCPUグラフ
perfmonger plot
サブコマンドで、マルチコアCPUを利用しているマシンの全コアのCPU使用率グラフを出せるようになりました。
ツイート