Php 我如何计算mult_curl的最佳并行下载数量?

Php 我如何计算mult_curl的最佳并行下载数量?,php,curl,Php,Curl,我运行一个爬虫程序,它不断地下载一些网站。带宽不是问题。并行下载是否有一个标准的最大值?或者是一种在不影响服务器正常运行时间的情况下计算我可以下载多少URL的方法 编辑:我指的是服务器上的资源使用情况。下载列表旨在减轻远程服务器上的负载 大多数浏览器每台服务器执行2-5个并行请求。这是一个相当合理的范围,但是如果你真的想安全的话,可以选择2。最终,对服务器的影响取决于太多的变量(服务器速度、内存、带宽、动态代码、每秒请求数等),无法给出准确的答案 更新:谢谢你澄清这个问题。我想没有人能给你答案。

我运行一个爬虫程序,它不断地下载一些网站。带宽不是问题。并行下载是否有一个标准的最大值?或者是一种在不影响服务器正常运行时间的情况下计算我可以下载多少URL的方法


编辑:我指的是服务器上的资源使用情况。下载列表旨在减轻远程服务器上的负载

大多数浏览器每台服务器执行2-5个并行请求。这是一个相当合理的范围,但是如果你真的想安全的话,可以选择2。最终,对服务器的影响取决于太多的变量(服务器速度、内存、带宽、动态代码、每秒请求数等),无法给出准确的答案


更新:谢谢你澄清这个问题。我想没有人能给你答案。假设你真的有接近无限的带宽,那么决定你的安全负载的因素的数量仍然是巨大的变量。您甚至还没有讨论脚本对下载内容的作用。如果它直接保存到磁盘,那么您的限制将在IO系统中的某个位置,而这取决于我上面提到的所有内容。因为这是一个无法回答的问题,如果可以,它将属于ServerFault,因为这实际上是一个关于优化和监控IO负载的问题


简短回答:不,对于客户端计算机的最大下载量没有正式或非正式的标准,解决这个问题的唯一方法是尝试不同的限制并监控负载。

你的答案与问题无关。那么你的问题就没有你想象的那么清楚了。你在问“并行下载的标准最大值”是多少。我刚告诉过你。你用的是mult_curl这个事实是无关紧要的。也许你需要澄清你是在谈论你的服务器还是他们的服务器。通常,在关闭自己的服务器之前,您会关闭他们的服务器,尤其是在内容是动态生成的情况下。这与此无关,因为浏览器限制是为了优化客户端而不是服务器上的资源。但你是对的,我需要澄清我是否指的是远程服务器上的服务器。我将更新问题谢谢你澄清问题,但你对浏览器限制的看法是错误的。它们旨在防止对远程服务器造成损害。在众多的浏览器邮件列表上,有许多关于这个问题的讨论。这些限制往往非常保守,但它们绝对不是为了保护浏览器(如果远程域不同,您可以并行下载更多文件-这也是一些较大的网站在子域(如static.domain.com、static2.domain.com等)上提供资源的原因之一)抱歉,回复太晚了。雅虎的研究团队对此问题进行了全面测试,有趣的是:“响应时间变慢的一个可能原因是,由于并行下载次数增加,客户端上的CPU抖动量增加。并行下载的图像越多,客户端上的CPU抖动量就越大。在我工作的笔记本电脑上,CPU的使用率从2次并行下载的25%上升到20次并行下载的40%。这些值在[计算机]之间可能存在很大差异。”