我的postgresql服务器似乎间歇性地下降。我前面有PgBouncer池,所以网站点击管理得很好,或直到最近。
当我通过top
命令探索了什么时,我看到postmaster
做了一些CLUSTER
。但是我的任何一个cronjobs中都没有集群命令。这是最近被称为autovacuum
的内容吗?
我怎样才能开始了解发生了什么。什么命令是PGSQL DBA工具箱中常用的技巧?我对这个数据库有点新意,只是寻找起点。
谢谢!
答案 0 :(得分:3)
不,autovacuum永远不会运行CLUSTER
。你的系统上有一些东西可以做 - 守护进程,cron作业等等。检查个人用户crontabs。
CLUSTER
对表进行独占锁定。所以,这可能就是为什么你认为这个系统正在下降" - 访问此表的所有查询都将等待CLUSTER
完成。
人们报告间歇性问题的另一个常见原因是检查点在慢速磁盘上花费很长时间。您可以启用检查点日志记录以查看是否存在问题。有很多关于检查点性能问题的现有信息,所以我不会在这里重复。
其他关键工具是:
pg_stat_activity
和pg_locks
观看次数pg_stat_statements
log_line_prefix
,log_checkpoints
,log_min_duration_statement
等auto_explain