请教个定时任务处理问题

2022-01-25 14:44:55 +08:00
 brader

有批晚上跑的定时任务,比如有几十万条数据要处理,那么这段时间 mysql 的查询和更新就比较频繁,直接是硬件有多快跑多快,在资源监控界面,就会看到持续一小段时间资源快跑满了。

请教下各位这种情况是怎么处理的?

1:不用管他,这是正常的。

2:每条记录处理完,加个 sleep 间隔暂停一下?

3:其他更好的方法?

2548 次点击
所在节点    程序员
23 条回复
4771314
2022-01-26 10:26:17 +08:00
最简单的就是限流,如果限流不能解决就需要看下具体的脚本有没有优化的空间,优化就两个思路:
1. 脚本逻辑的优化
2. sql 语句的优化
最后就是升级配置,任务就是很大、很慢,那就只能升级硬件的配置来处理,但是这种比较浪费资源,因为你只有在执行脚本的时候需要大量的资源,但是平时是不需要这么多的资源的。
ql562482472
2022-01-26 11:56:20 +08:00
1
brader
2022-01-26 16:39:56 +08:00
@libook 对的,跑脚本期间 mysql 实例的 cpu 和 io 飙升,大部分是一些慢 sql ,没加索引等等问题引起的,严重的一些定时任务我已经优化了 sql 索引问题了,但是这种屎山项目几百上千定时任务。。。又不给时间处理这些,经常有其他需求,无语

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/830502

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX