【问题标题】:PHP Http Pooling Vs Curl MultiPHP Http Pooling 与 Curl Multi
【发布时间】:2014-05-30 09:53:43
【问题描述】:

我想使用 PHP 从服务器 A 向服务器 B 发出并行请求。 Curl Multi Handle 和 Http Pooling 中哪个是最好的方法。

这两者的优缺点是什么。

请给我建议一种在性能、内存消耗、CPU 使用率方面最好的优化方式。

【问题讨论】:

    标签: php curl httprequest curl-multi


    【解决方案1】:

    与标准 CURL 命令相比,PHP 确实会消耗内存。 curl 也无法处理并行请求。 multi 命令以块的形式发出请求,这些请求将挂起,直到全部完成。据我所知,您不能在 PHP 中发出并行请求。最好的解决方案是在命令行中使用 xargs 和 curl:

    cat urls.txt | xargs -L 1 -P 10 timeout 45 curl 
    

    这将从文件中下载 url(或 curl 命令)。 -L 表示行数,-P 表示你想要的并行连接数。

    在 PHP 中通过 exec 或 system 运行是最有效的。或者,您将希望使用 CURL 包装器,例如:

    http://semlabs.co.uk/journal/object-oriented-curl-class-with-multi-threading

    但如前所述,它不是平行的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-05-05
      • 1970-01-01
      • 2013-02-26
      • 2023-03-31
      • 1970-01-01
      • 2012-06-19
      • 1970-01-01
      相关资源
      最近更新 更多