Postgresql Postgres查询生产服务器上的性能监视
我的目标是识别慢速查询,这可以使用慢速查询日志来完成,即将postgresql.conf中的超时时间增加到100ms(可接受的查询时间),然后识别慢速查询 这有很多问题,其中一个问题是在这段时间内查询速度很慢,但再次运行时速度会更快。最好的方法是获得平均值,然后处理平均速度较慢的查询 这需要Postgresql Postgres查询生产服务器上的性能监视,postgresql,postgresql-performance,Postgresql,Postgresql Performance,我的目标是识别慢速查询,这可以使用慢速查询日志来完成,即将postgresql.conf中的超时时间增加到100ms(可接受的查询时间),然后识别慢速查询 这有很多问题,其中一个问题是在这段时间内查询速度很慢,但再次运行时速度会更快。最好的方法是获得平均值,然后处理平均速度较慢的查询 这需要pg_stat_语句扩展,该扩展应该会导致10%的服务器性能下降,从这篇博文中可以看出,这篇博文非常陈旧,事情可能已经有所改进 我的问题 关于pg_stat_statements扩展对性能的影响,我找不到任
pg_stat_语句
扩展,该扩展应该会导致10%的服务器性能下降,从这篇博文中可以看出,这篇博文非常陈旧,事情可能已经有所改进
我的问题
- 关于pg_stat_statements扩展对性能的影响,我找不到任何权威来源。这在最近的版本中可以忽略不计吗
- 如果它确实会对性能造成影响,那么备份/导出pg_stat_语句所需的系统表,然后在单独的机器中脱机分析就足够了吗?也许,是否有自动执行此操作的扩展/模块
- 也欢迎任何替代解决方案
pg_bench
进行快速测试可能已经足够了。我不明白为什么你需要备份系统表来分析它们。如果有开销的话,那就是记录语句,很可能不是查询语句。@a_horse_和_no_name:关于备份部分,你是对的,我没有注意到。关于检查它慢了多少,我们还没有投入生产,因为pg_stat有点普遍实用,我想知道是否有任何已知的影响,但是的,我肯定想运行,看看它对我的设置有多慢。这个工具可能是一个替代方法:你可以将Postgres发送到,然后将服务器日志馈送到,这会吐出一些漂亮的HTML报告。拥有每个查询的记录对于调试来说也是非常宝贵的。但是,如果记录所有内容的开销太大,可以使用log\u min\u duration\u语句
设置将其限制为长时间运行的查询。