Chinaunix首页 | 论坛 | 博客
  • 博客访问: 127257
  • 博文数量: 19
  • 博客积分: 56
  • 博客等级: 民兵
  • 技术积分: 166
  • 用 户 组: 普通用户
  • 注册时间: 2010-05-28 16:31
个人简介

不知道干嘛。不知道说啥。什么都没有!

文章分类

全部博文(19)

文章存档

2015年(1)

2014年(6)

2013年(12)

我的朋友

分类: LINUX

2013-05-24 00:39:00

最近发现某一个数据库cpu占用比较过。超过200%了。
首先查看数据库慢日志,设定慢日志5秒,基本上没有产生日,没有超过5秒的语句。
show processlist;
后发现几条select有几个表查询需要1-2秒,
explain select * from xxx ,发现没有走索引,全表扫描,以前数据量少那会很快就出来了,目前查询总数据都在2万以内,现在数据量大了,其它表都1000w级了,以前只优化了大表的索引,所以问题就突出了。索引建完后CPU明显示下降,据我了解,msyql   cpu占用高,80%的情况未使用索引有关。

在次show processlist
发现多条语句状态为Writing to net
通过分析基本都是select 语句,都是查询数据太数据库返回网络回写不赢,
查看show global variables like "global max_allowed_packet"  只有1M

通过增加缓存
set global max_allowed_packet =134217728

问题得到解决!原因是多条select 返回数据越过缓存超过默认设置。
阅读(2762) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~