1

我一直在做一些研究,并试图找出运行我们网站之一的最佳方法。简而言之,将有大约 100 个子域,每个子域有 21 个需要运行的 cron 脚本。我通过使用一些可以使用的 fopen 函数将它缩短到 11 个。每个子域使用相同的 API 来提取数据并将其存储在本地 mysql 数据库中的次数更少。所有子域都有自己的数据库,并且它不共享,并且这些数据库之间的信息永远不会重叠,因为它们都是独特的数据片段。

我们打算将它托管在 VPS 托管上,我不确定这是否是最好的主意,但它应该可以按照我们的预期完成工作。这 11 个脚本的间隔是以下之一:

5 分钟、8 分钟、10 分钟、15 分钟、30 分钟、45 分钟、1 小时、3 小时、8 小时、12 小时和24 小时

以 10 分钟间隔运行的那些通常加载速度非常快(低于 20 秒/脚本)

我的问题是,打开这么多脚本而不...的最佳方法/最佳实践是什么...

我对一种方法的想法:1)总共创建 11 个 cron 脚本并运行 fopen 函数,每个脚本之间可能有一个 sleep() 函数。问题是每个脚本可能需要打开 100 个文件。2) 创建 1100 个 cron 作业以在设定的时间运行。3) 创建大约 110 个 fopen cron 脚本,每个文件将运行 10 个脚本。

如果有人可以提供提示或技巧,将不胜感激!

另外,对于服务器使用,是否需要专用或 VPS?

4

1 回答 1

2

如果我理解正确,您可能想要设置 11 个 cron 脚本,并且每个 cron 脚本都会依次调用其他需要的脚本。您可能不需要 sleep() 中间,因为它们将按顺序运行,而不是并行运行。为了减少服务器负载,您还可以使用“nice”命令使脚本以低优先级运行。

专用或 VPS 完全取决于您在服务器上施加的负载量。VPS 的性能也可能因提供商而异。从提供的信息中确实无法衡量。如果您想省钱,那么我会说只是在 VPS 上尝试一下。您以后可以随时移至更昂贵的专用服务器。

于 2012-11-16T21:32:53.007 回答