2012年2月13日月曜日
mysqlのベンチマークをとる
mysqlベンチの方法
理由
mysqlベンチを掛ける
手順
**おてがる版
-インストール
# yum install mysql-bench
-実行
# cd /usr/share/sql-bench
# ./run-all-tests
■あとは待つのみ
↓↓↓↓↓↓↓yumが使えない人は↓↓↓↓↓↓
**ソースから入れるめんどくさい方法
-mysqlbenchの準備
--ソースのダウンロード
$ wget http://www.mysql.gr.jp/frame/modules/bwiki/index.php?plugin=attach&refer=Contrib&openfile=mysqlbench-0.1.tgz
--ソース展開
$ tar zxf mysqlbench-0.1.tgz
--Makefileの修正
$ cd mysqlbench-0.1
$ vi Makefile
■以下の差分の部分を修正
===========================================================
LDFLAGS = -Wl,-R/usr/lib/mysql
↓
LDFLAGS = -Wl,-R/usr/lib64/mysql
MYSQL_LFLAGS= -L/lib -L/usr/lib/mysql
↓
MYSQL_LFLAGS= -L/lib -L/usr/lib64/mysql
===========================================================
--make
$ make
■これで、mysqlbench という実行ファイルが出来る
-mysql側の準備
--テスト用DBを作成
mysql> create database mysqlbench;
--benchuserをアドミン権限で作成
mysql> GRANT ALL ON *.* TO benchuser@"localhost" IDENTIFIED BY "benchuser";
mysql> FLUSH PRIVILEGES;
--ユーザー権限確認
mysql> show grants for benchuser@localhost;
+---------------------------------------------------------------------------------------------------------------------------+
| Grants for benchuser@localhost |
+---------------------------------------------------------------------------------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO 'benchuser'@'localhost' IDENTIFIED BY PASSWORD '*35AF80D2C3E3EF830A67E23670CEB84C3727710E' |
+---------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)
--下準備
$ ./mysqlbench -i -U benchuser -P benchuser -E innodb -s 100 mysqlbench
■テスト用のデータベースを作成して、そこに innodb のテーブルを scaling factor 100 で用意する。
■100 だと 10 万件のテーブルが用意される。
-いざ試験
$ ./mysqlbench -U benchuser -P benchuser mysqlbench -c 50 -t 500 mysqlbench
■./outputに結果が入る。

0 件のコメント:
コメントを投稿