概要 †
シンプルでいじりやすいベンチマークを行うため、MyBenchをインストールします。
今回は、MySQLが動いているサーバーとは異なるマシンにインストールします。
同一マシン上の場合でもとくに変更なく動くと思います。
その場合は@localhostのみ作成したほうがよいかもしれません。
方法 †
- MyBenchを取得し、解凍します。
1
2
|
| wget http://jeremy.zawodny.com/mysql/mybench/mybench-1.0.tar.gz
tar -vxf mybench-1.0.tar.gz
|
- <解凍したディレクトリルート>/bench_exampleとMyBench.pmを「~/」へコピーします。
1
2
3
|
| cp mybench-1.0/bench_example ~/mybench
cp mybench-1.0/MyBench.pm ~/
chmod 700 ~/mybench
|
- 「~/mybench」を編集します。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
| -
|
!
-
!
-
!
-
!
-
!
-
|
!
|
my $db = "mysql";
my $user = "mybench";
my $pass = "<パスワード>";
my $host = $opt{h} || "<ホスト名>";
my $sth = $dbh->prepare("SELECT * FROM help_topic WHERE help_topic_id = ?");
|
- MySQLにログインし、mybench用MySQLユーザーを作成します。
1
2
3
4
5
6
7
| -
|
!
-
!
| GRANT SELECT ON *.* TO <ユーザー名>@<ホスト名>;
GRANT SELECT ON *.* TO mybench@'192.168.50.%';
GRANT SELECT ON *.* TO mybench@localhost;
|
- パスワードを設定します。
1
2
| -
!
| SET PASSWORD FOR <ユーザー名>@<ホスト名>=PASSWORD('<パスワード>');
|
- 権限を再読み込みします。
- 実行します。
1
2
3
4
5
6
7
|
-
|
|
|
!
| ./mybench
./mybench -n 15 -r 200 -h "192.168.50.100"
|
- ベンチマークなので、複数回行って調査します。
名前 | 意味 |
clients | クライアント数 |
queries | 総クエリ数 |
fastest | 最速クエリ処理時間 |
slowest | 最遅クエリ処理時間 |
average | 平均クエリ処理時間 |
serial | 処理時間 |
q/sec | 1秒あたりのクエリ処理数 |
- 不要データを削除します。
1
2
|
| rm -r ~/mybench-1.0
rm ~/mybench-1.0.tar.gz
|
検証時の環境 †