网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

MysqlToomanyconnections解决方案

Too many connections
从字面理解,MySQL连接数过多。当连接数量过多,且来不及释放时便会出现此错误。

创新互联建站专注为客户提供全方位的互联网综合服务,包含不限于网站建设、成都网站设计、广元网络推广、成都小程序开发、广元网络营销、广元企业策划、广元品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;创新互联建站为所有大学生创业者提供广元建站搭建服务,24小时服务热线:18982081108,官方网址:www.cdcxhl.com

查看mysql当前连接信息,特别要注意sleep休眠状态的连接。

show full processlist;

Command 状态:

  • SLEEP
    线程正在等待客户端发送新的请求。
    1. QUERY
      线程正在执行查询或者正在将结果发送给客户端。 
  • LOCKED
    在MYSQL服务层,该线程正在等待表锁。在存储引擎级别实现的锁,如INNODB的行锁,并不会体现在线程状态中。对于MYISAM来说这是一个比较典型的状态。但在其他没有行锁的引擎中也经常会出现。ANALYZING AND STATISTICS 线程正在收集存储引擎的统计信息,并生成查询的执行计划。
  • COPYING TO TMP TABLE (ON DISK)
    线程正在执行查询,并且将其结果集都复制到一个临时文件中,这种状态一般要么是在做GROUP BY操作,要么是文件排序操作,或者是UNION操作。如果这个状态后面还有ON DISK的标,那表示MYSQL正在将一个内存临时表放到磁盘上。
  • SORTING RESULT
    线程正在对结果集进行排序。
  • SENDING DATA
    线程可能在多个状态之间传送数据,或者生成结果集,或者在向客户端返回数据。

查看mysql设置的最大连接数

show global variables like 'max_connections';

服务器响应的最大连接数

show global variables like 'max_user_connections';

建议:服务器响应的最大连接数值占服务器上限连接数值的比例值在10%以上,如果在10%以下,说明mysql服务器最大连接上限值设置过高。

max_user_connections/max_connections * 100% >=10%

如果最大连接数量没问题,而sleep休眠状态的连接过多,则应该从两方面注意:

  • 1。 wait_timeout 空闲等待超时时间
  • 2。 interactive_timeout 交互超时时间(通过mysql客户端连接数据库是交互式连接)

需要主题:wait_timeout设置过大有弊端,其体现就是MySQL里大量的SLEEP进程无法及时释放,拖累系统性能。如果设置过小,可能会遭遇到“MySQL has gone away”之类的问题。

要想从根本上解决sleep过多的问题,需从以下面三点排查:

  • 1。程序连接mysql,不使用持久链接。即使用mysqli_connect而不是pconnect。
  • 2。程序执行结束,主动显式调用mysqli_close来释放连接资源。
  • 3。解决程序中的SQL慢查询语句。

最后快速解决过程

set GLOBAL max_connections = 500;
set GLOBAL wait_timeout = 300;
set GLOBAL interactive_timeout = 600;

本文名称:MysqlToomanyconnections解决方案
文章路径:http://bjjierui.cn/article/giedod.html

其他资讯