调整autovacuum以更新重表

时间:2018-01-02 12:59:31

标签: postgresql vacuum autovacuum

我有一张非常重要的表。 问题是表格增长很多,因为autovacuum无法赶上。 autovacuum每2分钟启动一次,因此它正在运行文件。

我有一个应用程序,每隔60-70秒进行50k更新(以及一些插入)。

我每周都被迫做CLUSTER,这不是IMO的最佳解决方案。 我的autovacuum设置如下(加上相关):

maintenance_work_mem = 2GB
autovacuum_vacuum_cost_limit = 10000
autovacuum_naptime = 10
autovacuum_max_workers = 5
autovacuum_vacuum_cost_delay = 10ms
vacuum_cost_limit = 1000
autovacuum_vacuum_scale_factor=0.1 # this is set only for this table

以下是autovacuum日志:

  

2018-01-02 12:47:40.212 UTC [2289]日志:桌子的自动真空   “mydb.public.sla”:索引扫描:1页:0删除,21853剩余,1   由于引脚跳过,0跳过冻结的元组:28592已移除,884848   保持,38501已死但尚未移除缓冲区使用情况:240395   点击率,15086次未命中率,22314脏污平均读取率:29.918 MB / s,平均   写入速率:44.252 MB / s系统使用率:CPU 0.47s / 2.60u秒消耗3.93   秒

在我看来,考虑到我的硬件非常好,29 MB / s是低的方式

我有英特尔NVMe设备,我的I / O似乎没有饱和。

Postgresql版本:9.6
CPU:双Intel(R)Xeon(R)CPU E5-2620 v4 @ 2.10GHz

任何想法如何改善这个?

0 个答案:

没有答案