Viss ein asynkron førespurnad går ut på tid før han opnar ei tilkopling, undersøk dei aktive grensene til transporten og nettverkstidsgrensene. libcurl set overføringar i kø når desse grensene er opptekne, og tidsbudsjetta deira held fram medan dei står i kø.

For den delte cURL multi-handleren til 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),
]);

Bruk denne klienten til det asynkrone arbeidet, og oppgi den tiltenkte proxyinnstillinga på operasjonane. Verdiane er døme på budsjett. For offentlege førespurnader som er tillatne via ein offentleg mellommann, gir HTTP-proxylista kandidatar til proxy-URL-ane til operasjonane.

InnstillingBudsjett
MAX_TOTAL_CONNECTIONSSamtidig opne tilkoplingar under multi-handleren
MAX_HOST_CONNECTIONSTilkoplingar til ein vert/port; proxy-tilkoplingar blir talde mot proxy-endepunktet
MAXCONNECTSTilkoplingar som blir haldne i bufferen etter bruk

Fleire nettstader som bruker same proxy får ikkje automatisk separate proxy-tilkoplingskvotar. Kapasiteten til den ledige bufferen opnar korkje tilkoplingar på førehand eller gjer dei utskiftbare: gjenbruk er avhengig av rute, mål, protokoll og autentisering.

Hald oppgåvebudsjettet til applikasjonen og ein eventuell leverandørkvote i samsvar med desse transportbudsjetta. Dei tel tilkoplingar, ikkje førespurnader per sekund. Å auke ein socket-tidsgrense kan ikkje avgjere om ei kø eller ei nettverksventing brukte tida.

Relaterte artiklar