Барање на Guzzle може да истече додека чека слот за врска
Поставете ги активните буџети за врски на cURL multi на споделениот handler и разликувајте ги од капацитетот на неактивниот кеш.
Ако асинхроно барање истече пред да отвори врска, проверете ги активните ограничувања на транспортот, како и мрежните временски ограничувања. 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 | Врски задржани во кешот по употреба |
Неколку веб-локации што користат ист прокси не добиваат автоматски одделни квоти за прокси врски. Капацитетот на неактивниот кеш ниту отвора врски однапред, ниту ги прави заменливи: повторната употреба зависи од маршрутата, дестинацијата, протоколот и автентикацијата.
Држете го буџетот на задачи на апликацијата и евентуалната квота на давателот во согласност со овие транспортни буџети. Тие бројат врски, а не барања во секунда. Зголемувањето на временското ограничување на сокетот не може да утврди дали времето го потрошил ред или мрежно чекање.