代码之家  ›  专栏  ›  技术社区  ›  Adam Hopkinson

curl_multi_exec使用多少线程?

  •  2
  • Adam Hopkinson  · 技术社区  · 14 年前

    我在用 curl_multi_exec 在php中检查多个url的状态。我想对它进行基准测试,这样,对于给定的系统,我知道在curl开始排队之前可以同步检查多少个处理程序。有没有人对如何测量容量有经验?

    谢谢,

    亚当

    1 回复  |  直到 14 年前
        1
  •  2
  •   Ivo Danihelka    14 年前

    从PHP源代码中可以看到它使用select()和非阻塞读取。 所以只使用一个过程。

    请注意,如果给select()一个fd>=fd_setize的文件描述符,它将失败。FD_SETSIZE limit是在编译PHP时定义的。默认值似乎是256。在PHP实现中最好使用poll()。

    关于正确的curl_multi_exec()用法:

    curl_multi_exec()后面应该跟curl_multi_select()。这将等待可用的数据,而不是在忙循环中检查它们。 这个 example in the PHP manual 很好。

    推荐文章