PolarDB PostgreSQL版集群性能测试

更新时间:
复制为 MD 格式

本文介绍了PolarDB PostgreSQL链接地址选择集群地址时的性能测试结果。

简介

相较于直接连接PolarDB PostgreSQL主节点地址,PolarDB PostgreSQL连接集群地址在以下两方面进行了优化,提升了整体吞吐:

  • PolarDB PostgreSQL集群自带读写分离功能。应用程序只需连接一个集群地址,写请求会自动发往主节点,读请求会自动根据各节点的负载(当前未完成的请求数)发往主节点或只读节点。

  • PolarDB PostgreSQL集群具有事务拆分功能。事务拆分在保证读写一致性的前提下,将事务中的读请求发往只读节点,以提升性能。详情请参见事务拆分

说明

具体测试步骤请参见性能测试方法(OLTP)

前提条件

  • 购买的PolarDB PostgreSQL包含一个主节点和至少一个只读节点。

  • 连接的地址采用集群地址,而不是主节点地址。采用集群地址后,会根据您的读写请求以及负载来决定请求发往主节点还是只读节点。

  • 建议开启事务拆分功能,事务拆分在保证读写一致性的前提下,将事务中的读请求发送只读节点,以提升性能。

测试环境与规格

本次测试主要采用PolarDB PostgreSQL 16集群,环境和规格如下表所示(除连接地址之外,其他均相同):

环境与规格

说明

核数+内存

8核 64 GB

PostgreSQL版本

16.10

磁盘性能等级

PSL5

节点数量

1主节点+1只读节点

连接地址

集群地址/主节点地址

事务拆分

开启

会话/最终一致性

会话一致性

测试Workload说明

本次测试采用Sysbench测试,只需将Sysbench测试连接的IP修改为集群地址即可,Sysbench的测试方法具体请参见性能测试方法(OLTP)

为了更好的说明PolarDB PostgreSQL 16集群性能的提升,本次测试选取了一个典型场景:读场景(oltp_read_only)。

衡量指标

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

测试数据量

本次实验测试数据量如下表所示:

参数

说明

表数目

8

行数

64,000,000

总数据量

128 GB

性能结果

读场景image

并发数

集群地址

主节点地址

128

11040.7

7978.27

256

14751.39

8653.15