php 获取所有连接失败,PHP从MySQL获取太多连接错误

我正在将MySQL和PHP与2个应用程序服务器和1个数据库服务器一起使用.

随着用户数量的增加(到现在大约有1000个),出现以下错误:

SQLSTATE[08004] [1040] Too many connections

在my.cnf中将参数max_connections设置为1000,在php.ini中将mysql.max_persistent设置为-1.

由于MaxClients apache参数等于750,因此一次最多可运行1500个apache进程,并且我们有2个应用程序服务器.

>是否应将here的max_connections提升到1500?

>还是应该将mysql.max_persistent设置为750(出于性能原因,我们将PDO与持久连接一起使用,因为数据库服务器与应用程序服务器不同)?

>还是应该尝试其他方法?

提前致谢!

解决方法:

我认为您的连接关闭速度不够快,并且它们会一直堆叠,直到达到默认时间为止.我遇到了同样的问题,并且使用wait_timeout解决了问题.

您可以尝试在my.cnf中进行设置

set-variable = max_connections=1000 // max connection

set-variable = max_user_connections=100 // max user connection per hour

wait_timeout = 60 // wait timeout for connection in seconds

因为将在60秒后终止所有现有连接

标签:mysql,php,mysql-error-1040

来源: https://codeday.me/bug/20191106/1999794.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值