[英]Upgraded RDS postgres from 9.4 to 9.5, CPU has been stuck at 100% for hours
將我的 RDS postgres 從 9.4 升級到 9.5 后,我看到 CPU 現在保持在 100% 左右的時間超過 8 小時。
我看到相同的數據庫查詢,在我手動取消它們之前,過去需要 < 1 秒運行 10 分鍾以上。
我不是在處理大型數據庫。 大多數被查詢的表<10000行
與正常情況相比,我的讀取 IOPS 和寫入 IOPS 非常低(主要是因為站點關閉並且我關閉了非關鍵服務。
我一直在觀察pg_stat_activity
的活動查詢,並沒有看到任何異常(除了過去需要 < 1 秒的長時間運行的查詢)。
我確實從 9.5 升級到 9.6 只是為了它,但它沒有幫助。
調試這個有什么建議嗎? 我很難過,許多網站都關閉了。
ANALYZE VERBOSE;
我遇到了一個非常相似的問題,一直到 postgres 的版本來回移動,並且能夠通過運行ANALYZE來解決它。
問題是 postgres 生成的查詢計划針對以前版本的 postgres 進行了優化,當您執行 RDS 更新時,它不會隱式地重新生成這些計划,這需要手動完成(我確定 AWS 不這樣做是有原因的)不要手動執行此操作,但我真的不知道為什么)。
就我而言,我看到大約一周的 CPU 使用率極高,就像你的情況一樣,然后在運行 ANALYZE 后,我的 CPU 回落到以前的基線。 正如您在下圖中看到的,升級(在我的例子中是 9.4 - 9.5)是在 11/27 運行的,分析查詢是在 12/02 運行的。
(VERBOSE 不是絕對必要的,但能夠觀察命令的進度很有用)
調試 RDS 很困難,因為您無法檢查主機操作系統。 如果可能,您可以拍攝每個數據庫的快照,然后從版本 9.5 和 9.6 上的快照創建 2 個全新的 RDS 實例。 這將幫助您了解這是否是以下方面的問題:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.