ഒരു അസിങ്ക്രണസ് അഭ്യർത്ഥന കണക്ഷൻ തുറക്കുന്നതിന് മുമ്പ് സമയം കഴിഞ്ഞാൽ, നെറ്റ്‌വർക്ക് ടൈംഔട്ടുകൾക്കൊപ്പം ട്രാൻസ്‌പോർട്ടിന്റെ സജീവ പരിധികളും പരിശോധിക്കുക. ആ പരിധികൾ നിറഞ്ഞാൽ libcurl കൈമാറ്റങ്ങൾ ക്യൂവിൽ ഇടുന്നു, ക്യൂവിൽ നിൽക്കുമ്പോൾ അവയുടെ ടൈംഔട്ട് ബജറ്റുകൾ തുടരുന്നു.

Guzzle 7-ന്റെ പങ്കിട്ട cURL multi handler-നായി:

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_CONNECTIONSmulti handler-ന് കീഴിൽ ഒരേസമയം തുറന്ന കണക്ഷനുകൾ
MAX_HOST_CONNECTIONSഒരു ഹോസ്റ്റ്/പോർട്ടിലേക്കുള്ള കണക്ഷനുകൾ; പ്രോക്സി കണക്ഷനുകൾ പ്രോക്സി എൻഡ്‌പോയിന്റിന് എതിരെ കണക്കാക്കുന്നു
MAXCONNECTSഉപയോഗത്തിന് ശേഷം കാഷിൽ നിലനിർത്തുന്ന കണക്ഷനുകൾ

ഒരേ പ്രോക്സി ഉപയോഗിക്കുന്ന നിരവധി വെബ്‌സൈറ്റുകൾക്ക് സ്വയമേവ വെവ്വേറെ പ്രോക്സി കണക്ഷൻ ക്വോട്ടകൾ ലഭിക്കുന്നില്ല. നിഷ്ക്രിയ കാഷ് ശേഷി മുൻകൂട്ടി കണക്ഷനുകൾ തുറക്കുന്നില്ല, അവ പരസ്പരം മാറ്റാവുന്നതുമാക്കുന്നില്ല: പുനരുപയോഗം റൂട്ട്, ലക്ഷ്യം, പ്രോട്ടോക്കോൾ, പ്രാമാണീകരണം എന്നിവയെ ആശ്രയിച്ചിരിക്കുന്നു.

ആപ്ലിക്കേഷൻ ജോലി ബജറ്റും ദാതാവിന്റെ ക്വോട്ടയും ഈ ട്രാൻസ്‌പോർട്ട് ബജറ്റുകളുമായി പൊരുത്തപ്പെടുത്തി നിലനിർത്തുക. അവ കണക്ഷനുകളാണ് കണക്കാക്കുന്നത്, സെക്കൻഡിലെ അഭ്യർത്ഥനകളല്ല. സോക്കറ്റ് ടൈംഔട്ട് കൂട്ടിയാൽ ക്യൂവോ നെറ്റ്‌വർക്ക് കാത്തിരിപ്പോ സമയം ചെലവഴിച്ചത് ഏതാണെന്ന് തിരിച്ചറിയാനാവില്ല.

അനുബന്ധ ലേഖനങ്ങൾ