記一次database cpu high的處理

2022-09-13 14:42:17 字數 431 閱讀 4921

基本上,我們的資料庫例項每次cpu飆公升都是因read而起,很少有write導致的cpu高。這說明read,隨機讀,排序,都會占用cpu。而寫入主要是io行為,尤其是順序寫,不需要佔cpu。

今次問題,rds在三個小時內都很高,始終維持50+,最高甚至到98 。當然我們的業務可用性並不依賴rds。

觀察一段時間,並沒有很明顯的大的慢查詢。但是會有一些小查詢時有時無,其實這些能被肉眼看到的就可能是問題的所在。

最終定位為乙個復合primary key的第二個字段單獨查詢太多,造成全表掃瞄。單獨新增索引後fix。

不算太慢,查詢資料量不算太多,但是十分頻繁,查詢量非常大,往往這類小sql會很隱蔽地把cpu搞上去。

記一次除錯

這是我最近幾個月來遇到的最棘手的乙個問題 昨天花了4個小時找出第一層次的原因 這個糾結啊,本來和老婆說好準時下班回家吃飯的,結果被這個問題拖了老久。這是乙個gradle的plugin,用來resolve公司內部的dependency的,弄完了跑測試專案的,拋乙個npe,而且npe還不在自己的 裡面。...

記一次 EqualsAndHashCode的疑惑

lombok的使用真的是讓開發人員欲罷不能,乙個 data不管有多少屬性全部搞定,以後加字段也不用從新生成get和set方法。不過這裡還是有乙個小坑需要注意一下,舉個例子 public class equalsandhashcodetest data noargsconstructor access...

記一次除錯

這是我最近幾個月來遇到的最棘手的乙個問題 昨天花了4個小時找出第一層次的原因 這個糾結啊,本來和老婆說好準時下班回家吃飯的,結果被這個問題拖了老久。這是乙個gradle的plugin,用來resolve公司內部的dependency的,弄完了跑測試專案的,拋乙個npe,而且npe還不在自己的 裡面。...