为什么在同一服务器上调用cURL时,很少并发会导致阻塞
phpdebug.com
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "http://phpdebug2.com",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
phpdebug2.com
<?php
echo "application2";
ab -n 10 -c 2 http://phpdebug.com/
Requests per second: 198.93 [#/sec] (mean)
Time per request: 10.054 [ms] (mean)
Time per request: 5.027 [ms] (mean, across all concurrent requests)
Transfer rate: 33.80 [Kbytes/sec] received
ab -n 10 -c 3 http://phpdebug.com/
Requests per second: 60.42 [#/sec] (mean)
Time per request: 49.648 [ms] (mean)
Time per request: 16.550 [ms] (mean, across all concurrent requests)
Transfer rate: 10.27 [Kbytes/sec] received
ab -n 10 -c 4 http://phpdebug.com/
Requests per second: 17.68 [#/sec] (mean)
Time per request: 226.226 [ms] (mean)
Time per request: 56.557 [ms] (mean, across all concurrent requests)
Transfer rate: 3.00 [Kbytes/sec] received
ab -n 10 -c 5 http://phpdebug.com/
Benchmarking phpdebug.com (be patient)...apr_pollset_poll: The timeout specified has expired (70007)
答案 0 :(得分:0)
如果您使用的是PHP7,请检查高sys cpu利用率。尝试使用以下内容禁用大页面:
echo never > /sys/kernel/mm/transparent_hugepage/enabled
echo never > /sys/kernel/mm/transparent_hugepage/defrag