• 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)客户端由于某些原因被干掉了。

  • 相关阅读:
    大话GridView—(1) 编辑、删除、查看详情、分页
    『协议』XMLRPC 协议规格说明
    『ExtJS』01 009. ExtJS 4 方法重载
    [SQL2005触发器学习]3、Instead Of触发器
    [SQL2005触发器学习]1、初识触发器
    禁止.NET程序多开
    面试遇到的面试题分析
    关于Page,Master,UserControl的初始化及加载顺序
    ASP.NET 下关于ACCESS连接字符串的配置
    [SQL2005触发器学习]2、After触发器
  • 原文地址:https://www.cnblogs.com/mysic/p/8144502.html
Copyright © 2020-2023  润新知