Php在对同一URL执行1000个CURL请求时提高了性能

时间:2016-04-22 09:59:54

标签: php curl

在我的应用程序中,我需要对同一个URL执行1000次,有时甚至更多的CURL请求。所以每次我做一个foreach循环并逐个发送数据:

foreach ($data as $id => $value) {

    $queryUpdate = [
        'id' => $id,
        'data' => [
            'ref_id' => $value['id'],
            'name' => $value['title'],
            'description' => $value['desc'],
        ]
    ];

    curl_setopt_array($ch, array(
        CURLOPT_URL => 'https://test/blabla/bla',
        CURLOPT_POST => 1,
        CURLOPT_POSTFIELDS => http_build_query(
            $queryUpdate
        ),
        CURLOPT_SSL_VERIFYPEER => false,
        CURLOPT_SSL_VERIFYHOST => false,
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_HTTPHEADER => array(
            "Accept: application/json",
            "Content-type: application/x-www-form-urlencoded"
        ),
    ));
    $response = curl_exec($ch);
    $rsp = json_decode($response, true);
    if ($rsp['response']['status'] != 1) {
        var_dump($rsp);
        die;
    }

    echo  "$i) Updated at" .  date("h:i:s") . "<br />";

    $i++;
}
curl_close($ch);

因此需要大约3-4分钟来完成200个请求。 5分钟后,我从卷曲中获得超时(因为我超过300秒)。

现在我可能会增加我看不到的超时长度,但我需要一个不同的解决方案。一种可以加速所有这些卷曲过程的解决方案。有办法吗?

0 个答案:

没有答案