mysql 查看实际时间_使用sysbench对mysql性能基测

1、基测的作用

分析当前数据库的配置下(包括硬件配置、系统配置、数据库配置等)数据库在各个方面的表现,从而找出Mysql的性能瓶颈,随后根据业务的实际需求进行相应的挑战。

2、基测得方式

(1)针对整个系统,进行类似http request的方式测试,可以全方位的测试当前整个系统的优点和缺陷,但是这种方式考虑的点太多,如网络、负载均衡、前端硬件等,相对比较难测试。

(2)单独针对mysql测试,此种方式只能测试mysql,对整个系统没办法测试。

一般使用的工具有sysbench、mysqlslap、fio等,sysbench相对测试的角度更多更强大。

3、常见的数据库指标

(1)TPS/QPS:衡量吞吐量。

(2)响应时间:包括平均响应时间、最小响应时间、最大响应时间、前95%的请求的最大响应时间。

(3)并发量:同时处理的查询请求的数量。

(4)处理总时间。

4、sysbench工具

sysbench是一个开源的、模块化的、跨平台的多线程性能测试工具,可以用来进行CPU、内存、磁盘I/O、线程、数据库的性能(OLTP)测试。目前支持的数据库有MySQL、Oracle和PostgreSQL。

5、安装sysbench

(1)yum安装

yum -y install sysbench

(2)如果YUM找不到源,可自行官网下载安装包源码安装,如下:

wget http://sourceforge.net/projects/sysbench/sysbench-0.4.12.tar.gz

tar sysbench-0.4.12.tar.gz

cd sysbench-1.0

./autogen.sh

./configure

export LD_LIBRARY_PATH=/usr/local/mysql/include

make&make install

6、sysbench命令

d2c18f3cdc24f01e12de87e3af73d057.png

命令可以通过sysbench --help查看,具体命令作用可以查看释义。

测试mysql使用到的命令及释义如下:

(1)command

command即执行操作,操作分别是perpare、run、clean,perpare为测试前做数据准备,run即执行测试,clean是在测试结束后对数据库进行清理。

(2)测试方式

-oltp-test-mode 执行(run)模式,分读、写、更新、读写操作等。

  • --oltp-test-mode:执行模式,包括simple、nontrx和complex,默认是complex。simple模式下只测试简单的查询;nontrx不仅测试查询,还测试插入更新等,但是不使用事务;complex模式下测试最全面,会测试增删改查,而且会使用事务。可以根据自己的需要选择测试模式。
  • --oltp-tables-count:测试的表数量,根据实际情况选择
  • --oltp-table-size:测试的表的大小,根据实际情况选择
  • --threads:客户端的并发连接数
  • --time:测试执行的时间,单位是秒,该值不要太短,可以选择120
  • --report-interval:生成报告的时间间隔,单位是秒,如10。

其他命令介绍请查看释义。

7、测试准备

(1)mysql创建测试库

52aee49c751667bf1404022d38de1048.png

8、使用sysbench测试test库

先切换到测试脚本目录:/usr/share/sysbench

(1)准备数据

sysbench oltp_read_write.lua --mysql-host=127.0.0.1 --mysql-port=3306 --mysql-db=test --mysql-user=root --mysql-password='1qaz@WSX' --table_size=20000000 --tables=1 --threads=500 --events=500000 --report-interval=10 --time=0 perpare

等几分钟后会在mysql中的test库中创建一张名为sbtest1 的表。

f6bc33308e8325ed324f7e0ce00d322e.png

(2)执行测试

sysbench oltp_read_write.lua --mysql-host=127.0.0.1 --mysql-port=3306 --mysql-db=test --mysql-user=root --mysql-password='1qaz@WSX' --table_size=20000000 --tables=1 --threads=500 --events=500000 --report-interval=10 --time=0 run

使用complex模式,针对读写测试,使用1个表,每个表2000W条数据,并发500,10s生成一次报告

5386af0bfbea4add14d00bda282852bc.png
d232f7c1435868dd13ba9747f0325127.png

(3)结果汇总分析

可根据常见指标或者自己业务关注的点分析,建议多测试几次取其平均值作为参考,单次测试一般不能作为参考。

124544a6060a89b738b9b8ff4120ed94.png

然后生成相关的模型图或者报表就可以清楚的对比出mysql在不同的环境中性能状况。

(4)清理数据

sysbench oltp_read_write.lua --mysql-host=127.0.0.1 --mysql-port=3306 --mysql-db=test --mysql-user=root --mysql-password='1qaz@WSX' --table_size=20000000 --tables=1 --threads=500 --events=500000 --report-interval=10 --time=0 cleanup

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值