Все,
Я должен запросить URL, который возвращает запрос JSON. Я использую PHP и ЗАВИХРЕНИЕ, чтобы сделать это. В настоящее время требуется приблизительно 3-4 секунды для запроса и ответа.
Следующее является вихревым кодом
$ch = curl_init();
$devnull = fopen('/tmp/curlcookie.txt', 'w');
curl_setopt($ch, CURLOPT_STDERR, $devnull);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_URL, $desturl);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 0);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT,1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postdata);
$ret = curl_exec($ch);
curl_close($ch);
if ($devnull)
{
fclose($devnull);
}
Следующее является массивом CURL_GETINFO
Array
(
[url] => https://xx.xx.xxx.xx/portalsite/tester
[content_type] => application/json
[http_code] => 200
[header_size] => 198
[request_size] => 835
[filetime] => -1
[ssl_verify_result] => 20
[redirect_count] => 0
[total_time] => 2.054561
[namelookup_time] => 6.5E-5
[connect_time] => 0.016048
[pretransfer_time] => 0.123947
[size_upload] => 699
[size_download] => 46735
[speed_download] => 22746
[speed_upload] => 340
[download_content_length] => 0
[upload_content_length] => 0
[starttransfer_time] => 1.743973
[redirect_time] => 0
)
Как я могу ускорить ВИХРЕВОЕ время обработки?
Спасибо
похоже, что большую часть времени сервер ждет ответа (starttransfer_time - pretransfer_time = 1.620026)... может быть, сервер выполняет какую-то базу данных или другую операцию, которая требует времени?
.У меня была такая проблема, используя wget, это было быстро (1 секунду max), используя curl, потребовалось около 5 секунд, чтобы получить страницу, когда tcpdump-ing я обнаружил, что CURL пытается сделать обратницу DNS-поиска, И если у сервера нет Регистрация RESS DNS, он замедляет вас вниз, я настроил обратный DNS на моем локальном DNS-сервере, поэтому каждый запрос на этот сайт, используя CURL, теперь идет очень быстро. Я не нашел способ отключить реверс DNS-поиска от настроек Curl.
Мое предложение состоит в том, чтобы отсканировать вашу трафику, чтобы увидеть, где он так долго ждет.