我在一個每天可以獲得大約100K頁面瀏覽量的WordPress網站上工作。我們使用Varnish作爲緩存層。最近,我們遇到了一個問題,看起來隨機的,MySQL性能下降並導致我們的應用程序崩潰。下面是來自New Relic的一個停運昨天發生的圖形:調試MySQL性能問題
這已經在過去的一週發生了兩次。這個網站在沒有任何人接觸到生產服務器的情況下可以正常運行一週,然後發生這種情況。通常的響應時間大約爲500ms,這裏峯值爲60Kms(!)。通過停止apache,讓數據庫冷卻,然後啓動apache備份來解決問題。
這不是更多的查詢正在運行,或一個特定的慢速查詢正在運行,導致此問題。如果我採用New Relic報道的任何「慢速查詢」並在其他時間運行它們,那麼它們正在快速發展。下面是MySQL的吞吐量同一時間框架圖:
我檢查了WordPress的鉤子和插件的統計,和一切似乎是正常的。
我的問題是,我應該從哪裏開始尋找?哪些MySQL設置可能導致此問題?它甚至可能是一個MySQL問題,還是更可能是一個應用程序問題?
它有足夠的CPU嗎? –
系統管理員或數據庫管理員可以更好地回答這些問題。如果您設法識別導致問題的一段代碼並且希望修復問題,開發人員就會參與其中。 – Shadow
如果它是完全隨機的間隔,我會檢查存儲後端。如果是定期,我會檢查任何cronjobs,備份工作或其他。在任何情況下,我寧願問服務器故障,因爲這絕不是一個*編碼*問題 –