RDS MySQL全密态功能性能测试

本文介绍RDS MySQL 8.0RDS MySQL 5.7版本高可用系列在开启全密态功能后OLTP负载性能测试。

背景信息

此次测试对比了两种查询情况下的数据库性能(以QPS、RT为准)。

  • 明文查询:不设置任何加密规则。

  • 密文查询:对数据库中所有列进行加密。

说明

全密态对数据库写入无性能影响。

实例规格和测试方法

此次测试采用行业标准压测工具SysBench,分别针对只读(oltp_read_only)、读写(oltp_read_write)两个基准,在不同的线程数下模拟数据库不同压力下的性能表现。

  • 实例配置:

    • 规格:mysql.n2.xlarge.2c

    • 规格族:通用型

    • 系列:高可用系列

    • 存储类型:ESSD PL1 云盘

    • 版本:RDS MySQL 8.0 20240229,RDS MySQL 5.7 20240229

  • 测试参数:

    • 单表数据量:25000

    • 表数量:250

测试结果

RDS MySQL 5.7

只读

image.png

线程

明文QPS

密文QPS

明文RT

密文RT

64

14332.58

14021.94

71.43

73.01

128

28712.27

28097.95

71.32

72.87

256

51173.18

43663.67

80.02

93.79

读写

image.png

线程

明文QPS

密文QPS

明文RT

密文RT

64

14349.46

14073.52

89.18

90.93

128

28745.73

28480.96

89.03

89.86

256

52388.17

47524.69

97.69

107.69

RDS MySQL 8.0

只读

image.png

线程

明文QPS

密文QPS

明文RT

密文RT

64

20957.01

20451.69

48.85

50.06

128

40395

40523.26

50.68

50.52

256

67328.31

53119.03

60.8

77.07

读写

image.png

线程

明文QPS

密文QPS

明文RT

密文RT

64

20201.55

19942.42

63.35

64.17

128

40133.36

40343.33

63.76

63.43

256

62039.77

46675.26

82.46

109.59

相关说明

  1. 此次测试对所有查询后的数据内容均进行了加密。在客户业务系统中,如果只对少数敏感字段加密,性能会优于此次测试的结果。

  2. 全密态功能仅影响数据库读操作的效率。在只读场景下,全密态的性能测试结果较差;在读写场景中,全密态的性能测试影响较小;而在只写场景下,全密态完全不影响性能。

  3. 全密态功能主要对CPU有额外的负载,对磁盘和内存没有压力。