我的應用程序加載非常慢。在做了一些研究之後,我得知MySQL導致了這種緩慢。我有大約15-20個用戶訪問此服務器。經過初步調查(谷歌搜索和stackoverflow)後,我發現他們當時正在進行一些查詢,這些都是罪魁禍首。很煩人的是,不時地運行查詢來查找運行了很長時間的查詢。有沒有解決這個問題的方法,還可以獲取電子郵件/短信提醒。我怎樣才能啓用電子郵件/短信提醒過目這些查詢爲MySQL長時間運行的查詢啓用警報
1
A
回答
0
執行下面的命令從管理/ MySQL的root用戶
slow_query_log = ON;
long_query_time = 2;
現在得到belowcommand-
SHOW VARIABLES LIKE 'slow_query_log_file';
慢查詢日誌文件路徑
現在去你的mysql數據庫機器,並檢查記錄緩慢的查詢,並優化它們。
注意:即使沒有重新啓動mysql服務,您也可以獲得緩慢的查詢,但爲了更好地在conf文件中執行這些條目,以便即使在服務重新啓動後也可以獲取緩慢的日誌。
+0
您可以建議一種自動執行此過程的方法,並且在慢速查詢日誌每次更新時設置郵件警報 – Sibs
0
您可以啓用慢速查詢日誌並將long_query時間設置爲Zafar提到的時間。 另外,如果您希望深入瞭解不使用索引的查詢,則還可以啓用「log_queries_not_using_indexes」。
另一種執行「SHOW FULL PROCESSLIST」並獲取查詢所花時間的方法。但唯一的缺點是您可能會錯過花費更長時間的查詢,但在執行「SHOW FULL PROCESSLIST」之前它已完成執行。
有多種工具可以使上述過程自動化。很少有MySQL Enterprise Monitor和Monyog。我個人使用Monyog,因爲您可以通過郵件/ SNMP通知長時間運行的查詢並手動執行操作,或讓工具停止這些查詢。
相關問題
- 1. 優化MySQL查詢 - 運行時間長
- 2. 長時間運行mySQL查詢
- 3. 長時間運行查詢
- 4. 長時間運行的查詢超時
- 5. MySQL查詢優化 - 長時間運行查詢
- 6. Sensu檢查MySQL長時間運行的查詢。
- 7. 實時分析mysql - 發現長時間運行的查詢
- 8. 調整長時間運行的查詢
- 9. 長時間運行的查詢問題
- 10. 可以使用多長時間運行mySQL查詢
- 11. Mysql查詢時間長
- 12. MySQL查詢時間太長
- 13. MySQL查詢時間太長
- 14. mysql查詢執行時間太長
- 15. mysql長時間查詢執行
- 16. MySQL,JDBC查詢執行時間太長
- 17. mysql - 長查詢執行時間鎖表
- 18. MySQL PHPExcel查詢執行時間太長
- 19. 查詢運行時間更長
- 20. 取消長時間運行查詢
- 21. DELETE查詢運行時間過長
- 22. 查詢運行時間過長
- 23. 針對MySQL數據庫記錄長時間運行的查詢?
- 24. 長時間運行的VBScript文件警報
- 25. 查找MySql查詢運行時間?
- 26. MySQL查詢與DELETE任何地方運行時間過長
- 27. Mysql查詢花費很長時間運行
- 28. iOS在長時間運行任務後顯示警報視圖
- 29. MySQL查詢需要時間運行
- 30. 查詢報告很長時間'鎖定'
沒有警報準備好。啓用它時可能會記錄緩慢的查詢,然後您可能會分析該日誌以修復查詢(通常通過重寫它們或添加適當的索引)。如果你想要提醒,然後準備一個小腳本(bash/php/python ..),它將發出'show processlist;'語句並分析輸出,然後在任何查詢需要超過X秒時發送電子郵件(或者有更多比Y併發查詢)。 – jkavalik
@jkavalik你能建議任何鏈接到bash腳本,可以幫助我設置郵件提醒 – Sibs
我沒有任何現成的手頭。我們使用PHP的一個類似的東西(檢查連接的數量,並在吹的極限,保存一些信息文件和電子郵件管理員)。 – jkavalik