Err: 1040: Too many connections 真正解决方法

问题现象:
出现 DateBase Err: 1040: Too many connections 


解决过程
第一反应,修改MYSQL 的参数 max_connections=4087

原来问题出在PCONNECT
PCONNECT是不会在查询完成后就关闭,而是会等待一定时间,这个时间可以由MYSQL上的wait_timeout设定
而且mysql_close并无法关闭pconnect所开启的连线,只能关闭connect所开启的资料库连线。当然如果没有CLOSE在经过TIMEOUT时间之后也是会被DB DROP掉。
PCONNECT必须要小心使用,在写的不好的CODE中,会残留一大批的DATABASE CONNECTION。
最大值可以这样计算每台SERVER的APACHE行程数 * 所有WEB SERVEWR数量,每个连线都会消耗DB的CPU TIME与MEMORY
PCONNECT是傻瓜式的模拟连接池的方法,系统负载会疯狂上升。

解决方法:
修改php.ini参数为
[MySQL]
; 允许或阻止持久连接.
mysql.allow_persistent = Off
修改my.cnf参数为
max_connections = 600 (建议600~1000 一般大于apahce的MaxClients )
wait_timeout = 5
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值