我目前正在清理一个包含2个索引和2.5亿个活动行以及大约尽可能多的死行(或更多)的表.我从我的客户端计算机(笔记本电脑)向我的服务器发出了命令VACCUM FULL ANALYZE.它在过去3-4天左右开展业务;我想知道它是否会很快结束,因为我还有很多工作要做!
该服务器具有四码Xeon 2.66 GHz处理器,12 GB或RAM以及RAID控制器,该控制器连接到RAID 1配置中的2 x 10K rpm 146 GB SAS HD;它正在运行Suse Linux.我想知道…
现在,首先VACUUM postmaster流程似乎只使用一个核心.其次,我没有看到对I / O空闲时间比率的非常高的I / O写入.第三,通过调用procinfo,我可以推断VACUUM进程花费大部分时间(88%)等待I / 0.
那么为什么不通过线程使用更多内核来使RAID控制器过载(获得高I / O写入空闲比率)?如果I / O负载不高,为什么还在等待I / O?为什么手指上的所有这些功率/资源都不会更快?在我看来,VACUUM可以而且应该是多线程的,特别是如果它在一个巨大的桌子上工作,它是唯一一个工作!
另外,他们是一种配置postgresql.conf以让它多线程化这样的VACUUM的方法吗?我可以杀死它并仍然可以从部分清理中获益吗?我需要在那张桌子上工作.
[我正在使用Postgresql 8.1]
谢谢了
解决方法
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。