使用laravel 5.4时mysql连接太多错误

62o28rlo  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(531)

我有一个laravel5.4web应用程序运行在一个共享主机(a2hosting)上,偶尔我会得到一个 SQLSTATE[08004][1040] Too many connections 错误。有时需要几分钟才能重新开始工作,有时需要几个小时。
我试过几种方法来诊断这个问题,并试图解决它,但到目前为止没有任何效果。 max_connections 设置为500和 wait_timeout 设置为8小时。
如果我在错误仍然弹出时登录mysql cli并列出活动进程,它显示的进程不超过10~15个。
另外,这个系统只有大约30个人在使用,所以我不知道为什么可以达到最大连接数(也许php因为某种原因没有关闭一些连接?)。
有人遇到过这样的错误吗?如果是的话,你做了什么来修复它?还有什么可能导致错误以及如何防止/修复错误的想法?
如果有助于诊断问题,我可以提供有关我的laravel应用程序、db和服务器的更多信息。

kuhbmx9i

kuhbmx9i1#

可能原因:
“连接池”已打开(在某处),并且设置得太高。
web服务器的“子项”太多;降低它的极限。
可能存在需要优化的“慢”查询。
连接完成后无法“断开”。
减少,而不是增加, wait_timeout .
有多个 wait_timeout 设置;你换错了。
增加同时连接的数量会使整体性能变差。

相关问题