mysql提示Writing to net解决mysql
最近发现某一个数据库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 返回数据越过缓存超过默认设置。sql
Writing to net
The server is writing a packet to the network.
是一条语句查询结果比较多引发的,把整个数据库都拖住了。
数据库