阿里云云数据库RDS MySQL单行热点更新的性能测试,码笔记分享阿里云官网关于MySQL云数据库实例高可用版和三节点企业版的测试结果:
阿里云MySQL数据库单行热点更新测试
阿里云数据库MySQL版测试环境说明:本示例中,分别使用两个实例进行测试(高可用版和三节点企业版),规格码为rds.mysql.st.v52和mysql.st.12xlarge.25。
- 实例版本:MySQL 5.7
- 实例规格:90核720GB(独占物理机型)
- 实例系列:高可用版和三节点企业版
- 实例存储类型:本地盘
测试数据
测试数据为单表,表内100行记录。表结构如下:
CREATE TABLE `sbtest1` ( `id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT ,`k` INT(10) UNSIGNED NOT NULL DEFAULT '0' ,`c` CHAR(120) NOT NULL DEFAULT '' ,`pad` CHAR(60) NOT NULL DEFAULT '' ,PRIMARY KEY (`id`) ,KEY `k_1` (`k`) ) ENGINE=InnoDB AUTO_INCREMENT=101 DEFAULT CHARSET=utf8 MAX_ROWS=1000000
测试脚本
对id=100的记录进行并发更新,SQL如下:
UPDATE sbtest1 SET k=k+1 WHERE id=100
测试的Lua脚本如下:
pathtest = string.match(test,"(.*/)") if pathtest then dofile(pathtest .."common.lua") else require("common") end function thread_init(thread_id) set_vars() end function event(thread_id) local table_name table_name ="sbtest".. sb_rand_uniform(1, oltp_tables_count) rs = db_query("begin") rs = db_query("update /*+commit_on_success rollback_on_fail target_affect_row(1) */ sbtest1 SET k=k+1 WHERE id=100") rs =db_query("commit") end
测试结果
实例类型 | 单行记录更新峰值(TPS) |
---|---|
RDS高可用版 | 1.2万 |
RDS三节点企业版 | 3.1万 |
三节点企业版测试结果
码笔记转自阿里云官方文档,精准信息请以阿里云官方文档为准:
2024年云服务器租用优惠价格,11月最新: