关于RDS for MySQL的各规格性能测试情况
发布日期:2015-11-13 15:11:18
关于RDS for MySQL的各规格性能测试情况 注:该性能报告是参考的测试数据,不作为产品SLA的评判标准。 一. 简介 通过该性能测试报告,让用户了解到在sysbench标准测试模型下,每种规格的RDS的性能表现,供用户做容量选型参考。 二. 名词解释 1. QPS: 表示每秒执行的SQL语句的次数包括select,insert,delete等。 2. 规格:RDS为用户提供的不同性能的套餐,以内存大小为衡量标准,比如240M内存的RDS实例。 3. 行数:测试模型下,该实例所拥有的所有表格的总行数。 4. 工作集数据:测试的数据量大小,并且在测试中这些数据都会频繁被使用。 5. 并发数:测试线程的数量 6. 表数量:该测试模型下表的总数,每表行数=行数/表数 7. semi-sync(Semisynchronous Replication,半同步): 跟async一样,是MySQL复制中传输日志的另外一种模式,叫半同步复制,在RDS (MySQL5.5)中引入并支持。在这种模式下数据的安全性得到了最大保障,但会损失一定的写入性能。 8. async(Asynchronous Replication,异步):MySQL复制中传输日志的一种模式,MySQL默认支持的就是这种模式,最为通用,在不影响主库性能的前提下尽可能地保证数据的安全。 三. 测试模型 测试工具:sysbench 0.5 测试流程:通过对每种规格的实例进行压测,得出每种规格的RDS实例的性能表现 测试模型:采用OLTP模型(读写比例为7:3)和InnoDB引擎。大致命令如下: 常用命令参数如下: 四. 每种RDS for MySQL规格的资源配额,如下图所示: 五. 每种规格的测试数据,如下图所示: 注: 24000M规格由于数据库性能容量非常高,一个sysbench客户无法压满RDS实例,因此我们采用了两个sysbench客户端来同时进行压测,并且两个sysbench对不同的数据库和表格进行压测。 六. QPS测试结果,如下图所示: 具体每种规格的RDS for MySQL的QPS性能曲线如下图: 七. MySQL 5.5半同步与异步性能对比 从理论上分析MySQL 5.5的半同步的写性能会比异步的写性能差不少。但是从上面的测试结果来看相差并不大.原因是上面的测试模型是读写比例为7:3,写入不大的情况下,半同步的影响较小。 为此我们将进行纯insert压测来比较半同步和异步的性能。 测试模型与上面7:3的读写测试模型类似,只是把oltp.lua脚本换成insert.lua脚本。也就是把“--test=/tmp/sysbench-0.5/sysbench/tests/db/oltp.lua“参数换成“—test=/tmp/sysbench-0.5/sysbench/tests/db/insert.lua”。 下面这张图是纯insert压测,半同步和异步的性能曲线,从中可以看出: 1) 使用异步模式,随着规格的增加,性能越来越好,每秒插入的记录数跟实例的IOPS密切相关。 2) 使用半同步模式,每秒插入的记录数变化不大,稳定在5300条左右。主要是因为半同步的数据同步出现瓶颈。
上一条: RDS控制台使用帮助的视频
|