我正在尝试了解如何监视和调整PostgreSQL性能。我开始探索表pg_stat_all_tables
,pg_stat_statements
以便收集有关活动的元组,元组的死亡信息,最后自动清理的时间等大约有一些有用的信息n_live_tuples
(接近实际行表计数)和n_dead_tup
UTIL我运行pg_stat_reset
查询。我有一些奇怪的结果之后-有少n_live_tup
比n_dead_tup
。我找不到有关为什么和何时(某些用例)运行pg_stat_reset
查询的任何文章/文档。有人可以向我解释一下还是提供一些有用的资源?
可以pg_stat_reset()
不定期运行(例如每月一次),以获取有关数据库中正在发生的事情的最新视图。
但是不要经常这样做,因为它有一个缺点:与系统相关的自动真空处理依赖于这些统计信息,因此,如果这样做,您将错过几次自动真空(和自动分析)运行。在您的数据库中,这可能是问题,也可能不是问题,但是无论如何我都不会经常这样做。如果您可以手动,VACUUM
并ANALYZE
调用数据库之后pg_stat_reset()
。
,没有这样的问题pg_stat_statements_reset()
,因此请尽可能多地运行它。
对您而言,最好的是拥有一个监视软件,该软件会定期检查统计信息的值并为您提供开发情况(与上次运行的差异)。这样一来,您就不必重置统计信息了,而且仍然可以很好地了解正在发生的事情。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句