我最近將我的 PHP 應(yīng)用程序遷移到了使用 PHP 7.3 和 MariaDB 的新服務(wù)器(之前是 PHP 5.5 和 MySQL 5.5)。我遇到一些“連接過多”錯誤的問題。我想我的應(yīng)用程序必須改進(jìn)才能糾正這個問題。為此,我使用以下值更改了 mariaDB 服務(wù)器配置:max_connections = 600connect_timeout = 5wait_timeout = 60interactive_timeout = 60盡管有這些增強功能,我仍然遇到同樣的問題,一些休眠進(jìn)程仍然存在,時間超過 60 秒...并且線程數(shù)正在增加...直到 max_coonections 值。當(dāng)然,我已經(jīng)重新啟動了服務(wù)器。我的 PHP 應(yīng)用程序使用 Mysqli 和持久連接。
3 回答

大話西游666
TA貢獻(xiàn)1817條經(jīng)驗 獲得超14個贊
最后我發(fā)現(xiàn)問題出在服務(wù)器的安裝上。我曾經(jīng)像往常一樣更改 my.cnf,并且有些變量在每次重新啟動時都會更改,而其他變量則不會更改。
我意識到還有另一個conf文件,并且該文件或verwrite了我在my.cnf文件中對某些變量所做的更改...現(xiàn)在我更改了好的文件,并且服務(wù)器正在正常工作。
因此,如果 mariaDB 忽略您在 conf 文件中的更改,請檢查是否還有其他文件。

吃雞游戲
TA貢獻(xiàn)1829條經(jīng)驗 獲得超7個贊
雖然增加可能會帶來好處max_connections
,但只會讓事情變得更糟。聽起來你們之間有很多聯(lián)系,互相絆倒——沒有一個能完成。
看看SHOW PROCESSLIST
。具有最大“時間”(“系統(tǒng)”進(jìn)程除外)的非睡眠進(jìn)程之一可能是主要的罪犯。
如果進(jìn)程列表顯示超過 30 個非“睡眠”連接,則降低max_connections
超時時間。這些將有助于疏通系統(tǒng),但無法解決問題的根源。
“原因”通常是一個或幾個長時間運行的查詢阻塞了其他連接。
- 3 回答
- 0 關(guān)注
- 216 瀏覽
添加回答
舉報
0/150
提交
取消