真空分析运行速度非常慢,导致其他系统超时

时间:2013-06-05 11:56:17

标签: .net postgresql

我正在运行PostgresSQL 8.3.3。每晚都会对数据库进行真空分析。每张桌子大约需要5分钟才能完成(大或小)。最初这个过程花费了现在的1/3。在执行真空时,其他数据仍然通过.net Windows服务插入。该服务最近开始记录连接超时。

有没有办法弄清楚导致真空分析运行缓慢的原因和/或导致超时的原因?我怀疑他们是相关的。

1 个答案:

答案 0 :(得分:3)

嗯,版本8.3已经过期,所以无论如何你都希望尽快升级。

该版本确实支持autovacuum,据我从文档中可以看到,如果配置正确,应该倾向于控制事物。但是,突发活动和/或索引膨胀可能会给您带来一些问题。

最简单的解决方案是转储数据库并恢复。如果您有足够的时间这样做,它将在整个过程中打包整个数据库。然后,对表/索引大小进行一些常规(每日/每周)监视。还要在机器上添加一些基本的一般活动监控(cpu / memory / disk)。

如果需要,您可以使用REINDEXCLUSTER采取纠正措施。

如果您一次在一个表上运行VACUUM VERBOSE,您将看到有关使用/可以释放/无法释放的磁盘页面的一些统计信息。如果出现问题,应该很明显。

最后,请花些时间在方便的位置规划升级。最新版本是9.2,包含许多性能和管理改进。