pg_test_timing 是一个 contrib 模块,提供了一个用于测量计时开销并确认系统时间永不回退的工具。
pg_test_timing 在 PostgreSQL 9.2 中被添加。
用法
pg_test_timing 提供了一个可执行二进制文件 pg_test_timing,它会收集指定间隔(由 -d/--duration 指定,默认为 3 秒)的计时信息,并将结果显示为计时时长直方图。
根据文档,一个好的结果是 90% 或更多的单个计时调用花费的时间少于一微秒 (μs)。
pg_test_timing 的结果在考虑是否启用以下 GUCs 时很有用:
变更历史
- PostgreSQL 9.3
- 输出改进(提交 0f3351aa)
- PostgreSQL 9.2
- 添加(提交 cee52386)
示例
pg_test_timing 的基本执行示例
$ pg_test_timing
Testing timing overhead for 3 seconds.
Per loop time including overhead: 21.38 ns
Histogram of timing durations:
< us % of total count
1 97.86564 137331775
2 2.13358 2993985
4 0.00051 716
8 0.00010 142
16 0.00011 160
32 0.00005 69
64 0.00000 4
128 0.00000 2
参考资料
- PostgreSQL 文档: pg_test_timing
