mysql processlist 提示 Writing to net解决
2015-08-28 21:57
567 查看
mysql提示Writing to net解决
最近发现某一个数据库cpu占用比较过。超过200%了。
首先查看数据库慢日志,设定慢日志5秒,基本上没有产生日,没有超过5秒的语句。
show full 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 返回数据越过缓存超过默认设置。
Writing to net
The server is writing a packet to the network.
是一条语句查询结果比较多引起的,把整个数据库都拖住了。
最近发现某一个数据库cpu占用比较过。超过200%了。
首先查看数据库慢日志,设定慢日志5秒,基本上没有产生日,没有超过5秒的语句。
show full 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 返回数据越过缓存超过默认设置。
Writing to net
The server is writing a packet to the network.
是一条语句查询结果比较多引起的,把整个数据库都拖住了。
相关文章推荐
- mysql 执行show processlist出现很多大量的 ”unauthenticated user”的解决
- mysql
- mysql的二进制文件与主从复制
- MySQL数据库集群进行正确配置步骤
- 低成本和高性能的MySQL云数据库的实现
- mysql数据备份与还原命令
- mysql5.5.27安装步骤
- mysqlsla快速入门
- MYSQL异常处理日志:主从库同步延迟时间过长的分析
- 根据status信息对MySQL服务器进行优化
- 关键的十个MySQL性能优化技巧
- mysql连接的一些问题
- "is not allowed to connect" mysql
- mysql innodb死锁情况分析
- 11步教你选择最稳定的MySQL版本
- mysql的show status详解
- mysql建表-主键-索引-外键
- mysql笔记_158281924
- MySql主从复制配置示例
- mysql中varchar(N)中的N代表什么