数据库 – 如何最好地管理高PostgreSQL CPU使用?

前端之家收集整理的这篇文章主要介绍了数据库 – 如何最好地管理高PostgreSQL CPU使用?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图修复一个高Postgresql cpu使用问题.我们正在使用Postgresql 8.0.9,当我们的JEE Web应用程序(在JBoss中)用于某些负载增加条件时,top表明Postgresql的进程缓慢增加.当问题发生时,大约有12-15个Postgresql进程都在进程信息的最右边显示SELECT,每个进程大约有6-7%的cpu使用率,然后应用程序放慢了很多.
JBoss版本:JBoss(MX MicroKernel)4.0.3
操作系统:CentOS Linux 5.5
内核和cpu:x86_64上的Linux 2.6.18-194.26.1.el5
处理器信息:2 x Intel(R)Xeon(R)cpu E5420 @ 2.50GHz,8核
目前,我们的想法是投入更多的硬件.如果我们这样做,最好的选择是下面的选项A还是选项B?
选项A:4个AMD Opteron™6100系列处理器,每个处理器有12个核心
选项B:4个Intel®Xeon®7500系列处理器,每个处理器有8个核心
假设带有Postgresql 8.0.9的CentOS Linux 5.5可以通过增加这么多处理器和内核(每个有12个内核的Ex.4处理器)按比例扩展,这是正确的吗?在投入更多硬件方面我还应该考虑其他什么吗?

解决方法

问题无法回答,我们不知道发生了什么.你说的是12-15个连接,这几乎没有.但是,当执行非常复杂的查询,或者使用错误数据库模式,缺少索引等时,cpu使用率可能会随时上升.

版本8.0.9是严重的问题,8.0是EOL截至2010年10月,最新的修复版本是8.0.26(8.0.9之后的4年错误修正).你应该至少更新到这个版本,修复8.0中的许多错误.

开始记录查询,使用EXPLAIN查看查询计划,查看VACUUM,您可能还需要REINDEX.你的硬件现在看起来很好,你首先要找到问题的根源.

考虑雇用一个Postgresql dba几天.

猜你在找的MsSQL相关文章