PROD欧洲主权BaaS平台打开仪表板 →

性能 · 11 最小读取值

基准测试 Aurabase Postgres:pgbench、sysbench、TPC-C

Affane Daylami · Fondateur · 2026年3月5日

返回博客

Aurabase 提供标准 PostgreSQL 16,没有专有覆盖 - 这意味着生态系统中的所有 Postgres 基准测试工具都直接针对您的 Aurabase 数据库工作。以下是如何使用三个参考工具自行衡量您的绩效,而不是依赖任何人发布的营销数据。

该英文文本是根据法文原文自动生成的,尚未经过审查。
该页面已自动翻译。英文版具有权威性。

要点

pgbench(官方 PostgreSQL 工具,工作负载接近 TPC-B)和 sysbench-tpcc(TPC-C 工作负载更能代表真实的事务负载)都直接针对 Aurabase 项目的标准 Postgres 16 连接字符串运行 — 无需绕过专有 API。本教程展示了实际订单,以及 GST 数据可以合法证明的范围。

#
为什么这两个工具

pgbench 更简单,sysbench-tpcc 更真实

pgbench 随 PostgreSQL 本身一起分发:如果您已经拥有 Postgres 客户端工具,则无需在客户端上单独安装。其默认工作负载再现了接近历史 TPC-B 基准的负载 — 简单、启动快速、对于第一个信号很有用。

sysbench 是一个更通用的基准测试工具,带有一个 sysbench-tpcc 插件,可复制 TPC-C 工作负载 — 代表真实 OLTP 应用程序(订单、付款、库存)的事务组合,比通用 pgbench 工作负载更接近 Aurabase 后端在生产中处理的情况。

#
准备工作

检索连接字符串并创建专用测试库

1

从 Aurabase 仪表板检索连接字符串

项目的数据库部分,标准 postgresql://user:password@host:5432/dbname格式。

2

创建一个单独的测试基地,而不是您的生产基地

psql "$AURABASE_CONN" -c "创建数据库 bench_test;"

切勿对您的生产基地进行基准测试

pgbench 和 sysbench-tpcc 创建、填充和修改表。始终使用专用基地,切勿使用服务实际流量的方案。

#
基准测试

初始化并启动首次运行

1

初始化数据集

pgbench -i -s 10 "postgresql://user:pass@host:5432/bench_test" # -s 10 = 比例因子(pgbench_accounts 中的 10 × 100,000 行)

2

运行 60 秒,10 个竞争客户端

pgbench -c 10 -j 2 -T 60 -P 5 "postgresql://user:pass@host:5432/bench_test" # -c = 并发客户端 · -j = 线程 · -T = 持续时间(以秒为单位) · -P = 每 5 秒报告一次

3

读取结果

pgbench 在运行结束时显示 tps (每秒事务数),有或没有连接时间。注意比例因子、客户端数量和每次运行的持续时间——如果没有这三个参数,数字本身就没有任何意义。

#
sysbench-tpcc

更具代表性的事务工作负载

1

安装 sysbench 和 tpcc 插件

git clone https://github.com/Percona-Lab/sysbench-tpcc.git # 按照存储库的 README 编译插件

2

准备 TPC-C 数据集

./tpcc.lua --pgsql-host=主机 --pgsql-user=用户 --pgsql-password=pass \ --pgsql-db=bench_test --warehouses=10 准备

3

开始运行

./tpcc.lua --pgsql-host=主机 --pgsql-user=用户 --pgsql-password=pass \ --pgsql-db=bench_test --warehouses=10 --time=300 --threads=16 --report-interval=10 运行

Percona 于 2026 年 5 月发布了专门针对 PostgreSQL 的 sysbench-tpcc 调优指南 — 对于在运行代表性运行之前调优 shared_buffers 和 work_mem 非常有用。

#
解读

商品及服务税 (GST) 数字本身并不能证明什么

tps 取决于比例因子、并发客户端数量、底层硬件以及运行时处于活动状态的 Postgres 设置。即使在同一数据库上,使用不同参数获得的两个时间数据也不具有可比性。

为了将您的结果作为可重现的参考,请系统地记录:Postgres 版本、比例因子、客户端/线程数、运行持续时间和有效的 postgresql.conf 配置。请参阅我们完整的 基准测试方法,了解我们在发布数据之前应用的协议。

#
走得更远

在重新启动运行之前调整 Postgres

基准测试运行通常会在任何调整之前揭示出瓶颈——连接饱和、自动清理滞后、索引缺失。我们的 Postgres 生产中的调整清单 以及关于 max_connections 大小调整 的文章涵盖了重新启动运行之前要检查的设置。

#
常见问题解答

常见问题解答

pgbench 和 sysbench 有什么区别?+
pgbench 是 PostgreSQL 提供的官方工具:安装简单,默认工作负载接近 TPC-B。 sysbench 是一个更通用的基准测试工具,带有一个 sysbench-tpcc 插件,可以在 PostgreSQL 上重现 TPC-C 工作负载。
我们可以直接在 Aurabase 数据库上运行 pgbench 吗?+
是的,根据项目仪表板中提供的标准 Postgres 连接字符串。使用专用的测试基地,而不是您的生产基地。
tps 数据足以比较两个后端吗?+
不会。TPS 取决于并发客户端数量、数据集大小、底层硬件和 Postgres 配置。如果没有已发布且完全相同的方法,两个商品及服务税数据就无法进行比较。

准备好部署了吗?

五分钟内完成您的后端。

无需信用卡 · 500 MB 免费 · 50,000 MAU