我一直在做一些研究,我试图找出来运行我们的网站之一的最佳方法。简而言之,将会有大约100个子域名,每个子域名需要运行21个cron脚本。我通过使用一些可以使用的fopen函数将它缩短到了11。每个子域使用相同的API更少地提取数据并将其存储在本地mysql数据库中。所有子域都有自己的数据库,并且它们不共享,并且这些数据库之间的信息不会重叠,因为它们都是独特的数据片段。最佳方法加载一千cron脚本
我们打算托管到VPS主机,这我不知道会是最好的主意,但它应该做的从我们的预测工作。这11个脚本的区间为以下之一:
5分钟,8分钟,10分钟,15分钟,30分钟,45分钟,1小时,3小时,8小时,12小时和24小时
,根据间隔10分钟运行上的那些一般都非常快速加载(低于20秒/分脚本)
我的问题是,什么是最好的方法/无需打开该许多脚本的最佳实践... a。)崩溃服务器 b。)将服务器放慢到可笑 c)不超时我们的cron脚本。
我的方法的想法: 1)创建总共11个cron脚本并运行可能出现的睡眠()其间的每个脚本功能打开的功能。问题是可能有100个文件需要打开每个脚本。 2)创建1100个cron作业以在设定的时间运行。 3)创建约110个fopen cron脚本,每个文件运行10个脚本。
如果有人可以帮助与提示或技巧,将不胜感激!
此外,对于服务器使用的专用或VPS是必要的?
谢谢JMack。我会通过HostGator VPS进行托管或者专门负责,除非人们真的不同意这一点。我想到了InMotion托管,因为我读了很多有关它们的伟大的事情。你介意提供一个很好的命令的参考,或者用外行的话来解释一下吗? – user1701252
下面的页面应该会给你一些信息。基本上,你的cron脚本,调用所有其他脚本将在命令中使用nice。 (例如:nice -n19 php /path/to/my/script.php)-n19表示以尽可能低的优先级运行。请记住,如果它使用大量的MySQL,这可能无济于事。尽管PHP会以低优先级运行,但它连接的MySQL服务器不会。 –
非常感谢JMack^ – user1701252