ЗАВИХРЕНИЕ с PHP - Очень медленный

Все,

Я должен запросить 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
)

Как я могу ускорить ВИХРЕВОЕ время обработки?

Спасибо

9
задан Charles 24 December 2012 в 21:38
поделиться

2 ответа

похоже, что большую часть времени сервер ждет ответа (starttransfer_time - pretransfer_time = 1.620026)... может быть, сервер выполняет какую-то базу данных или другую операцию, которая требует времени?

.
4
ответ дан 4 December 2019 в 20:24
поделиться

У меня была такая проблема, используя wget, это было быстро (1 секунду max), используя curl, потребовалось около 5 секунд, чтобы получить страницу, когда tcpdump-ing я обнаружил, что CURL пытается сделать обратницу DNS-поиска, И если у сервера нет Регистрация RESS DNS, он замедляет вас вниз, я настроил обратный DNS на моем локальном DNS-сервере, поэтому каждый запрос на этот сайт, используя CURL, теперь идет очень быстро. Я не нашел способ отключить реверс DNS-поиска от настроек Curl.

Мое предложение состоит в том, чтобы отсканировать вашу трафику, чтобы увидеть, где он так долго ждет.

3
ответ дан 4 December 2019 в 20:24
поделиться
Другие вопросы по тегам:

Похожие вопросы: