首頁  >  問答  >  主體

java - 定時任務輪詢資料庫壓力如何解決

有很多定時任務,而且是分佈在不同的伺服器上的。要輪詢資料庫中符合條件(狀態)的數據,然後在進行處理。這樣成百上千的定時任務去輪詢資料庫,直接導致資料庫壓力劇增。

這種情況要如何處理呢?怎樣減少資料庫壓力。

PHPzPHPz2712 天前1185

全部回覆(3)我來回復

  • 黄舟

    黄舟2017-05-17 10:06:44

    1. 把相似或類似的輪詢任務合併,以減少輪詢任務的數量

    2. 降低輪詢任務的執行頻率

    3. 優化輪詢任務內部的SQL語句,降低資料庫查詢壓力

    4. 平攤輪詢任務的執行時間,不要都集中在某個時間段

    5. 不使用輪詢任務

    6. 升級資料庫

    回覆
    0
  • 巴扎黑

    巴扎黑2017-05-17 10:06:44

    試試把要輪詢的資料id單獨存放,任務輪詢id表,然後在根據id去單條的查詢

    回覆
    0
  • PHPz

    PHPz2017-05-17 10:06:44

    另外資料庫也可以設定多個從庫,定時任務可以從不同的從庫裡輪詢得到數據,這樣資料庫的壓力就小得多

    回覆
    0
  • 取消回覆