详情页标题前

阿里云RDS数据库透明数据加密TDE测试报告-云淘科技

详情页1

本文介绍不同规格的RDS MySQL实例在开启和未开启TDE加密场景下的性能影响,帮助您评估是否选择TDE加密。

测试环境

配置项

ECS实例

RDS MySQL实例(未开启TDE)

RDS MySQL实例(开启TDE)

RDS MySQL实例(未开启TDE)

RDS MySQL实例(开启TDE)

说明

地域及可用区

华北2(北京)可用区H

华北2(北京)可用区H

华北2(北京)可用区H

华北2(北京)可用区H

华北2(北京)可用区H

本测试在同一地域及可用区。

网络类型

专有网络VPC

专有网络VPC

专有网络VPC

专有网络VPC

专有网络VPC

本测试在同一VPC。

CPU和内存

16核 32 GB

4核 8 GB

4核 8 GB

8核 32 GB

8核 32 GB

不涉及

实例规格族

ecs.c5

通用型

通用型

通用型

通用型

不涉及

实例规格

ecs.c5.4xlarge

rds.mysql.s3.large

rds.mysql.s3.large

rds.mysql.c1.xlarge

rds.mysql.c1.xlarge

不涉及

存储类型

ESSD云盘

本地SSD盘

本地SSD盘

本地SSD盘

本地SSD盘

不涉及

实例或镜像版本

Alibaba Cloud Linux 3.2104 64位

  • 大版本:MySQL 8.0

  • 小版本:rds_20221231

  • 大版本:

MySQL 8.0

  • 小版本:rds_20221231

  • 大版本:

MySQL 8.0

  • 小版本:rds_20221231

  • 大版本:

MySQL 8.0

  • 小版本:rds_20221231

不涉及

说明

测试客户端部署在ECS实例上。

测试工具

sysbench是一个跨平台且支持多线程的模块化基准开源测试工具,用于评估系统在运行高负载数据库时的性能。sysbench的更多信息及使用方法,请参见sysbench文档。

测试指标

  • 每秒执行事务数TPS(Transactions Per Second):数据库每秒执行的事务数,以COMMIT成功次数为准。

  • 事务处理平均延迟(Average Latency):数据库执行一条事务的平均耗时,单位为毫秒(ms)。

测试表结构

sysbench的默认表结构如下:

CREATE TABLE `sbtest8` (
  `id` int NOT NULL AUTO_INCREMENT,
  `k` int NOT NULL DEFAULT '0',
  `c` char(120) NOT NULL DEFAULT '',
  `pad` char(60) NOT NULL DEFAULT '',
  PRIMARY KEY (`id`),
  KEY `k_8` (`k`)
) ENGINE=InnoDB AUTO_INCREMENT=100001 DEFAULT CHARSET=utf8mb3

测试步骤

本测试对表中的列进行加密,分析全加密MySQL实例在不同场景下的性能。

  1. 创建MySQL实例。详情请参见创建RDS MySQL实例。

  2. 开通外网地址。详情请参见申请或释放外网地址。

  3. 创建数据库和账号。详情请参见创建数据库和账号。

  4. 在ECS实例中执行如下命令(本文以Linux系统为例),安装MySQL客户端。

    • CentOS:执行sudo yum install mysql

    • Ubuntu:执行sudo apt-get update,并执行sudo apt install mysql-server

  5. 打开MySQL命令行工具,执行如下命令,连接RDS MySQL数据库。

    mysql -h -u -P -p

    说明

    数据库连接地址和端口号获取方法,请参见查看或修改内外网地址和端口。

  6. 退出数据库,使用sysbench工具加载测试数据。

    说明

    • 本测试中,使用sysbench加载128个表,其中每个表包含十万行记录,以下脚本示例中采用oltp_read_write模型。

    • 示例代码中线程数以16为例,执行中请替换为实际线程数(1、8、16、32、64、128、256、512)。

    sysbench --db-driver=mysql
     --mysql-host=[database server host]
     --mysql-port=[database server port]
     --mysql-user=[database user name]
     --mysql-password=[database user password]
     --mysql-db=testdb
     --table_size=1000000
     --tables=128
     --threads=16  
     --time=60
     oltp_read_write prepare
  7. 执行自定义测试脚本。

    sysbench --db-driver=mysql
     --mysql-host=[database server host]
     --mysql-port=[database server port]
     --mysql-user=[database user name]
     --mysql-password=[database user password]
     --mysql-db=testdb
     --table_size=1000000
     --tables=128
     --threads=16
     --time=60
     oltp_read_write run
  8. 清理数据。

    sysbench --db-driver=mysql
      --mysql-host=[database server host]
      --mysql-port=[database server port]
      --mysql-user=[database user name]
      --mysql-password=[database user password]
      --mysql-db=testdb
      --table_size=1000000
      --tables=128
      --threads=16
      --time=60
      oltp_read_write cleanup

测试场景一:4核 8 GB RDS MySQL实例开启TDE前后对比

测试数据

各模型下的实例性能趋势图

阿里云RDS数据库透明数据加密TDE测试报告-云淘科技阿里云RDS数据库透明数据加密TDE测试报告-云淘科技

性能数据汇总

阿里云RDS数据库透明数据加密TDE测试报告-云淘科技阿里云RDS数据库透明数据加密TDE测试报告-云淘科技阿里云RDS数据库透明数据加密TDE测试报告-云淘科技说明

4C8G_TDE_OFF[1]:表示未开启TDE的4核 8 GB RDS MySQL实例。

4C8G_TDE_ON[9]:表示开启TDE的4核 8 GB RDS MySQL实例。

测试结论

开启TDE加密功能后,RDS MySQL实例性能都有所损失。从整体上看,在oltp_read_only模型下损失较为严重。

测试场景二:8核 32 GB RDS MySQL实例开启TDE前后对比

测试数据

各模型下的实例性能趋势图

阿里云RDS数据库透明数据加密TDE测试报告-云淘科技阿里云RDS数据库透明数据加密TDE测试报告-云淘科技

性能数据汇总

阿里云RDS数据库透明数据加密TDE测试报告-云淘科技阿里云RDS数据库透明数据加密TDE测试报告-云淘科技阿里云RDS数据库透明数据加密TDE测试报告-云淘科技说明

8C32G_TDE_OFF[1]:表示未开启TDE的8核 32 GB RDS MySQL实例。

8C32G_TDE_ON[5]:表示开启TDE的8核 32 GB RDS MySQL实例。

测试结论

开启TDE加密功能后,RDS MySQL实例性能都有所损失。从整体上看,与4核 8 GB RDS MySQL实例类似,在oltp_read_only模型下损失较为严重。

内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家

阿里云企业补贴进行中: 马上申请

腾讯云限时活动1折起,即将结束: 马上收藏

同尘科技为腾讯云授权服务中心。

购买腾讯云产品享受折上折,更有现金返利:同意关联,立享优惠

转转请注明出处:https://www.yunxiaoer.com/154884.html

(0)
上一篇 2023年12月9日 下午7:16
下一篇 2023年12月9日
详情页2

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
本站为广大会员提供阿里云、腾讯云、华为云、百度云等一线大厂的购买,续费优惠,保证底价,买贵退差。