Ombi la Guzzle linaweza kuisha muda linaposubiri nafasi ya muunganisho
Weka bajeti za muunganisho hai za cURL multi kwenye handler inayoshirikiwa na uzitofautishe na uwezo wa akiba isiyotumika.
Ikiwa ombi lisilo la moja kwa moja linaisha muda kabla ya kufungua muunganisho, angalia mipaka hai ya usafirishaji pamoja na muda wa mtandao. libcurl huweka uhamisho kwenye foleni wakati mipaka hiyo imejaa, na bajeti za muda wake zinaendelea wakati zikiwa kwenye foleni.
Kwa handler ya cURL multi inayoshirikiwa ya 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),
]);Tumia mteja huyu kwa kazi isiyo ya moja kwa moja na toa chaguo la proksi linalokusudiwa kwenye shughuli. Thamani ni bajeti za mfano. Kwa maombi ya umma yanayoruhusiwa kupitia mpatanishi wa umma, orodha ya proksi za HTTP hutoa wagombea kwa URL za proksi za shughuli.
| Chaguo | Bajeti |
|---|---|
| MAX_TOTAL_CONNECTIONS | Muunganisho uliofunguliwa kwa wakati mmoja chini ya handler nyingi |
| MAX_HOST_CONNECTIONS | Muunganisho kwa mwenyeji/bandari moja; muunganisho wa proksi huhesabiwa dhidi ya mwisho wa proksi |
| MAXCONNECTS | Muunganisho unaobaki kwenye akiba baada ya kutumika |
Tovuti kadhaa zinazotumia proksi sawa hazipati moja kwa moja mgao tofauti wa muunganisho wa proksi. Uwezo wa akiba isiyotumika haufungui muunganisho mapema wala haufanyi uweze kubadilishana: utumiaji upya hutegemea njia, lengwa, itifaki na uthibitishaji.
Weka bajeti ya kazi za programu na mgao wowote wa mtoa huduma sambamba na bajeti hizi za usafirishaji. Zinahesabu muunganisho, si maombi kwa sekunde. Kuongeza muda wa socket hakuwezi kutambua kama foleni au kusubiri mtandao kulitumia muda.