前几天我从服务器管理员那里收到了以下消息:
你好 ****,
我们希望你今天一切顺利。
我们注意到您的一个帐户正在以 1 分钟的间隔运行多个 cron 作业。(三行;我承认它们可以合并为一行。代码行数没有上千行,实际上加起来不超过 35 行)
—剪辑—
在共享托管服务器上,每分钟运行一次 cron 作业可能会对服务器的运行状况和同一服务器上的其他用户产生不利影响。为了防止服务器受到负面影响,我们对 cron 作业进行了如下修改:
—剪辑—
它们现在将按照上述指定的间隔运行。请不要运行间隔小于 15 分钟的任何 cronjob。
我们将非常感谢您的合作。
如果您还有其他问题或疑虑,请更新此票。
此致, ****。
这对任何人来说都有意义吗?因为我查看了 cloudlinux 文档,但似乎没有任何意义:
我向他们支付了“半专用”服务器的费用,并且80 个可用入口流程。 唯一的办法我懂了如果他们将更多的用户加载到服务器上,而他们又没有实际的资源来处理这些用户和他们的计划,那么就会出现问题,因为这是他的“例子”:
不幸的是,为了保证托管质量,我们必须保留一些最低限制。想象一下,如果 50 个用户每分钟在服务器上运行 150 个 cron 作业,会发生什么。常规服务器可能会爬行。
就像我说的,我认为出现问题的唯一原因是用户资源超过了服务器的处理能力。
我这样想是错的吗?我从来没有找到任何解释他的观点的文件,他只是提到了他的“服务条款”,基本上告诉我他每天都在使用它,而我不知道我在说什么。
答案1
CageFS 文档提到“用户不应该感到任何限制”是指文件系统和进程隔离。chroot 或容器。用户在安装的应用程序和配置文件方面不受限制,但这并不意味着任何有关资源配额的内容。
可能 cron 限制是由您的主机强加的,而不管可用容量或进程配额如何。编写一个简单的 crontab 解析器比进行良好的性能根本原因分析和容量规划更容易。
阅读这些服务条款,尽管作为容器主机的管理员,他们几乎肯定被允许这样做。他们的观点是,频繁的 cron 作业可能会带来很大的负担,尤其是在资源受限的环境中。尽管我不知道他们的超额认购率有多大,即使只有 100 个进程的微薄配额,他们仍然觉得有必要管理 crontab。
为了区分,您从使用 CloudLinux Shared 的共享托管提供商那里租用了一个容器。CloudLinux 的专用服务器用例是存在的,与上游 RHEL 或 CL 自己的克隆 AlmaLinux 相同。