SysBenchを使ってMySQLの負荷テストを実施する方法をご紹介します。
SysBench のインストール
サーバはCentOS 6です。
EPELリポジトリからインストールします。
EPELリポジトリの追加
1 |
yum -y install epel-release |
SysBench のインストール
1 |
yum -y install sysbench |
EPELリポジトリの無効化
1 2 |
vim /etc/yum.repos.d/epel.repo |
以下のように編集します。
1 2 3 4 5 6 7 8 9 10 11 |
[epel] (略) enabled=1 ↓ enabled=0 --oltp-table-size=100000000 --num-threadsは1,000〜8,000 |
初期データの投入をします。
※「xxxxxxxx」にはmysqlのホストを入力してください。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
#!/bin/bash MYSQL_HOST=xxxxxxxx sysbench \ --test=oltp \ --db-driver=mysql \ --oltp-table-size=100000000 \ --mysql-host=$MYSQL_HOST \ --mysql-user=sbtest \ --mysql-password=sbtest \ --mysql-db=sbtest \ --mysql-table-engine=innodb \ prepare |
ベンチマークを実行します。
※「xxxxxxxx」にはmysqlのホストを入力してください。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
#!/bin/bash MYSQL_HOST=xxxxxxxx sysbench \ --test=oltp \ --db-driver=mysql \ --oltp-table-size=100000000 \ --num-threads=$N \ --mysql-host=$MYSQL_HOST \ --mysql-user=sbtest \ --mysql-password=sbtest \ --mysql-db=sbtest \ --mysql-table-engine=innodb \ --oltp-read-only=off \ --max-requests=0 \ --max-time=60 \ run |