
点击蓝字关注我们
介绍
透明数据加密 (TDE) 是 EDB Postgres Advanced Server 和 EDB Postgres Extended Server 版本 15 支持的可选功能。
它对存储在数据库系统中的任何用户数据进行加密。这种加密对于用户来说是透明的。用户数据包括存储在表和其他对象中的实际数据,以及系统目录数据(例如对象名称)。
有关 EDB TDE 实施的更多信息:https://www.enterprisedb.com/docs/tde/latest/
在本文中,我们将通过EDB性能和架构团队 (PEAT) 执行的 2 个基准测试来评估使用 EDB 透明数据加密的影响。然后我们将能够了解以下问题:
在事务性工作负载期间,TDE 对性能有何影响?
将非加密数据库集群升级到加密数据库集群时,TDE对升级过程有何影响?
对性能的影响
2.1 基准的描述
本基准测试中使用的是TPROC-C (HammerDB),其数据库由 2000 个数据仓库(约 200GB 数据)组成。目标数据库引擎是 EDB Advanced Server 版本 15。
该基准测试进行了两项测试:
随着虚拟用户数量的增加而加大测试力度
使用大量 (75) 虚拟用户执行长期测试(1 小时)。
对于每个测试,我们都会测量 HammerDB 返回的使用 TDE 的数据库集群以及不使用 TDE 的另一个数据库集群的每分钟订单数 (NOPM)。
两个数据库集群使用相同的性能参数。
2.2 系统的配置

2.3 参数配置
PostgreSQL设置应用于所有两个数据库集群:
shared_buffers='36GB'max_connections=1000checkpoint_completion_target='0.93'checkpoint_timeout='30min'max_wal_size='300GB'effective_cache_size='100GB'random_page_cost=1seq_page_cost=1effective_io_concurrency=200
2.4 基准测试结果
2.4.1 测试#1-增加用户数
测试中,HammerDB 的虚拟用户数量不断增加(5 x 5),从 5 个增加到 95 个。对于每个虚拟用户数量,测试持续时间为 20 分钟。此测试针对启用了 TDE 的 EPAS 实例和未启用 TDE 的 EPAS 实例执行。

结果;
从0到60个虚拟用户,TDE 和无 TDE NOPM 率非常接近。
从60到95个虚拟用户,无TDE NOPM稍高一些。使用TDE时,事务处理速度比不使用TDE时慢2.5%。
2.4.2 测试#2-稳定状态
测试中,HammerDB 配置为使用75个虚拟用户。测试持续时间设置为1小时,加速持续时间设置为5 分钟。此测试针对启用了TDE的EPAS实例和未启用TDE的EPAS实例执行。
No-TDE CPU 使用率:

TDE状态CPU使用率:

内存使用情况:

PGDATA 读吞吐量 (kB/s)

PGDATA 写入吞吐量 (kB/s)

PGWAL 写入吞吐量 (kB/s)

每分钟新订单数 (NOPM)

使用 pg_upgrade 对升级过程的影响
数据加密是有成本的。在本基准测试中,我们评估将版本14中未加密的EPAS集群升级到版本15中加密和未加密EPAS集群时的成本。因此,我们将能够根据 pg_upgrade 的持续时间和CPU使用率来衡量加密成本。操作需要。
该基准测试中使用的数据集由 HammerDB 生成。数据库大小为300GB(3000个TPROC-C数据仓库)。借助时间工具来跟踪和测量pg_upgrade进程所花费的CPU使用率和运行时间。两个数据库集群都启用了页面校验和功能。
Table大小

pg_upgrade命令
当 TDE 未启用时:
$ usr/edb/as15/bin/pg_upgrade \-d pgdata/data \-D /pgdata/data_15 \-b /usr/edb/as14/bin \-B /usr/edb/as15/bin \--copy-by-block
当TDE启用时的;
$ /usr/edb/as15/bin/pg_upgrade \-d /pgdata/data \-D /pgdata/data_15 \-b /usr/edb/as14/bin \-B /usr/edb/as15/bin \--copy-by-block \--key-unwrap-command "cat /pgdata/data_15/pg_encryption/key.bin"
注意:升级到加密数据库集群时需要使用 --copy-by-block。
3.1System配置

3.2 基准测试结果
系统和用户 CPU 所用的时间

CPU使用率

升级耗时

结论
4.1 性能基准
当系统CPU不过载、虚拟用户数较少时,启用TDE对性能的影响并不大。
当系统CPU使用率较高且虚拟用户数量较多时,TDE的影响是数据库系统可以处理的事务率下降了7.3%。
在这种类似于TPC-C (TPROC-C) 的上下文中,根据 PGWAL 写入吞吐量图表,启用 TDE 不会导致更高的数据库页速率或更大的数据库大小。
4.2 pg_upgrade 基准测试
将 300GB 数据升级到加密数据库集群(使用 TDE)并不会显着增加总体升级过程持续时间。
即使升级到加密集群的过程需要多花费 11% 的 CPU,这也不会真正影响整体持续时间。
与升级到未加密的数据库集群相比,时间开销仅为0.3%。
本文中描述的基准测试表明,使用EDB的TDE不会对事务性能 (<7.5%) 或数据库升级时间 (0.3%) 产生重大影响。

扫码进 EDB 微信群

发现“分享”和“赞”了吗,戳我看看吧




