zoukankan      html  css  js  c++  java
  • mysql 连接超时的问题

    项目中用mycat做的分表分库,异步通知系统会连接mycat去查数据库数据,有时会抛异常提示mysql server has gone away。最初以为是mycat的问题,在修改了mycat的配置,缩短心跳时间,增加空闲超时时间后,发现问题仍然存在。说明问题在mysql上,经过咨询后发现是mysql的最大连接数用的是默认值:151,这个太小,现已修改为1000。并修改max_allowed_packet  = 20M

    本次排查涉及到的一些参数:

    mysql> show variables like ‘%connect%’; 

        max_connections                                                 MySQL服务实例能够同时接受的的最大并发连接数

    mysql> show status like ‘%connections%’;

        Connection_errors_max_connections                 当MySQL的最大并发数大于系统变量(show variables)中max_connections的最大并发数,因此而被拒绝的次数

        Max_used_connections                                       MySQL从启动至今,同一时刻并发的连接数最大值。如果这个值大于 max_connections则表明系统经常处于高并发的状态,应该考虑调大最大并发连接数。

    mysql> show variables like ‘thread%’;

        thread_cache_size                                              MySQL线程的缓存池(thread cache pool),将空闲的连接线程放入连接池中缓存起来,而非立即销毁。当有新的连接请求时,如果连接池中有空闲的连接,则直接使用。否则要重新创建线程。

    mysql> show status like '%Abort%';

        Aborted_clients                                                   当ablort clients增大的时候意味着有客户端成功建立连接,但是很快就断开连接或者被终止了,这种情况一般发生在网络不稳定的环境中。主要的可能性有

                                                                                    a)客户端没有主动关闭mysql连接mysql_close()。

                                                                                         b)wait_timeout设置很短被mysql干掉了。

                                                                                         c)客户端由于某些原因被干掉了。

  • 相关阅读:
    vagrant up报错 Warning: Authentication failure. Retrying...解决方案
    node读写Excel操作
    批量转换word为pdf
    分享7个shell脚本实例--shell脚本练习必备
    shell脚本实例,通向shell脚本大师的必经之路
    前端优化DNS预解析
    如何选择开源协议
    深入理解document.referrer的用法
    使用 WebRTC 构建简单的前端视频通讯
    深入理解WebRTC
  • 原文地址:https://www.cnblogs.com/mysic/p/8144502.html
Copyright © 2011-2022 走看看