新用户首次购买实例,您可以参见本文测试实例性能并提交测试报告。提交测试报告后可以享受续费优惠,如果您的测试报告被评为优秀测试报告,还会赠送精美礼品。
背景信息
RDS MySQL性能测试活动详情请参见性能测试活动。
实例性能测试的指标包括:
SysBench参数说明
参数 |
说明 |
db-driver |
数据库引擎。 |
mysql-host |
RDS实例连接地址。 |
mysql-port |
RDS实例连接端口。 |
mysql-user |
RDS实例账号。 |
mysql-password |
RDS实例账号对应的密码。 |
mysql-db |
RDS实例数据库名。 |
table_size |
测试表大小。 |
tables |
测试表数量。 |
events |
测试请求数量。 |
time |
测试时间。 |
threads |
测试线程数。 |
percentile |
需要统计的百分比,默认值为95%,即请求在95%的情况下的执行时间。 |
report-interval |
表示N秒输出一次测试进度报告,0表示关闭测试进度报告输出,仅输出最终的报告结果。 |
skip-trx |
是否跳过事务。
|
性能测试步骤
本文以CentOS系统为例,演示性能测试的步骤。
- 登录ECS实例,通过如下步骤安装SysBench。
yum install gcc gcc-c++ autoconf automake make libtool mysql-devel git mysql
git clone https://github.com/akopytov/sysbench.git
##从Git中下载Sysbench
cd sysbench
##打开sysbench目录
git checkout 1.0.18
##切换到sysbench 1.0.18版本
./autogen.sh
##运行autogen.sh
./configure --prefix=/usr --mandir=/usr/share/man
make
##编译
make install
- 进行性能测试,包括OLTP读写混合场景压测、OLTP只读场景压测和OLTP只写场景压测。
- OLTP读写混合场景压测
参见如下命令进行测试,参数说明请参见SysBench参数说明。
##准备数据
sysbench --db-driver=mysql --mysql-host=XXX --mysql-port=XXX --mysql-user=XXX --mysql-password=XXX --mysql-db=sbtest --table_size=25000 --tables=100 --events=0 --time=300 --threads=XXX oltp_read_write prepare
##运行workload
sysbench --db-driver=mysql --mysql-host=XXX --mysql-port=XXX --mysql-user=XXX --mysql-password=XXX --mysql-db=sbtest --table_size=25000 --tables=100 --events=0 --time=300 --threads=XXX --percentile=95 --report-interval=1 oltp_read_write run
##清理数据
sysbench --db-driver=mysql --mysql-host=XXX --mysql-port=XXX --mysql-user=XXX --mysql-password=XXX --mysql-db=sbtest --table_size=25000 --tables=100 --events=0 --time=300 --threads=XXX --percentile=95 oltp_read_write cleanup
测试结果示例如下:
- QPS:23869.32
- TPS:1193.47
- 响应时间(RT):36.89 ms

- OLTP只读场景压测
参见如下命令进行测试,参数说明请参见SysBench参数说明。
##准备数据
sysbench --db-driver=mysql --mysql-host=XXX --mysql-port=XXX --mysql-user=XXX --mysql-password=XXX --mysql-db=sbtest --table_size=25000 --tables=100 --events=0 --time=300 --threads=XXX oltp_read_only prepare
##运行workload
sysbench --db-driver=mysql --mysql-host=XXX --mysql-port=XXX --mysql-user=XXX --mysql-password=XXX --mysql-db=sbtest --table_size=25000 --tables=100 --events=0 --time=300 --threads=XXX --percentile=95 --skip-trx=1 --report-interval=1 oltp_read_only run
##清理数据
sysbench --db-driver=mysql --mysql-host=XXX --mysql-port=XXX --mysql-user=XXX --mysql-password=XXX --mysql-db=sbtest --table_size=25000 --tables=100 --events=0 --time=300 --threads=XXX --percentile=95 oltp_read_only cleanup
测试结果示例如下:
- QPS:26130.73
- 响应时间(RT):33.72 ms

- OLTP只写场景压测
参见如下命令进行测试,参数说明请参见SysBench参数说明。
##准备数据
sysbench --db-driver=mysql --mysql-host=XXX --mysql-port=XXX --mysql-user=XXX --mysql-password=XXX --mysql-db=sbtest --table_size=25000 --tables=100 --events=0 --time=300 --threads=XXX oltp_write_only prepare
##运行workload
sysbench --db-driver=mysql --mysql-host=XXX --mysql-port=XXX --mysql-user=XXX --mysql-password=XXX --mysql-db=sbtest --table_size=25000 --tables=100 --events=0 --time=300 --threads=XXX --percentile=95 --report-interval=1 oltp_write_only run
##清理数据
sysbench --db-driver=mysql --mysql-host=XXX --mysql-port=XXX --mysql-user=XXX --mysql-password=XXX --mysql-db=sbtest --table_size=25000 --tables=100 --events=0 --time=300 --threads=XXX --percentile=95 oltp_write_only cleanup
测试结果示例如下:
- TPS:4255.01
- 响应时间(RT):16.71 ms

- 下载MySQL性能测试报告模板,填写后在性能测试数据提交页提交。