暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

PolarDB for PostgreSQL 14版与开源PostgreSQL性能对比

成子 2023-08-18
597

本文介绍PolarDB for PostgreSQL 14版本的OLTP负载性能测试结果。

简介

相较于开源PostgreSQL 14,PolarDB for PostgreSQL 14在以下几方面进行了优化,提升了整体性能:

  • 采用了领先硬件技术,包括使用3DXpoint存储介质的Optane存储卡、NVMeSSD和RoCE RDMA网络等。
  • 基于新的硬件,实现了一整套在用户态运行的IO和网络协议栈,获得了更高的性能、更低的延迟。
  • 通过Polar CSN(Commit Sequence Number)技术,将原生PostgreSQL xid事务替换为单调递增的64位整型来提升高并发下OLTP性能。
  • 借助预读、预扩展、rel_size_cache技术,可以有效减少IO读写次数,提升性能。

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

测试环境和规格

PolarDB for PostgreSQL 14和开源 PostgreSQL 14的环境和规格如下表所示,本次测试的开源PostgreSQL 14在阿里云ECS机器上进行部署:

参数PolarDB for PostgreSQL 14开源 PostgreSQL 14
核数+内存8核 64 GB8核 64 GB
发压ECS机规格ecs.c5.4xlargeecs.c5.4xlarge
并发数256256
PostgreSQL版本1414
磁盘性能等级PSL5cloud_essd+PL3
预留磁盘空间自动扩容,无限制4 TB

说明 关于内核参数,PolarDB for PostgreSQL 14的参数与开源PostgreSQL 14性能参数进行了对齐,其余参数均采用默认参数。

测试Workload说明

在Sysbench中,有七类场景,包括oltp_insert、oltp_point_select、oltp_read_only、oltp_read_write、oltp_update_index、oltp_update_non_index、oltp_write_only。各种场景的测试内容说明如下:

参数场景测试内容
写场景oltp_insert插入表。
oltp_update_index更新带索引的表。
oltp_update_non_index更新不带索引的表。
oltp_write_only插入、更新、删除表混合测试。
读场景oltp_point_select点查询。
oltp_read_only点查询+范围查询。
读写混合oltp_read_writeoltp_write_only+oltp_read_only混合测试。

衡量指标

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

测试数据量

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

参数说明
表数目8
行数64,000,000
总数据量128 GB

性能结果

  • 写场景
    写场景
    TPS/实例类型PolarDB for PostgreSQL 14开源PostgreSQL 14数据库
    oltp_insert43129.0841161.66
    oltp_update_index32492.363710.60
    oltp_update_non_index30929.045367.59
    oltp_write_only9492.401294.47
  • 读场景
    读场景
    TPS/实例类型PolarDB for PostgreSQL 14开源PostgreSQL 14数据库
    oltp_point_select88967.6014566.05
    oltp_read_only4834.21570.62
  • 读写混合场景
    读写混合场景
    TPS/实例类型PolarDB for PostgreSQL 14开源PostgreSQL 14数据库
    oltp_read_write1738.51306.39
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论