免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: zcongwei
打印 上一主题 下一主题

急求,mysql 经常导致CPU使用率100%  关闭 [复制链接]

论坛徽章:
0
1 [报告]
发表于 2008-07-28 02:11 |显示全部楼层
从我看到的现象来看,机器速度慢主要是CPU在等待IO操作,这样的情况下主机的CPU性能还没有得到发挥就到达了瓶颈.因此个人认为要考虑的不是mysql,而是另外几个问题:
1.磁盘性能是否太低?这可以用复制大文件的方式来检查,如果得到的性能指标达不到你的期望,那就要检查一下硬件是否存在问题,考虑能否做些调整比如使用raid0或更换更快的存储设备;
2.是否有可能减少不必要的IO?这就要分析IO产生的原因:是内存数据的扇入扇出?是mysql读取和写入的操作?如果是前者,就需要考虑调整内存分配比例或者增加内存;如果是后者,就得从mysql的数据分布,表的规模,索引,读写同/异步,以及应用逻辑等各方面来考虑了;
3.如果有条件,把应用的文件系统和mysql的数据库文件系统,甚至mysql中读写比较频繁的表分离到不同的硬盘上去,对性能是肯定有帮助的.

    另:1G的内存为何要配10多G的SWAP?做为server,用swap比内存用得多的时候,性能恐怕已经低得让人忍不住直接重启了;另外内存的free似乎不少,mysql的内存使用率可以调大.

[ 本帖最后由 zhangjoto 于 2008-7-28 02:18 编辑 ]

评分

参与人数 1可用积分 +2 收起 理由
yueliangdao0608 + 2 不错,小奖励一下!

查看全部评分

论坛徽章:
0
2 [报告]
发表于 2008-07-28 13:38 |显示全部楼层
让我猜测一下楼主的主机,大概是一台普通PC做服务器,只有一块本地硬盘,所有的东西(包括操作系统,mysql,应用等)都在这块硬盘上?
如果是这样的话,楼主的IO问题基本上没有多大的调整余地了,这方面唯一还可以看看的就是hdparm是否起了作用.
剩下的就只有从应用和数据库两方面着手:
1.sql优化
2.表分区
3.减小关键的规模
3.优化mysql参数,尽可能让查询动作利用内存就可以完成
总而言之核心思想就是尽可能的减小IO

论坛徽章:
0
3 [报告]
发表于 2008-07-28 22:21 |显示全部楼层
原帖由 zcongwei 于 2008-7-28 20:08 发表



呃,不是一台普通pc. 是一台一般的1U服务器
托管在某一个城市的电信机房,哎,现在就一个论坛都搞得经常很慢

不过是只有一块IDE硬盘,确实如你所说所有的东西(包括操作系统,mysql,应用等)都在这块硬盘 ...


如果这样的话,提高IO性能基本是没有多大余地了,楼主还是走降低IO需求的方向,按各位牛人的提示把精力放在数据库优化和语句优化上(不知道你的应用有没有缩减数据规模的可能,也会有所帮助)吧.
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP