84669 人学习
152542 人学习
20005 人学习
5487 人学习
7821 人学习
359900 人学习
3350 人学习
180660 人学习
48569 人学习
18603 人学习
40936 人学习
1549 人学习
1183 人学习
32909 人学习
有很多定时任务,而且是分布在不同的服务器上的。要轮询数据库中符合条件(状态)的数据,然后在进行处理。 这样成百上千的定时任务去轮询数据库,直接导致数据库压力剧增。
这种情况如何处理呢?怎样减少数据库压力。
学习是最好的投资!
把相似或类似的轮询任务合并,以减少轮询任务的数量
降低轮询任务的执行频率
优化轮询任务内部的SQL语句,降低数据库查询压力
平摊轮询任务的执行时间,不要都集中在某个时间段
不使用轮询任务
升级数据库
试试把要轮询的数据id单独存放,任务轮询id表,然后在根据id去单条的查询
另外数据库也可以设置多个从库,定时任务可以从不同的从库里轮询得到数据,这样数据库的压力就小很多
把相似或类似的轮询任务合并,以减少轮询任务的数量
降低轮询任务的执行频率
优化轮询任务内部的SQL语句,降低数据库查询压力
平摊轮询任务的执行时间,不要都集中在某个时间段
不使用轮询任务
升级数据库
试试把要轮询的数据id单独存放,任务轮询id表,然后在根据id去单条的查询
另外数据库也可以设置多个从库,定时任务可以从不同的从库里轮询得到数据,这样数据库的压力就小很多