sql report service 后台服务_租用了云服务商的MySQL数据库服务,怎样实测TPS、QPS性能指标?...

547464953211a0969ce57ec65cdf1255.png

客户经常会问我们RDS for MySQL的性能指标,其中最关注的指标是TPS和QPS两个指标:

TPS:Transaction Per Second,数据库每秒执行的事务数。

QPS:Query Per Second,数据库每秒执行的SQL数,包含insert、select、update、delete等。

我们可以在阿里云、华为云官网上会列出MySQL各规格的性能指标,比如下面是华为云官网列出的Mysql5.7的各规格性能参数:

f3f54f00044fddd3b9ba37edbc75ab65.png

性能测试工具有很多,阿里云、华为云采用了Sysbench工具进行测试,如果你租用了云服务商的MySQL数据库服务,为了进行对比,建议也采用该工具测试MySQL服务。

Sysbench是一款基于LuaJIT的,模块化多线程基准测试工具,常用于数据库基准测试。通过内置的数据库测试模型,采用多线程并发操作来评估数据库的性能。

了解Sysbench更多详情,请访问https://github.com/akopytov/sysbench。

本次测试使用的Sysbench版本为1.0.12,云服务商选用华为云。

一、测试环境准备

1、开通云主机

节点:上海二

规格:通用计算增强型 | c3.2xlarge.2 | 8vCPUs | 16GB

带宽: 5 Mbit/s 弹性公网IP

操作系统:CentOS7.4 64位

注:为保证后面测试顺利, 建议测试环境选定CentOS7.4 64位版本。

2、开通MySQL数据库服务

节点:上海二

类型:单机

引擎:MySQL 5.7

规格:8 核 | 32 GB

存储:超高IO 500GB

注:

#主机与MySQL建议选用同一个VPC、子网和安全组。

#存储选用超高IO,容量选用不小于500G,后续需要装载的数据量比加大。

3、安装Sysbench

SSH登录开通的云主机,具体的安装命令如下:

# wget -c https://github.com/akopytov/sysbench/archive/1.0.12.zip# yum install autoconf libtool mysql mysql-devel vim unzip# unzip 1.0.12.zip# cd sysbench-1.0.12# ./autogen.sh# ./configure# make# make install

按顺序执行以上命令即可完成安装。

二、准备测试数据

1、创建测试数据库loadtest

# mysql -u root -P 3306 -h  -p -e "create database loadtest"

2、装载测试数据

sysbench --test=/usr/local/share/sysbench/tests/include/oltp_legacy/oltp.lua --db-driver=mysql --mysql-db=loadtest --mysql-user=root --mysql-password= --mysql-port=3306 --mysql-host= --oltp-tables-count=64 --oltp-table-size=10000000 --num-threads=20 prepare

主要参数说明:

oltp.lua:执行装载测试数据的lua脚本;

--oltp-tables-count=64:创建64个测试表;

--oltp-table-size=10000000:每个表1000万条测试数据

prepare:执行装载测试数据的命令

执行后如下图所示:

710716b7ac724904c267abd582cf074b.png

注意:因为装载的数据量比较大,需要较长时间才能完成测试数据的装载,我们在用SSH时,很容易因各种原因断开SSH连接,导致数据导入中断,建议使用screen工具实现命令在后台自动运行,详见我前一篇发布的文章:关闭ssh连接,让程序继续运飞?

三、执行性能测试

#sysbench --test=/usr/local/share/sysbench/tests/include/oltp_legacy/oltp.lua --db-driver=mysql --mysql-db=loadtest --mysql-user=root --mysql-password= --mysql-port=3306 --mysql-host= --oltp-tables-count=64 --oltp-table-size=10000000 --max-time=3600 --max-requests=0 --num-threads=200 --report-interval=3 --forced-shutdown=1 run

关键参数说明:

--oltp.lua:执行性能测试lua脚本;

--max-time=3600:最大执行时间,单位秒

--max-requests=0 :请求的最大数目,0表示不限制

--num-threads=200:创建测试线程的数目

--report-interval=3 :隔多久屏幕打印一次统计信息

--forced-shutdown=1:在强制关闭前等待时间,单位秒

-- run:执行性能测试

四、测试结果说明

测试结果截图如下:

320742e0403dc2b399e4bbf527936d52.png

红色框里是我们重点关注的TPS和QPS性能指标:

transactions:事务总数及tps,本例中是1953.89

queries:查询总数及qps,本例中是39078.32

Latency-95th percentile:前95%的请求的最大响应时间,本例中是325.98毫秒

结论:与华为云官网的数据要略低一点(<5%),基本一致。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值