Guzzle கோரிக்கை இணைப்பு இடத்திற்காக காத்திருக்கும்போது நேரம் முடிந்துவிடலாம்
பகிரப்பட்ட handler இல் cURL multi இன் செயலில் உள்ள இணைப்பு பட்ஜெட்டுகளை அமைத்து, அவற்றை செயலற்ற கேச் திறனிலிருந்து வேறுபடுத்துங்கள்.
ஒரு ஒத்திசைவற்ற கோரிக்கை இணைப்பைத் திறப்பதற்கு முன்பே காலாவதியானால், பிணைய நேர வரம்புகளுடன் போக்குவரத்தின் செயலில் உள்ள வரம்புகளையும் சரிபார்க்கவும். அந்த வரம்புகள் நிரம்பியிருந்தால் 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),
]);ஒத்திசைவற்ற வேலைக்கு இந்த client ஐப் பயன்படுத்தி, செயல்பாடுகளில் அதன் நோக்கமான ப்ராக்ஸி விருப்பத்தை வழங்கவும். மதிப்புகள் எடுத்துக்காட்டு பட்ஜெட்டுகள். பொது இடைத்தரகர் வழியாக அனுமதிக்கப்படும் பொது கோரிக்கைகளுக்கு, HTTP ப்ராக்ஸி பட்டியல் செயல்பாடுகளின் ப்ராக்ஸி URL களுக்கு வேட்பாளர்களை வழங்குகிறது.
| விருப்பம் | பட்ஜெட் |
|---|---|
| MAX_TOTAL_CONNECTIONS | multi handler இன் கீழ் ஒரே நேரத்தில் திறக்கப்பட்ட இணைப்புகள் |
| MAX_HOST_CONNECTIONS | ஒரு ஹோஸ்ட்/போர்ட்டுக்கான இணைப்புகள்; ப்ராக்ஸி இணைப்புகள் ப்ராக்ஸி முனையத்திற்கு எதிராக கணக்கிடப்படும் |
| MAXCONNECTS | பயன்பாட்டிற்குப் பிறகு கேசில் வைக்கப்படும் இணைப்புகள் |
ஒரே ப்ராக்ஸியைப் பயன்படுத்தும் பல இணையதளங்கள் தானாக தனித்தனி ப்ராக்ஸி இணைப்பு ஒதுக்கீடுகளைப் பெறுவதில்லை. செயலற்ற கேச் திறன் முன்கூட்டியே இணைப்புகளைத் திறக்காது, அவற்றை ஒன்றுக்கொன்று மாற்றக்கூடியதாகவும் ஆக்காது: மறுபயன்பாடு வழி, இலக்கு, நெறிமுறை மற்றும் அங்கீகாரத்தைப் பொறுத்தது.
பயன்பாட்டு பணி பட்ஜெட்டையும் வழங்குநர் ஒதுக்கீட்டையும் இந்தப் போக்குவரத்து பட்ஜெட்டுகளுடன் ஒத்துப்போகச் செய்யுங்கள். அவை இணைப்புகளை எண்ணுகின்றன, வினாடிக்கு கோரிக்கைகளை அல்ல. socket நேர வரம்பை உயர்த்துவதால் வரிசையா அல்லது பிணையக் காத்திருப்பா நேரத்தை எடுத்தது என்பதை அடையாளம் காண முடியாது.