2006年09月19日

mMeasureをインストール

自分のサーバで稼動させているMySQLのレスポンスが悪いときがあり、調査したいと思っていたのですが、mMeasure というツールがあることを知りました。

ちなみにサーバ環境は、RedHat Linux 8.0、MySQL-5.0.24a です。

mMeasure Porject
http://mmeasure.sourceforge.jp/


このツールを使うと、MySQLの稼動状況をリアルタイムにグラフ化してくれる上に、パフォーマンスに影響する設定項目の不備を指摘してくれるらしいです。

まずは本体をダウンロードしました。

mMeasure
http://osdn.dl.sourceforge.jp/mmeasure/18557/mmeasure-1.0.7.tar.gz

ドキュメントを読むと、RRD-TOOLというものが必要だということなので、ダウンロードしてインストールしました。RRD-TOOLというのはMRTGでも使われているラウンドロビンデータベースを実現するものらしいです。

rrdtool
http://people.ee.ethz.ch/~oetiker/webtools/rrdtool/pub/libs/

RRD-TOOLの configure 中に、freetype2 がない、という警告が出たのでダウンロードしてインストール。

freetype2
http://people.ee.ethz.ch/~oetiker/webtools/rrdtool/pub/libs/

さらに RRD-TOOL が libart というパッケージも要求しているようなのでダウンロードしてインストール。

libart
http://people.ee.ethz.ch/~oetiker/webtools/rrdtool/pub/libs/

ここまで揃ったのでドキュメントにしたがって mMeasure を設定して起動させました。…が、どうもエラーが出ているらしい。/usr/local/mmeasure/daemon/log/mmeasure.log の内容を見ると、下記のようなエラーが出ています。

Can't locate RRDs.pm in @INC (@INC contains: /usr/lib/perl5/5.8.0/i386-linux-thread-multi /usr/lib/perl5/5.8.0 /usr/lib/perl5/site_perl/5.8.0/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.0 /usr/lib/perl5/site_perl
/usr/lib/perl5/vendor_perl/5.8.0/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.0 /usr/lib/perl5/vendor_perl .) at ./read-data.pl line 18.
BEGIN failed--compilation aborted at ./read-data.pl line 18.

RRDs.pm がないということでアレコレしらべてみたら、ソースツリーの中に RRDs.pm のディレクトリがありました。

cd bindings/perl-shared
perl Makefile.PL
make
make install


スロークエリーの調査

MySQLでは、処理に時間がかかったクエリーを「スロークエリー」と呼ぶらしいです。どれくらい時間がかかったらスロークエリーにするのかというと、これは /etc/my.cnf に自分で秒数を設定します。

私の環境では /etc/my.cnf が存在しなかったので、必要事項だけを記入したファイルを作成しました。

[mysqld]
set-variable=long_query_time=1


スロークエリーを保存する指定は mysqld の起動時のオプションで指定します。/etc/rc.d/init.d/mysql を編集しました。

$bindir/mysqld_safe --datadir=$datadir --pid-file=$server_pid_file --log-slow-queries=/var/lib/mysql/slow_query.log $other_args >/dev/null 2>&1 &


/etc/rc.d/init.d/mysql start

としたところスロークエリーログが作成されましたが、パーミッションが 660 になっていてmmeasureから読み込めなかったので chmod 666 slow_query.log としました。
posted by はるこち at 18:00| Comment(0) | TrackBack(0) | サーバ関連 | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]


この記事へのトラックバック

×

この広告は90日以上新しい記事の投稿がないブログに表示されております。