多少cron工作太多?


9

我有一些cron作业,用于基本维护,这些作业不是很消耗资源。

我也有自定义任务计划(它只是调用.php文件并通过GET传递信息,即:cronjob.php?param1 = param ...)。这些可以很快加起来。

这些只是调用系统命令并运行外部程序(Nmap是其中之一)。它们通常也不会花费很长时间。

无论如何,谁能告诉我,大概什么地方太多了?我知道很难说,因为它取决于正在运行的作业以及运行的频率,但是crontab程序在什么时候开始“挣扎”?有人知道吗

谢谢。

cron 

在文件增大到磁盘空间用完之前,您可以添加多少个条目?
约翰·加迪尼尔

Answers:


6

我不必担心“ crontab程序”(cron)本身的负载;这是您可能要注意的整体系统负载。查看作业运行期间的指标(CPU利用率,IO速率,Web查询响应时间)-是否有明显的峰值?足以破坏系统的实际使用吗?

如果程序“不会花很长时间”,则说明这不是问题,这是一个好兆头。

如果您仍然担心,可以执行其他操作来限制负载:使用作业nice以降低其优先级,依次而不是同时运行它们,依此类推。


5

仅仅通过我们的生产系统进行搜索,最大的工作就有862个cron工作(在所有用户中,最大的一个,root,是117个),并且没有那么多的工作。

如果您每分钟24x7全天候启动60项工作,而所有这些工作都需要两秒钟才能完成,那么您可能会陷入痛苦的境地。但是,只要工作负载达到平衡(有安静的时间等),它就应该恢复。在高峰时间关注系统负载(CPU%,磁盘I / O等),而不是担心实际作业数量。

这个问题类似于“在遇到麻烦之前我可以运行多少个进程?”。最好的选择是尝试它,因为它取决于您的系统。Cron本身没有我发现的一些限制,但是,如果您要安排成千上万的工作,那将给我带来比以往更大的压力。

测量,不要猜测!



0

我同意这里给出的所有答案。要以稍微不同的角度理解它,请将cronjobs视为平台上的用户。

假设某位用户占用了您CPU的1%(CRUD操作/网络等)。如果同时有100个这样的用户(cronjob),则您的CPU将达到阈值限制,并且服务器可能最终无法处理,从而导致崩溃。

因此回到问题:“多少个cron工作太多了?” -只要您的分析表明资源可能不会突然增加,甚至100个cronjob也可以。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.