我有一個WordPress的3.5.1站點獲得一點點的流量(80個併發訪問者,每秒約5次點擊/瀏覽量)。該網站運行良好,直到它達到約85人。通常有4個管理員同時登錄。該網站有8個自定義帖子類型 - 帖子有3500個帖子,新聞發佈(自定義帖子類型)有13000個帖子。所有這些都是在網站上分頁的,所以在任何一個頁面上都不會有超過20個帖子。WordPress的網站 - 錯誤連接到數據庫 - 只有在高流量
我使用的唯一插件是wp-pagenavi和w3totalcache。
我將WP_DEBUG_LOG設置爲true並記錄了錯誤。我得到的主要錯誤(除了與此問題無關的各種通知和警告),mysql已達到max_user_connections限制。我試圖把它設置得更高,但是CPU無法處理負載(4個四核CPU,每個2.17GHz,4GB的RAM)。
什麼可能導致這麼多的連接?
我查看了錯誤發生時運行的mysql進程,並且有很多連接表示「SLEEPING」或「SLEEP」(可能是15-20)。我還注意到通過進程日誌,httpd在交通高峯期間經常重啓。
有關如何解決問題的任何想法?
注意:如果您的答案是檢查我的wp-config.php文件並確保我的用戶名,密碼和主機是正確的,請不要回復。這不是問題。該網站在正常流量下正常工作。
檢查第一個答案這個問題http://stackoverflow.com/questions/9083060/mysql-kill-sleep-connections。 – 2013-04-25 18:25:32
這聽起來像一個選項(即減少wait_timout變量),但是這會帶來什麼影響?這會開始殺死實際使用的連接嗎?我想確保管理員在嘗試編輯某些內容時不會被踢出。另外,將這個變量設置爲什麼是合理的數字? – codescribblr 2013-04-25 19:07:30
這不會影響登錄的用戶會話。您的問題可以在服務器默認情況下更好地解決,因爲它與更多的服務器設置相關檢查這個答案關於同一主題,以獲得更好的主意:http://serverfault.com/a/71379。 – 2013-04-25 21:05:47