Sysbench环境搭建
sysbench
安装mysql
sudo apt-get install mysql-server
安装过程中需要设置密码,我们设置为123。
- 更改mysql配置文件
vim /etc/mysql/mysql.conf.d/mysqld.cnf
或者vim /etc/mysql/my.cnf
这一步依照自己的需求而定。1
2innodb_buffer_pool_size = 4G
query_cache_type = 0
更改完配置文件之后,需要重启mysql:sudo service mysql restart
安装sysbench
sudo apt-get install sysbench
测试运行
- 进入mysql
mysql -u root -p
- 创建数据库
create database sbtest;
创建测试数据
1
sysbench --test=oltp --oltp-test-mode=nontrx --mysql-table-engine=innodb --mysql-user=root --db-driver=mysql --num-threads=8 --max-requests=5000000 --oltp-nontrx-mode=select --mysql-db=sbtest --oltp-table-size=7000000 --oltp-table-name=sbtest --mysql-host=127.0.0.1 --mysql-socket=/var/run/mysqld/mysqld.sock --mysql-password=123 prepare
测试
1
time sysbench --test=oltp --oltp-test-mode=nontrx --mysql-table-engine=innodb --mysql-user=root --db-driver=mysql --num-threads=8 --max-requests=5000000 --oltp-nontrx-mode=select --mysql-db=sbtest --oltp-table-size=7000000 --oltp-table-name=sbtest --mysql-host=127.0.0.1 --mysql-socket=/var/run/mysqld/mysqld.sock --mysql-password=123 run
性能指标为每秒处理的事务数:
- 注意事项:
如果需要提前将测试数据读入内存,可使用如下指令:use sbtest;
select count(id) from (select * from sbtest)aa;
如果需要重新创建测试数据,则需要删除原先的数据:drop table sbtest;
查看cache hit情况可使用如下指令:show global status like 'innodb%read%';
参考资料: