Guzzle'i päring võib ühenduspesa oodates aeguda
Määrake cURL multi aktiivsed ühenduseelarved jagatud handleril ja eristage neid jõudeoleku vahemälu mahust.
Kui asünkroonne päring aegub enne ühenduse avamist, kontrollige lisaks võrgu ajapiirangutele ka transporti aktiivseid limiite. Kui need limiidid on hõivatud, paneb libcurl ülekanded järjekorda ja nende ajapiirangute eelarved jätkuvad ka järjekorras olles.
Guzzle 7 jagatud cURL multi handleri jaoks:
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),
]);Kasutage seda klienti asünkroonse töö jaoks ja andke operatsioonidele selle kavandatud proksi valik. Väärtused on näidiseelarved. Avalike vahendaja kaudu lubatud avalike päringute jaoks pakub HTTP prokside loend kandidaate operatsioonide proksi-URL-idele.
| Valik | Eelarve |
|---|---|
| MAX_TOTAL_CONNECTIONS | Samaaegselt avatud ühendused multi handleri all |
| MAX_HOST_CONNECTIONS | Ühendused ühe hosti/pordiga; proksiühendused arvestatakse proksi lõpp-punkti vastu |
| MAXCONNECTS | Ühendused, mis jäävad pärast kasutamist vahemällu |
Mitu sama proksit kasutavat veebisaiti ei saa automaatselt eraldi proksiühenduse kvoote. Jõudeoleku vahemälu maht ei ava ühendusi ette ega muuda neid vahetatavaks: korduskasutus sõltub marsruudist, sihtkohast, protokollist ja autentimisest.
Hoidke rakenduse ülesande-eelarve ja võimalik teenusepakkuja kvoot kooskõlas nende transpordi eelarvetega. Need loevad ühendusi, mitte päringuid sekundis. Soketi ajapiirangu suurendamine ei näita, kas aja kulutas järjekord või võrguootus.