租用了华为云MySQL数据库服务,怎样实测TPS、QPS性能指标?

举报
云计算那些事儿 发表于 2019/07/27 21:50:27 2019/07/27
【摘要】 客户经常会问我们华为云的RDS for MySQL的性能指标,其中最关注的指标是TPS和QPS两个指标:TPS:Transaction Per Second,数据库每秒执行的事务数。QPS:Query Per Second,数据库每秒执行的SQL数,包含insert、select、update、delete等。我们可以在阿里云、华为云官网上会列出MySQL各规格的性能指标,比如下面是华为云官...

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

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

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

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

92e499fc4602d2da47ce2c5b6520553d-29507

性能测试工具有很多,阿里云采用了Sysbench工具进行测试,为了保持一致的测试基准,本次测试我们也采用该工具测试华为云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 <MySQL内网IP地址> -p<root用户密码> -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=<root用户密码> --mysql-port=3306 --mysql-host=<MySQL内网IP地址>  --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:执行装载测试数据的命令


执行后如下图所示:

7b8cdbb73283734de89702d5dc74aafe-322422


注意:因为装载的数据量比较大,需要较长时间才能完成测试数据的装载,我们在用SSH时,很容易因各种原因断开SSH连接,导致数据导入中断,建议使用screen工具实现命令在后台自动运行,详见我之前发布的公众号文章:https://mp.weixin.qq.com/s/mpaD54srYaVbT52vOfX0Gg


三、执行性能测试


sysbench --test=/usr/local/share/sysbench/tests/include/oltp_legacy/oltp.lua --db-driver=mysql --mysql-db=loadtest --mysql-user=root --mysql-password=<root用户密码> --mysql-port=3306 --mysql-host=<MySQL内网IP地址> --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:执行性能测试

四、测试结果说明

测试结果截图如下:

7b9186b7ee7800e8494c9d585f0d3f44-50092

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

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

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

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

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


【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。