MySQLチューニングツール 「mymemcheck」をCentOSにインストールする

notoです。

MySQLのメモリ関係のチューニングをする際に、メモリの計算をするのが面倒くさいと思っていたら便利なツールがあるんですね。 その名も「mymemcheck」KLab製の自家製ツールですが、こちら からダウンロードして利用することができます。

mymemcheckは以下のチェックを行なってくれます。

my.cnfもしくはSHOW VARIABLESの結果を元に、以下の3つのチェックを行います。

  • 最低限必要な物理メモリの大きさ
  • IA-32のLinuxでのヒープサイズの制限
  • innodb_log_file_sizeの最大サイズ

今回は、CentOS 5.7にインストールしてみます。

検証環境

  • CentOS 5.7
  • perl 5.8.8

cpanmのインストール

mymemcheck はいくつかの perlモジュールを必要とします。最近のナウい人たちは、cpan よりもcpanm を利用するようなので、 cpanmを使ってモジュールをインストールします。

cpan と cpanm の違いは、perlモジュールのinstallにcpanmを使う を参考にさせてもらいました。

インストール要件

perl 5.8 or later.

  • ‘tar’; executable (bsdtar or GNU tar version 1.22 are rcommended) or Archive::Tar to unpack files.
  • C compiler, if you want to build XS modules.
  • make
  • Module::Build (core in 5.10)

インストール

1
curl -L http://cpanmin.us | perl - --sudo App::cpanminus

さくっと終了。

インストールに失敗する場合は、恐らく Module::Buildがインストールされていないのでインストールを行なって下さい。

1
yum install --enablerepo=rpmforge perl-Module-Build

依存モジュールのインストール

mymemcheck には、Readonly UNIVERSAL::require 2つのモジュールが必要なので先程インストールした cpanm からインストールを行います。

1
2
cpanm install Readonly
cpanm install UNIVERSAL::require

これで、mymemcheck が動作する環境ができました。

mymemcheckのインストール

mymemcheck は、こちら からダウンロードして利用します。

1
2
3
4
wget http://log.blog.klab.org/support/20061226/mymemcheck.gz
gzip -d mymemcheck.gz
chmod +x mymemcheck
mv mymemcheck /usr/local/bin

動作確認

引数に、MySQL の設定ファイルを指定して利用します。

1
mymemcheck /etc/my.cnf
1
2
3
4
5
6
7
8
9
10
11
12
13
[ABORT] missing variables:
  net_buffer_length
  key_buffer_size
  myisam_sort_buffer_size
  innodb_additional_mem_pool_size
  read_rnd_buffer_size
  sort_buffer_size
  read_buffer_size
  max_connections
  innodb_buffer_pool_size
  innodb_log_buffer_size
  innodb_log_files_in_group
  join_buffer_size

設定しろってことですね。。。 これで、MySQLのチューニングも気兼ね無く行えます。

Comments