文章詳情頁
java - 定時(shí)任務(wù)輪詢數(shù)據(jù)庫壓力如何解決
瀏覽:121日期:2023-12-06 08:56:14
問題描述
有很多定時(shí)任務(wù),而且是分布在不同的服務(wù)器上的。要輪詢數(shù)據(jù)庫中符合條件(狀態(tài))的數(shù)據(jù),然后在進(jìn)行處理。 這樣成百上千的定時(shí)任務(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í)行時(shí)間,不要都集中在某個(gè)時(shí)間段
不使用輪詢?nèi)蝿?wù)
升級數(shù)據(jù)庫
回答2:試試把要輪詢的數(shù)據(jù)id單獨(dú)存放,任務(wù)輪詢id表,然后在根據(jù)id去單條的查詢
回答3:另外數(shù)據(jù)庫也可以設(shè)置多個(gè)從庫,定時(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 gitlab 如何git clone?2. docker鏡像push報(bào)錯(cuò)3. 關(guān)于docker下的nginx壓力測試4. angular.js使用$resource服務(wù)把數(shù)據(jù)存入mongodb的問題。5. android - 項(xiàng)目時(shí)間長了,字符串文件strings有的字符串可能是多余的,有沒有辦法快速檢測那些是沒用的?6. android - 七牛單次上傳單張圖片,11次6次上傳失敗7. mysql - 用PHPEXCEL將excel文件導(dǎo)入數(shù)據(jù)庫數(shù)據(jù)5000+條,本地?cái)?shù)據(jù)庫正常,線上只導(dǎo)入15條,沒有報(bào)錯(cuò),哪里的問題?8. javascript - 怎么看網(wǎng)站用了什么技術(shù)框架?9. docker不顯示端口映射呢?10. 在windows下安裝docker Toolbox 啟動Docker Quickstart Terminal 失敗!
排行榜

熱門標(biāo)簽