数据库 – 如何最好地管理高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几天. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |