- 论坛徽章:
- 0
|
大家好,请教大家一个慢速日志的问题.
我们网站每天有500W的PV,我用 SELECT start_time,query_time,lock_time,rows_sent,rows_examined,sql_text
FROM `slow_log`
ORDER BY `slow_log`.`start_time` DESC
查询出来的结果截图如下(每天大约有7W条类似这样的慢速日志):
1:dealLeaveWord表,对wareId,userId建立的有复合索引.这张表一共有680W的记录.
2:userInfo表,id是自增的主键,这张表一共有90W数据.
3:userMoney表,有485W数据.
以上这三张表都是innodb类型,而且所有的慢速日志(我设置的是3秒以上就记日志)都是innodb的查询.这三张表是很重要的表,短期内没有改成myisam的打算.
我的服务器的操作系统是centos5,内存32G(全部被用完了),硬盘空间还有50%空闲,只跑这个mysql服务
mysql的版本是5.1.15-beta-log,目前暂时不能换高版本的mysql,我们曾经换过一次,但有些查询明明用到索引了(在当前版本的mysql),可是在高版本的mysql里就说没有用到索引,造成全站很慢,最后不得已换回去了.
my.cnf上关于innodb的设置如下:
innodb_buffer_pool_size = 2G
innodb_additional_mem_pool_size = 64M
innodb_log_file_size = 256M
innodb_log_buffer_size = 32M
innodb_flush_log_at_trx_commit = 2
innodb_lock_wait_timeout = 50
用iostat -x 3查看iowait的使用一般都是5%以内,偶尔会跳到15%.
请大家给我一些建议,先谢了. |
|