TOPサーバ構築・運用> ベンチマークプログラム「Super Smack」
MySQLチューニング
はじめてのMySQLチューニング

第2回:負荷によるベンチマークを試す

著者:アールワークス  田中 靖之   2007/7/9
前のページ  1  2  3  次のページ
ベンチマークプログラム「Super Smack」

   「試しにMySQLサーバを作ってみた」という方の場合、これらの情報を継続的に収集してみても当然値に変化は無く、チューニングどころの話ではないでしょう。そこで、いったんチューニングから離れて、負荷をかけてベンチマークを行うためのツールSuper Smackを紹介します。

   Super Smackは設定ファイルなど扱いが難しい部分もありますが、理解すればいろいろなパターンでテストすることができますので、紹介する設定以外にもぜひ試してみてください。

Super Smackのインストール

   Super Smack自身の負荷で正しい性能測定ができないため、必ずMySQLクライアント用のマシンを用意して、そちらにインストールしてください。まずはSuper SmackのWebページからプログラムをダウンロードします(2007/07現在、最新は1.3)。

Super Smackのページ
http://vegan.net/tony/supersmack/

   ダウンロードしたプログラムは、MySQLクライアント側(こちらにもMySQLを一式インストールしておく必要があります)に保存します。以下の例は、自分のホームディレクトリ以下にインストールする際の手順です。

$ tar super-smack-1.3.tar.gz
$ cd super-smack-1.3
$ ./configure --with-mysql --prefix=$HOME \
--with-smacks-dir=$HOME/share --with-datadir=$HOME/var
$ make
$ make install


データ生成とMySQLサーバへのロード

   super-smackでは、gen-dataコマンドでデータを生成します。まず以下のように実行してください。

$ gen-data -n 90000 -f %12-12s%n,%25-25s,%n,%d > ~/var/words.dat


   なお、このコマンドの中にある「-f」のオプション以外にも、下記のような設定ができます。

オプション 意味
-n データ行数を指定
-f データフォーマットを指定(カンマ区切り)
s 文字列(上記の場合、%12-12で12文字に制限、などの指定が可能)
d ランダムな整数値
n 1,2,3,…と単調増加する整数値

表2:super-smackのオプションパラメータ

   このパラメータのうち、「-f」が難解ですが、実際に作成された「~/var/words.dat」の中を見れば類推可能ですので、いろいろ試してみてください。

   次に、作成したデータをMySQLサーバへコピーし、testデータベースへロードしましょう。以下では、MySQLサーバの/tmpへwords.datをコピーしたものとして手順を示します。

$ mysql -u root -p
mysql> CREATE TABLE test.http_auth (
    -> username char(255) not null primary key,
    -> pass char(25),
    -> uid integer,
    -> gid integer);
mysql> LOAD DATA INFILE '/tmp/words.dat'
    -> INTO TABLE test.http_auth FIELDS TERMINATED BY ',';

   さらに、MySQLクライアントからMySQLサーバへ接続するための設定も追加しておきます。なお「$HOST」はMySQLクライアントのホスト名orIPアドレス、「$PASSWD」はMySQLサーバへ接続する際のrootユーザのパスワードを指定します。

mysql>grant select,insert,update,delete on *.* to root@$HOST identified by '$PASSWD';

前のページ  1  2  3  次のページ


株式会社アールワークス 田中 靖之
著者プロフィール
株式会社アールワークス  田中 靖之
ネットワークインテグレーション部
主にWebサービス系のシステム運用監視を担当するネットワークインテグレーション部に所属。システム改善やチューニングを顧客と共に考える姿勢を大事にしている。


INDEX
第2回:負荷によるベンチマークを試す
  max_connectionsとは
ベンチマークプログラム「Super Smack」
  設定ファイルの作成