【问题标题】:is there a recommended limit to using parallel CURL operations使用并行 CURL 操作是否有推荐限制
【发布时间】:2014-08-09 06:58:38
【问题描述】:

假设我使用 CURL MULTI 来执行并行操作(上传/下载等)

是否有建议的最大并行操作限制,或者我可以设置它以使其运行,例如,100 个并行操作? 1000呢?

在使用 CURL 指定并发操作数时应该考虑哪些因素?

【问题讨论】:

    标签: php curl concurrency parallel-processing download


    【解决方案1】:

    对于 1000 个 CURL 并行,您将需要良好的带宽,建议的并行请求数量可以通过调试找到,设置一个函数来检查超时连接,在这种情况下减少/增加限制或超时时间.

    【讨论】:

      【解决方案2】:

      此问题的答案取决于您的网络容量、NIC 的容量以及您要优化的内容。

      • 如果您试图最小化单个请求的延迟,答案很可能是 1 或接近 1。

      • 如果您试图最大化吞吐量,那么您应该不断增加并行操作的数量,直到您的吞吐量达到峰值,然后达到平稳或下降。那将是甜蜜点。

      【讨论】:

        【解决方案3】:

        大多数浏览器一次最多会打开 4 个与单个服务器的连接。这可能是一个很好的指导方针。

        如果您从不同的服务器下载,唯一的问题可能是您将使用大量本地 TCP 端口,这可能会干扰系统上的其他应用程序。它不会妨碍到服务器的连接,因为它们都使用相同的本地端口 80(或 SSL 的 443)。但是,如果您有其他使用 CURL 的应用程序,或者您的机器发送邮件,如果您全部使用它们,它们可能无法获得传出端口。通常有 15-30K 的临时端口,因此您可以使用其中的 1,000 个。

        【讨论】:

          猜你喜欢
          • 2018-09-08
          • 2017-09-14
          • 2018-01-10
          • 2015-11-03
          • 1970-01-01
          • 2011-06-22
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多