草稿 · 2022年5月1日 0

草稿:sysbench安装 压测工具

系统环境:

  • CentOS 7.2.1511

官方原译:它最常用于数据库基准测试,但也可用于创建不涉及数据库服务器的任意复杂工作负载。 sysbench是一个基于LuaJIT的可编写脚本的多线程基准测试工具。


安装及使用:

安装工具:

yum install  sysbench -y

数据库压测:

  • 创建数据库
CREATE DATABASE unix CHARSET = UTF8 ;
  • 生成MySQL测试数据
sysbench /usr/share/sysbench/oltp_write_only.lua --db-driver=mysql \
--mysql-user=root   --mysql-password=root --mysql-socket=/tmp/mysql.sock \
--mysql-db=unix --tables=1 --table_size=10000 --mysql_storage_engine=Innodb prepare
  • 进行数据库压测
sysbench /usr/share/sysbench/oltp_write_only.lua --db-driver=mysql \
--mysql-user=root --mysql-password=root --mysql-socket=/tmp/mysql.sock \
--mysql-db=unix --tables=1 --table_size=10000 --mysql_storage_engine=Innodb \
--threads=10 --time=360 --report-interval=10 --rand-type=uniform run

磁盘压测:

  • 生成磁盘IO的压测工具
sysbench fileio --file-total-size=15G --file-test-mode=rndrw --time=300 \
--max-requests=0 prepare
  • 进行磁盘压测
sysbench fileio --file-total-size=15G --file-test-mode=rndrw --time=300 \
--max-requests=0 run
  • 磁盘压测数据清理
sysbench fileio --file-total-size=15G --file-test-mode=rndrw --time=300 \
--max-requests=0 cleanup

参数详解:

--tables            指定生成的表数据量
--table_size        指定一张表生成的多少条SQL
--threads           指定并发连接数
--time              指定压测时间
--report-interval   结果输出时间间隔

网站参考:

如何用sysbench做好IO性能测试