2013-01-07 40 views
0

我排查一系列重複的錯誤:WordPress database error MySQL server has gone away for query ...MySQL的WAIT_TIMEOUT和WordPress

我想我已經找到了解決辦法here但它是一個幾十歲,我想更好地瞭解MySQL的WAIT_TIMEOUT,它是對關係在開始使用核心文件或重新配置我的服務器之前,Wordpress。 (我在虛擬專用服務器上,所以我可以選擇更改服務器上的wait_timeout。)

我通過運行SHOW VARIABLES;從phpMyAdmin進行檢查,wait_timeout當前設置爲35.這對我來說似乎很低,但我不完全明白它的作用。我正在考慮將其更改爲600.

我的主要問題是這是否是一個負責任的事情。但我認爲更廣泛的問題可以分成較小的部分: 1.我可以選擇使用PHP(Wordpress)覆蓋此設置嗎? 2.什麼是適合大中型Wordpress網站的最佳設置? 3.是否有任何Wordpress配置選項或過濾器可用於在不修改核心文件的情況下更改設置?

謝謝。

回答

1

wait_timeout是在基本關閉之前,mysql會保持一個非交互式連接。

因此,將它增加到600秒可以解決您的問題,但是,如果將其設置爲600秒,並且您有很多人在網站上運行緩慢頁面,同時您可以達到mysql啓動點拒絕連接,然後apache將開始排隊請求,直到它拒絕請求並且你的服務器進行潛水。

我的建議是嘗試找出爲什麼單個請求需要超過35秒,因爲說實話,這似乎是一個從博客到我的單個頁面上相當長的加載時間。

+0

我的理解是,wait_timeout也是等待後續查詢的時間量。所以這並不一定表示單個腳本花費的時間超過35秒。這是不正確的? – emersonthis

+0

我做了一些研究,我理解得更好。 wait_timeout是等待響應。所以這意味着查詢運行了很長時間? 35秒似乎等待很長時間。 – emersonthis

+0

這是在終止連接之前,mysql將等待一個連接的不活動秒數。例如,你可以在腳本執行過程中建立一個連接1秒,然後離開,並在PHP中做40秒的工作,當你再次使用你的連接時,mysql已經殺死了它。 – Jason

相關問題