一次線上服務呼叫超時優化問題

2021-09-26 20:50:10 字數 558 閱讀 2542

原文:

最近線上環境有個檔案列表超時無響應

去資料庫模擬查詢後發現需要打約1200ms左右的時間,但是線上的服務呼叫超時時間設定的1000ms

改動之前邏輯是在乙個for迴圈中會訪問三次資料庫,造成比較多的訪問資料庫開銷

for

( d d : list )

centity c= cdao.

getbyid

( bid );if

( c!= null )

}

改動之後是在for迴圈裡面只進行一次資料庫訪問,把邏輯放在資料庫sql語句中

select * from table1 t1 left join table2 t2 on t1.aid = t2.aid left join table3 t3 on t1.bid= t3.bid where t1.bid= #;

改完之後測試發現只需要600+ms,目的已達成

但是其中bid不屬於主鍵,給bid加上乙個唯一索引後直接起飛30-40ms即可

僅做一次記錄,不一定對每個人有效果,要適合自己才是對的。

關於線上一次超時處理引發的思考

關於線上一次超時處理引發的思考 背景最近關於線上關於註冊問題有超時2s的情況發生,最長時間已經是9s多,上游系統最多只能等待2s就返回超時失敗。影響造成線上上游系統出現註冊失敗,影響非常不好。告警郵件和簡訊頻發。問題排查鏈路 解決方案 各系統檢查自己對應介面耗時情況,運維負責檢查osg nginx問...

記一次線上問題排查

這次線上問題來的比較突然,影響也大,用部落格記錄下整個過程,也當作是對這次事故的一次總結歸納。day1 2018年06月21號上午10點,收到運營同事通知,http com api 訪問量劇增,日誌量達到80g 天,而且有上公升趨勢。運營同事讓我們排查,這種訪問是否正常。運營統計訪問量 收到通知後立...

記一次線上快取問題

今天上線專案時,檢視乙個軟體列表,我的介面裡是findall,可是軟體列表裡沒有type欄位沒有出現,後來檢查發現 是線下softmodel裡type欄位沒更新過來,清完線下表快取,並用gii重新生成了下softmodel,然後再次上線。再次檢視線上該軟體列表,還是沒有type欄位,估計第一次檢視的...