本文介绍了PolarDB MySQL版8.0.1版本的标准版和集群版分别在开通全密态功能后,OLTP负载性能测试结果。
本文对比了明文查询和密文查询两种情况下的数据库性能,性能指标以QPS、RT、CPU占用率为准。
明文查询:不设置任何加密规则。
密文查询:对数据库中的所有列进行加密。
全密态对数据库的写入性能没有影响。
集群规格和测试方法
本次压测采用业界标准的SysBench,针对只读(oltp_read_only)基准在不同的线程数量下模拟数据库不同压力时的性能表现。
集群配置
标准版集群
集群规格:polar.mysql.g2.xlarge.c
存储类型:ESSD PL1云盘
数据库节点:1个主节点和1个只读节点,节点规格均为8核16 GB
内核版本:8.0.1.1.41
数据库代理版本:2.8.38
数据库代理配置:16核
集群版集群
集群规格:
存储类型:PSL5
数据库节点:1个主节点和1个只读节点,节点规格均为1~16PCU
内核版本:8.0.1.1.41
数据库代理版本:2.8.38
数据库代理配置:0.5~32PCU
测试参数
表数量:250张
单表数据量:25000行
全密态功能是对数据库代理上的数据执行加密操作,在对数据执行读操作时会对代理产生额外的CPU负载。因此,在进行该性能测试时,标准版集群的数据库代理选择了最大规格16核。代理本身不收取费用,如果您需要使用全密态功能,建议您提前对代理执行扩容操作。
测试结果
标准版测试结果
测试数据表
线程数量
明文QPS
密文QPS
明文RT(单位:ms)
密文RT(单位:ms)
明文内核CPU(单位:%)
密文内核CPU(单位:%)
明文代理CPU(单位:%)
密文代理CPU(单位:%)
64
26997.98
25852.58
37.92
39.6
226
222
85
266
128
53991.65
50477.37
37.92
40.56
408
396
177
512
256
108128.31
93823.23
37.86
43.63
776
708
332
978
QPS&RT
内核及代理CPU占用率
集群版测试结果
测试数据表
线程数量
明文QPS
密文QPS
明文RT(单位:ms)
密文RT(单位:ms)
明文内核CPU(单位:%)
密文内核CPU(单位:%)
明文代理CPU(单位:%)
密文代理CPU(单位:%)
64
14830.79
14615.26
68.96
70.02
158
159
40
137
128
29628.57
28518.67
69.05
71.77
291
278
78
268
256
59483.84
50984.73
68.73
80.27
536
491
140
493
QPS&RT
内核及代理CPU占用率