今天,我們的服務器上發生了一場關于MySQL外部組件的事故,讓我們來看看這個問題是如何產生的,以及我們是如何解決它的。
在一次更新數據庫的過程中,我們發現一些SQL查詢速度變慢了。通過分析日志,我們發現與某個外部組件相關的查詢特別慢。我們意識到這個問題可能是由外部組件的配置錯誤引起的。
# 這是SQL查詢日志 SELECT * FROM table WHERE xxx; SELECT * FROM table WHERE yyy; SELECT * FROM table WHERE zzz; SELECT * FROM table WHERE aaa; SELECT * FROM table WHERE bbb;
我們決定先停止這個應用的服務,以便進行更深入的調查。在檢查外部組件配置時,我們發現有一項配置錯誤,導致該組件在查詢時不斷地試圖連接一個已經關閉的服務器。
# 這是配置文件中的錯誤項 mysql.connect_timeout = 2 mysql.default_socket = /tmp/mysql.sock mysql.allow_persistent = On mysql.max_persistent = -1 mysql.max_links = -1 mysql.hostname = 127.0.0.1 mysql.port = 3306 mysql.default_user = user mysql.default_password = password mysql.default_database = database_name
我們進行了修正后,重啟了服務。SQL查詢速度恢復正常,并且沒有出現其他的異常行為。通過這個經驗,我們深刻地認識到外部組件的配置與使用都需要慎重。
上一篇css讓自定義列表橫過來
下一篇css讓背景圖不平鋪