我的網站最近開始拖動,查詢花費的時間比我預期的要適當調整索引要長得多。我在31天的正常運行時間後重新啓動了mysql服務器,現在每個查詢都快得多,整個站點的渲染速度提高了3-4倍。爲什麼重新啓動MySQL會使我的網站更快?
會有什麼會跳出來,你爲什麼這可能是? my.cnf的設置可能不正確?任何想法,我可以開始看看,試圖找出原因?
感謝
更新注:我有一個16GB的專用數據庫箱和MySQL在內存約71%一個星期左右後運行。
我的網站最近開始拖動,查詢花費的時間比我預期的要適當調整索引要長得多。我在31天的正常運行時間後重新啓動了mysql服務器,現在每個查詢都快得多,整個站點的渲染速度提高了3-4倍。爲什麼重新啓動MySQL會使我的網站更快?
會有什麼會跳出來,你爲什麼這可能是? my.cnf的設置可能不正確?任何想法,我可以開始看看,試圖找出原因?
感謝
更新注:我有一個16GB的專用數據庫箱和MySQL在內存約71%一個星期左右後運行。
嘗試執行show processlist;
,也許有一些持久的線程沒有因某種原因而被殺死。
同樣執行SHOW SESSION STATUS LIKE 'Created%';
來檢查mysql是否沒有創建到很多臨時表。
服務器重啓自動關閉所有打開的臨時表並殺死線程,因此應用程序可能運行得更快。
您是否有臨時表可能無法清除/收集?
我建議使用MySQL Enterprise進行分析。它帶有30天的試用期。我們只是用它。我們得到警報,例如:
嚴重警報 - 表掃描過多
目標服務器似乎並沒有被有效地使用索引。
嚴重警報 - 連接使用過度
嚴重警報 - CPU使用率過高
預警警報 - MyISAM的關鍵緩存具有次優命中率
只是要探索!
也許你沒有正確地關閉連接,當你完成他們? – 2010-04-15 18:24:54
這是一個使用非持續連接的php應用程序,所以它們應該在每個請求結束時關閉 – James 2010-04-15 18:28:39