mysql中sleep连接过多,Ufiner查询无数据-创新互联
一大早上就接到浩子的QQ袭扰,说现场移动的人一堆的投诉,说dms连不上,查询没有数据,都快把他的电话打爆了。
业务包括:企业网站建设、手机网站制作、商城开发、网站营销推广等服务,并且涵盖主机域名、网络空间、云服务器、等互联网基础服务;成都创新互联公司联建站以互联网的创新理念,成熟完善的建站体系,开拓进取的精神,专业的解决方案和顾问咨询服务,帮助客户在互联网时代提升形象、把握商机、实现价值,提高企业的核心竞争力。赶紧让浩子登到数据库服务器,确认数据库没有挂掉,进入数据库使用 show processlist发现有大量sleep进程,感觉很奇怪,怎么会有这么多sleep进程。
看到IP集中在内网地址176上,登到176根据对应的端口号查看也不是应用程序出问题了,检查发现也很正常。
看了一下大连接数,设置的有点小,修改配置增加到1000,重启数据库后,sleep暂时消失,很快又有了许多sleep进程。
网上找了一下原因,
1. 使用了太多持久连接
2. 程序中,没有及时关闭mysql连接
3. 数据库查询不够优化,过度耗时。
找浩子详细聊了下,移动很多用户查完数据都不会关掉Ufiner,甚至整天都不会关,造成大量进程占用。这就无语了,现实情况是咱也不能限制对方这么使用,好吧想到设置做个时间限制。
网上搜到就是设置下面两个参数的值,就是在过期时间后自动清除sleep连接
interactive_timeout:
参数含义:服务器关闭交互式连接前等待活动的秒数。交互式客户端定义为在mysql_real_connect() 中使用CLIENT_INTERACTIVE选项的客户端。
参数默认值:28800秒(8小时)
wait_timeout:
参数含义:服务器关闭非交互连接之前等待活动的秒数。
参数默认值:28800秒(8小时)
在配置文件/etc/my-ib.cnf的[mysqld]选项添加这两个参数,重启服务器,观察一段时间后问题解决。
另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
当前名称:mysql中sleep连接过多,Ufiner查询无数据-创新互联
网页地址:http://pwwzsj.com/article/dgpeho.html