Ако асинхроно барање истече пред да отвори врска, проверете ги активните ограничувања на транспортот, како и мрежните временски ограничувања. libcurl ги става преносите во ред кога тие ограничувања се зафатени, а нивните буџети за време продолжуваат додека чекаат во редот.

За споделениот cURL multi handler на Guzzle 7:

use GuzzleHttp\Client;
use GuzzleHttp\HandlerStack;
use GuzzleHttp\Handler\CurlMultiHandler;

$multi = new CurlMultiHandler([
    'options' => [
        CURLMOPT_MAX_TOTAL_CONNECTIONS => 24,
        CURLMOPT_MAX_HOST_CONNECTIONS => 4,
    ],
]);
$client = new Client([
    'handler' => HandlerStack::create($multi),
]);

Користете го овој клиент за асинхроната работа и на операциите наведете ја предвидената опција за прокси. Вредностите се примерни буџети. За јавни барања дозволени преку јавен посредник, списокот со HTTP прокси нуди кандидати за прокси URL адресите на операциите.

ОпцијаБуџет
MAX_TOTAL_CONNECTIONSИстовремено отворени врски под multi handler-от
MAX_HOST_CONNECTIONSВрски кон еден домаќин/порта; прокси врските се сметаат кон прокси крајната точка
MAXCONNECTSВрски задржани во кешот по употреба

Неколку веб-локации што користат ист прокси не добиваат автоматски одделни квоти за прокси врски. Капацитетот на неактивниот кеш ниту отвора врски однапред, ниту ги прави заменливи: повторната употреба зависи од маршрутата, дестинацијата, протоколот и автентикацијата.

Држете го буџетот на задачи на апликацијата и евентуалната квота на давателот во согласност со овие транспортни буџети. Тие бројат врски, а не барања во секунда. Зголемувањето на временското ограничување на сокетот не може да утврди дали времето го потрошил ред или мрежно чекање.

Поврзани статии