cron 脚本如何影响 Web 服务器性能?

cron 脚本如何影响 Web 服务器性能?

我只是想知道 cron 脚本会如何影响网站用户?(如果有的话)我想定期执行一个大约需要一分钟的脚本。性能下降会被注意到吗?我需要特别关注什么吗?

答案1

比执行频率更重要的是所执行脚本的性质。如果特定脚本在执行时使用大量资源,那么您的网站用户可能会看到性能滞后。在我看来,执行时间长达一分钟的脚本可能对系统资源的要求相当高。

答案2

这取决于你的脚本做了什么。如果这一分钟用于等待几个网络连接,那么你可能不会遇到问题。如果它严重影响磁盘子系统或 CPU,那就另当别论了。与任何其他资源占用率高的用户一样,cron 脚本可能会让系统崩溃。

一般来说,你应该看看大型任务是否可以逐步完成,并且你应该尝试错开你的 cron 脚本,而不是让它们全部同时启动。这样你就可以按时间分散负载,这样服务器资源使用率的峰值就会较低。

恕我直言,如果脚本执行的任务是增量任务,例如“从 /incoming 收集所有新文件,将其压缩并存档到地下室的其他服务器”,那么最好频繁运行它,以缩短高负载周期。

您还可以尝试在 nice/ionice 下运行 cron 脚本进程,以便在使用资源时降低其优先级。

PS:一些桌面 Linux 发行版(顺便说一句,您没有提到操作系统)认为普通人(显然我不是)会在凌晨 3-4 点睡觉,所以他们会让所有的 cron 任务在那个时间运行,尤其是在周六晚上(或者周日早上,如果您愿意的话)。最近他们开始将开始时间错开为 4:00、4:15、4:30 等,但几年前他们都会从例如凌晨 4:00 开始。您真的不想知道这对当时正在使用机器的疲惫而暴躁的程序员的情绪有什么影响……

答案3

这还取决于您执行脚本的频率。

根据执行频率(计划)的不同,影响也会有所不同。您可以将其安排为每天运行一次。相反,您也可以将其安排为每隔几分钟运行一次!这也取决于您的需求。

相关内容