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
2
innodb_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%';


参考资料:

  1. sysbench 安装、使用和测试
  2. sysbench的安装和做性能测试
  3. sysbench压力测试工具使用方法
  4. sysbench简单使用介绍
  5. 使用sysbench对mysql进行测试
  6. 为什么要关闭query cache,如何关闭