文章詳情頁
java - 定時任務(wù)輪詢數(shù)據(jù)庫壓力如何解決
瀏覽:131日期:2023-12-06 08:56:14
問題描述
有很多定時任務(wù),而且是分布在不同的服務(wù)器上的。要輪詢數(shù)據(jù)庫中符合條件(狀態(tài))的數(shù)據(jù),然后在進(jìn)行處理。 這樣成百上千的定時任務(wù)去輪詢數(shù)據(jù)庫,直接導(dǎo)致數(shù)據(jù)庫壓力劇增。
這種情況如何處理呢?怎樣減少數(shù)據(jù)庫壓力。
問題解答
回答1:把相似或類似的輪詢?nèi)蝿?wù)合并,以減少輪詢?nèi)蝿?wù)的數(shù)量
降低輪詢?nèi)蝿?wù)的執(zhí)行頻率
優(yōu)化輪詢?nèi)蝿?wù)內(nèi)部的SQL語句,降低數(shù)據(jù)庫查詢壓力
平攤輪詢?nèi)蝿?wù)的執(zhí)行時間,不要都集中在某個時間段
不使用輪詢?nèi)蝿?wù)
升級數(shù)據(jù)庫
回答2:試試把要輪詢的數(shù)據(jù)id單獨存放,任務(wù)輪詢id表,然后在根據(jù)id去單條的查詢
回答3:另外數(shù)據(jù)庫也可以設(shè)置多個從庫,定時任務(wù)可以從不同的從庫里輪詢得到數(shù)據(jù),這樣數(shù)據(jù)庫的壓力就小很多
標(biāo)簽:
java
上一條:關(guān)于java8新特性中的lambda表達(dá)式,靜態(tài)方法引用以及stream api迭代的寫法下一條:java - 遇到Oracle數(shù)據(jù)庫分頁查詢的問題
相關(guān)文章:
1. docker - 各位電腦上有多少個容器啊?容器一多,自己都搞混了,咋辦呢?2. java - spring boot 如何打包成asp.net core 那種獨立應(yīng)用?3. java - 在用戶不登錄的情況下,用戶如何添加保存到購物車?4. datetime - Python如何獲取當(dāng)前時間5. docker start -a dockername 老是卡住,什么情況?6. javascript - nginx反向代理靜態(tài)資源403錯誤?7. docker網(wǎng)絡(luò)端口映射,沒有方便點的操作方法么?8. 安全性測試 - nodejs中如何防m(xù)ySQL注入9. javascript - 關(guān)于apply()與call()的問題10. python - 調(diào)用api輸出頁面,會有標(biāo)簽出現(xiàn),請問如何清掉?
排行榜

熱門標(biāo)簽