文章詳情頁
java - 定時任務輪詢數據庫壓力如何解決
瀏覽:146日期:2023-12-06 08:56:14
問題描述
有很多定時任務,而且是分布在不同的服務器上的。要輪詢數據庫中符合條件(狀態)的數據,然后在進行處理。 這樣成百上千的定時任務去輪詢數據庫,直接導致數據庫壓力劇增。
這種情況如何處理呢?怎樣減少數據庫壓力。
問題解答
回答1:把相似或類似的輪詢任務合并,以減少輪詢任務的數量
降低輪詢任務的執行頻率
優化輪詢任務內部的SQL語句,降低數據庫查詢壓力
平攤輪詢任務的執行時間,不要都集中在某個時間段
不使用輪詢任務
升級數據庫
回答2:試試把要輪詢的數據id單獨存放,任務輪詢id表,然后在根據id去單條的查詢
回答3:另外數據庫也可以設置多個從庫,定時任務可以從不同的從庫里輪詢得到數據,這樣數據庫的壓力就小很多
標簽:
java
相關文章:
1. 淺談vue生命周期共有幾個階段?分別是什么?2. index.php錯誤,求指點3. 視頻 - html5 video的autoplay 在智能手機上不運作?4. javascript - ui-router AngularJS url顯示正常 頁面沒有變化?5. html5 - 前端面試碰到了一個緩存數據的問題,來論壇上請教一下6. css3 - 在css里面,樣式不生效問題7. javascript - Jquary的contains如何做到精準匹配8. css3 - 使用less編譯css后,后期的項目中less是直接放在項目文件中,后期如何維護呢9. node.js - 在阿里云搭建vue環境后npm run dev 沒有看到vue歡迎頁面而是 UnhandledPromiseRejection10. javascript - 百度坐標,返回目標附近有哪些坐標
排行榜
