2010-04-15 79 views
3

我的網站最近開始拖動,查詢花費的時間比我預期的要適當調整索引要長得多。我在31天的正常運行時間後重新啓動了mysql服務器,現在每個查詢都快得多,整個站點的渲染速度提高了3-4倍。爲什麼重新啓動MySQL會使我的網站更快?

會有什麼會跳出來,你爲什麼這可能是? my.cnf的設置可能不正確?任何想法,我可以開始看看,試圖找出原因?

感謝

更新注:我有一個16GB的專用數據庫箱和MySQL在內存約71%一個星期左右後運行。

+1

也許你沒有正確地關閉連接,當你完成他們? – 2010-04-15 18:24:54

+0

這是一個使用非持續連接的php應用程序,所以它們應該在每個請求結束時關閉 – James 2010-04-15 18:28:39

回答

1

嘗試執行show processlist;,也許有一些持久的線程沒有因某種原因而被殺死。

同樣執行SHOW SESSION STATUS LIKE 'Created%';來檢查mysql是否沒有創建到很多臨時表。

服務器重啓自動關閉所有打開的臨時表並殺死線程,因此應用程序可能運行得更快。

1

您是否有臨時表可能無法清除/收集?

0

我建議使用MySQL Enterprise進行分析。它帶有30天的試用期。我們只是用它。我們得到警報,例如:

嚴重警報 - 表掃描過多

目標服務器似乎並沒有被有效地使用索引。

嚴重警報 - 連接使用過度

嚴重警報 - CPU使用率過高

預警警報 - MyISAM的關鍵緩存具有次優命中率

只是要探索!

相關問題