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 件のコメント:

コメントを投稿