全部产品
Search
文档中心

:单行热点更新测试

更新时间:Oct 11, 2023

本文介绍云数据库RDS 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万

图 1. 三节点企业系列测试结果三节点企业版测试结果