数据库测试工具Sysbench

安装
yum install m4 autoconf automake libtool

yum -y install sysbench
sysbench --version

以oltp_read_only.lua为例压测MySQL:
准备数据:
# sysbench /usr/share/sysbench/oltp_read_only.lua --mysql-host=192.168.10.54 --mysql-port=3306 --mysql-user=root --mysql-password='root' --mysql-db=test --db-driver=mysql --tables=10 --table-size=1000000 --report-interval=10 --threads=128 --time=120 prepare
压测:
# sysbench /usr/share/sysbench/oltp_read_only.lua --mysql-host=192.168.10.54 --mysql-port=3306 --mysql-user=root --mysql-password='root' --mysql-db=test --db-driver=mysql --tables=10 --table-size=1000000 --report-interval=10 --threads=128 --time=120 run
清理:
cleanup

oltp_read_only
oltp_point_select
oltp_insert
oltp_read_write

对于mysql的OLTP测试,和file一样,同样需要经历prepare,run,cleanup三个阶段。prepare阶段会在数据库中产生一张指定行数的表,默认表在sbtest架构下,表名为
sbtest(sysbench默认生成表的存储引擎为innodb),如创建一张8000万条记录的表

初始化测试表

sysbench --test=/usr/share/doc/sysbench/tests/db/oltp.lua --oltp-table-size=1000000 --mysql-table-engine=innodb --mysql-user=sysbench  --mysql-password=sysbench --mysql-port=3306 --mysql-host=10.0.37.123 --mysql-db=test prepare


参数说明:
--oltp-table-size:    指定表的大小,即表的行数
--mysql-table-engine:  指定存储引擎,如myisam,innodb,heap,ndbcluster,bdb,maria,falcon,pbxt
--mysql-db:       指定在哪个数据库创建测试表,默认为sbtest库,需要提前创建好
--test:           指定Lua脚本,参数选项大部分同老版本的--test=oltp help
--db-driver:      指定驱动,默认为Mysql
--myisam-max-rows:     指定Myisam表的MAX_ROWS选项
--oltp-secondary:     测试表将使用二级索引KEY xid(ID) 替代 PRIMARY KEY (ID),innodb引擎内部为每个表创建唯一6字节的主键索引
--oltp-auto-inc:    设置id列为auto-incremental,值为on或off,默认为on

select测试
sysbench --test=/usr/share/doc/sysbench/tests/db/select.lua   --oltp-table-size=1000000 --mysql-table-engine=innodb --mysql-user=sbtest  --mysql-password=sbpass --mysql-port=3306 --mysql-host=192.168.70.72 --mysql-db=sbtest  --max-requests=0 --max-time=120 --oltp-tables-count=1 --report-interval=10 --num-threads=8  run
参数说明:
  --max-time        来指定测试时长
--oltp-tables-count    指定测试表数量
--max-requests       指定最大请求数,默认10000,0是不限制
--num-threads        指定线程数
prepare         是一个准备过程,比如测oltp需要load数据到表里
run              是真正的测试过程
cleanup         是清除过程

update测试
sysbench --test=/usr/share/doc/sysbench/tests/db/update_index.lua  --oltp-table-size=1000000 --mysql-table-engine=innodb --mysql-user=sbtest  --mysql-password=sbpass --mysql-port=3306 --mysql-host=192.168.70.72 --mysql-db=sbtest  --max-requests=0 --max-time=120 --oltp-tables-count=1 --report-interval=10 --num_threads=8 run
 
insert测试
sysbench --test=/usr/share/doc/sysbench/tests/db/insert.lua  --oltp-table-size=1000000 --mysql-table-engine=innodb --mysql-user=sbtest  --mysql-password=sbpass --mysql-port=3306 --mysql-host=192.168.70.72 --mysql-db=sbtest  --max-requests=0 --max-time=120 --oltp-tables-count=1 --report-interval=10 --num_threads=8 run
 

point_select


sysbench /usr/share/sysbench/oltp_read_only.lua --mysql-host=192.168.14.240 --mysql-port=3316 --mysql-user=root --mysql-password='root' --mysql-db=test --db-driver=mysql --tables=10 --table-size=1000000 --report-interval=10 --threads=128 --time=300 prepare
sysbench /usr/share/sysbench/oltp_read_only.lua --mysql-host=192.168.14.240 --mysql-port=3316 --mysql-user=root --mysql-password='root' --mysql-db=test --db-driver=mysql --tables=10 --table-size=1000000 --report-interval=10 --threads=128 --time=300 prepare

所有自带的测试项目:

 

 

测试结果,关注红色字体

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值