首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Postgresql AUTOVACUUM分析指定表的参数

Postgresql AUTOVACUUM分析指定表的参数
EN

Database Administration用户
提问于 2014-05-21 11:44:06
回答 1查看 284关注 0票数 2

我想为指定的表设置自动真空参数。

我的问题是,AUTOVACUUM在一张小桌子上的分析需要很长时间才能完成。该表只有2列(包括主键)和150行,但它经常更新。每一行在客户端进程启动后每分钟更新一次。

我发现这张桌子上的自动真空过程需要20秒。根据我目前所理解的,这是因为自动真空过程没有像它应该的那样频繁地执行。

以下是服务器配置上设置的参数:

代码语言:javascript
复制
autovacuum_analyse_threshold => 50
autovacuum_analyse_scale_factor => 0.1

你建议我在这张桌子上具体设置什么参数?

提前谢谢。

更新1:在生产过程中,自动真空分析过程每2分钟在这张桌子上运行一次,需要超过10s。

更新2:表格大小为15998页。

UDPATE 3:我有99个用户(客户端连接)每15秒更新一次表。

EN

回答 1

Database Administration用户

发布于 2014-05-22 16:39:46

由于您的表有15998页,但只有150行,所以它必须非常臃肿。一次VACUUM FULLCLUSTER应该可以解决这个问题。那么问题将是,它是否会再次膨胀。

为了使其更具侵略性,您可能需要降低autovacuum_naptime (除非您已经这样做了),因为它已经非常频繁地被清除。

10秒大约需要多长时间来分析在默认的autovac节流设置下这样大小的表。但在这种情况下,很难相信它正在消耗大量的CPU时间。你测量过CPU的使用量了吗?

锁干扰了什么?如果您经常运行与分析相冲突的命令,这可以解释为什么表一开始就会膨胀。

票数 1
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/65561

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档