
我現在正在客戶的專用伺服器上使用 PHP 網站,並且定期收到錯誤,too many connections
但大約 5 個用戶正在瀏覽此頁面。
在phpMyAdmin
我可以看到該max connections
變數設定為400
.
在我公司的本機 MySQL 伺服器上,我們已max connections
設定為200
和其他夥伴同時使用該伺服器。
我聽說在他們的伺服器上,其他一些網站正在使用相同的 MySQL,流量很大。
這是我的問題:
- 如何調試這個問題?
- 我可以查看過去 10 分鐘內執行的一些 SQL 查詢清單來檢查這是我們的問題還是他們的問題?
答案1
您描述的症狀表明存在持續連接。在某些設定中,PHP 無法很好地處理持久連接:它傾向於開啟新連線而不是重複使用現有連線。我建議您停用此功能並查看問題是否仍然存在:
- 在程式碼層級:查找對mysql_pconnect()並將它們替換為mysql_connect()。
- 在配置層級:找到mysql.allow_persistent指令並將其設為 false。
如果您發現有所改善,您可以嘗試微調持續呼叫或永久刪除它們。