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

简介

相较于直接连接PolarDB PostgreSQL版主节点地址,PolarDB PostgreSQL版连接集群地址在以下两方面进行了优化,提升了整体吞吐:
  • PolarDB PostgreSQL版集群自带读写分离功能。应用程序只需连接一个集群地址,写请求会自动发往主节点,读请求会自动根据各节点的负载(当前未完成的请求数)发往主节点或只读节点。
  • PolarDB PostgreSQL版集群具有事务拆分功能。事务拆分在保证读写一致性的前提下,将事务中的读请求发往只读节点,以提升性能。详情请参见事务拆分
说明 具体测试步骤请参见性能测试方法(OLTP)

前提条件

  • 购买的PolarDB PostgreSQL版包含一个主节点和至少一个只读节点。
  • 连接的地址采用集群地址,而不是主节点地址。采用集群地址后,会根据您的读写请求以及负载来决定请求发往主节点还是只读节点。
  • 建议开启事务拆分功能,事务拆分在保证读写一致性的前提下,将事务中的读请求发送只读节点,以提升性能。

测试环境与规格

本次测试主要采用PolarDB for PostgreSQL 14集群,环境和规格如下表所示(除连接地址之外,其他均相同):
环境与规格说明
核数+内存8核 64 GB
PostgreSQL版本14
磁盘性能等级PSL5
节点数量1主节点+1只读节点+1standby节点
连接地址集群地址/主节点地址
事务拆分开启
会话/最终一致性会话一致性

测试Workload说明

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

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

衡量指标

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

测试数据量

本次实验测试数据量如下表所示:
参数说明
表数目8
行数64,000,000
总数据量128 GB

性能结果

读场景读场景
TPS/连接地址集群地址主节点地址
2568149.574859.45
5127607.024418.72
10247037.764058.89