加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

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

发布时间:2020-12-12 16:57:21 所属栏目:MsSql教程 来源:网络整理
导读:我试图修复一个高PostgreSQL CPU使用问题.我们正在使用PostgreSQL 8.0.9,当我们的JEE Web应用程序(在JBoss中)用于某些负载增加条件时,top表明PostgreSQL的进程缓慢增加.当问题发生时,大约有12-15个PostgreSQL进程都在进程信息的最右边显示SELECT,每个进程大约
我试图修复一个高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几天.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读