🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
[TOC] ## pgbench 对 pgsql 进行压力测试 ## 示例 ## 示例 1. 创建测试数据库 使用以下命令创建一个名为 `testdb` 的测试数据库: ``` createdb testdb ``` 2. 初始化测试数据库 使用以下命令初始化测试数据库: ``` pgbench -i testdb ``` 该命令会在测试数据库中创建必要的表和数据。 3. 运行测试 使用以下命令运行测试: ``` pgbench -c <concurrency> -t <transactions> testdb ``` 其中 `-c` 参数指定并发用户数, `-t` 参数指定每个用户执行的事务数量。例如,以下命令将使用 10 个并发用户执行每个用户 100 次事务: ``` > pgbench -c 10 -t 100 testdb starting vacuum...end. transaction type: <builtin: TPC-B (sort of)> scaling factor: 1 query mode: simple number of clients: 10 number of threads: 1 maximum number of tries: 1 number of transactions per client: 100 number of transactions actually processed: 1000/1000 number of failed transactions: 0 (0.000%) latency average = 4.507 ms initial connection time = 27.379 ms tps = 2218.943117 (without initial connection time) ``` 测试完成后,pgbench 会输出以下结果: * TPS:每秒钟完成的事务数。 * Latency:每个事务的平均延迟时间。 * Errors:出现的错误数。 4. 分析结果 根据 pgbench 输出的结果,可以评估 PostgreSQL 数据库的性能和吞吐量。通常,较高的 TPS 和较低的延迟表示更好的性能。 此外,还可以通过修改 pgbench 的参数来测试不同的场景和负载。例如,可以使用不同的并发用户数和事务数量来模拟不同的应用程序负载情况。