月度归档:2018年06月

降低使用PHP curl_multi_* 时的 load

TL;DR

如果选择通过 curl_multi_* 函数并行发起请求,需要在使用 curl_multi_select 返回 -1 时增加休眠时间以降低 load。形如(代码来自 Guzzle):

if ($this->active &&
    curl_multi_select($this->_mh, $this->selectTimeout) === -1
) {
    usleep(250);
}

使用的软件版本为:

  • PHP 5.4.41
  • libcurl 7.19
  • Guzzle 5.3

继续阅读