我正在使用php中的curl_multi_exec来检查一些URL的状态。 我想对此进行基准测试,以便我知道在给定系统下,在curl开始排队之前,我可以同步检查多少处理程序。 有没有人有经验来评估能力? 谢谢, 亚当
您可以从PHP源代码中看到它使用select()和非阻塞读取。因此,只使用一个进程。请注意,如果您给select()一个文件描述符fd >= FD_SETSIZE,它将失败。FD_SETSIZE限制在编译PHP时定义。默认值似乎是256。在PHP实现中最好使用poll()。关于正确的curl_multi_exec()用法:curl_multi_exec()后应跟随curl_multi_select()。这将等待可用数据,而不是在忙碌的循环中检查它们。PHP手册中的示例很好。
netstat
命令并观察它打开的活动连接数。然后增加 URL 数量,直到你注意到 netstat 计数开始下降... - ircmaxellnetstat
获得有意义的输出,但仍然易于快速构建... - ircmaxell