PHP, curl_upkeep () တွင် connection corningsure overhead ကိုလျှော့ချရန်နှင့်တောင်းဆိုသည့်အချိန်တိုင်းတိုင်းကိုပိတ်ထားသည့်အခါတိုင်းကိုလျှော့ချရန်အမြဲတမ်းဆက်သွယ်မှုရေကူးကန်ကိုထိန်းသိမ်းထားသော function တစ်ခုဖြစ်သည်။ HTTP တောင်းဆိုမှုများအတွက် gozzle ကိုအသုံးပြုသောအခါအဘယ်သူသည် curl_upkeep () function ကိုမပေးနိုင်ပါ, ဤဆောင်းပါးသည်အလားတူလုပ်ဆောင်နိုင်စွမ်းကိုမည်သို့အကောင်အထည်ဖော်ရမည်ကိုရှင်းပြပါမည်။
curl_upkeep () သည် Php ၏ဆံပင်ကောက်ကောက်တိုးချဲ့မှုတွင်အသုံးပြုသောဆက်သွယ်မှုကိုဆက်လက်ထိန်းသိမ်းရန်အတွက်အသုံးပြုသော function တစ်ခုဖြစ်ပြီးပွင့်လင်းသောဆက်သွယ်မှုများကိုပြန်လည်သုံးသပ်ခြင်းဖြင့်ထိရောက်မှုကိုတိုးတက်စေသည်။ ဤချဉ်းကပ်မှုသည်တောင်းဆိုမှုတစ်ခုစီနှင့်ဆက်သွယ်မှုကိုပြန်လည်တည်ဆောက်ခြင်းနှင့်နှိုင်းယှဉ်ခြင်းနှင့်နှိုင်းယှဉ်ပါကတောင်းဆိုမှုများ၏ latency နှင့် bandwidth သုံးစွဲမှုကိုသိသိသာသာလျော့နည်းစေသည်။
ဂေါက်သီးသည် curl_upkeep () ၏လုပ်ဆောင်နိုင်မှုနှင့်ဆင်တူသည့်ထူးခြားသောဆက်သွယ်မှုများနှင့်ဆက်သွယ်မှုရေကန်များစီမံခန့်ခွဲမှု၏စီမံခန့်ခွဲမှုနှင့်ဆင်တူသည့်စွမ်းအားများနှင့်ဆက်သွယ်မှုရေကန်များစီမံခန့်ခွဲမှုနှင့်ဆင်တူသည်။ ကျွန်ုပ်တို့သည်ဤအရာကိုပြင်ဆင်ခြင်းသည် http client ကို configure လုပ်ခြင်းဖြင့်ပြုလုပ်နိုင်သည်။
ဂေါက်သီးဖြင့်ဆက်သွယ်မှုရေကန်၏စီမံခန့်ခွဲမှုကို ကိုင်တွယ်ပုံ နှင့် curlmultihandler မှတဆင့်အကောင်အထည်ဖော်သည်။ တောင်းဆိုမှုတစ်ခုပေးသည့်အခါတိုင်း guzzal သည် connection ကိုပြန်လည်တည်ဆောက်ရန်မလိုဘဲဆက်သွယ်မှုကိုပြန်လည်တည်ဆောက်ရန်မလိုဘဲရှိပြီးသားဆက်သွယ်မှုကိုအလိုအလျောက်ပြန်လည်သုံးသပ်လိမ့်မည် ။
ဂေါက်သီးဖြင့်ကျွန်ုပ်တို့သည် Max_requests နှင့် Persistent Configurations မှတဆင့် connection pool ၏အပြုအမူကိုထိန်းချုပ်နိုင်သည်။ တောင်းဆိုမှုများ၏ထိရောက်မှုကိုသေချာစေရန်ဤ configuration ပစ္စည်းများသည် connection pool, ပြန်လည်သုံးသပ်ခြင်းမူဝါဒများ၏အရွယ်အစားကိုပိုမိုကောင်းမွန်စေရန်ခွင့်ပြုလိမ့်မည်။
curl_upkeep ()] နှင့်အတူအကျိုးသက်ရောက်မှုကိုရရှိရန်အတွက်, အောက်ပါတို့ကိုသေချာစေရန်လိုအပ်သည်။
ဆက်သွယ်မှုမျိုးစုံကိုထိန်းသိမ်းထားနိုင်အောင် Connection Pool ၏အရွယ်အစားကိုပြင်ဆင်ပါ ။
သင်တောင်းဆိုသည့်အခါတိုင်း TCP ဆက်သွယ်မှုအသစ်မတည်ဆောက်ရန် ချိတ်ဆက်မှုခိုင်းများတပ်ဆင်ပါ ။
ဆက်သွယ်မှုရေကန်အတွင်းရှိဆက်သွယ်မှုများကိုပြန်လည်အသုံးပြုနိုင်ရန် တောင်းဆိုမှုများအရေအတွက်ကိုတိုးမြှင့်ပါ ။
ဤ Configurations ကို agoutjurations တွင်မည်သို့အကောင်အထည်ဖော်ရမည်ကိုကုဒ်ဥပမာတစ်ခု -
<?php
use GuzzleHttp\Client;
use GuzzleHttp\HandlerStack;
use GuzzleHttp\Handler\CurlMultiHandler;
// တစ် ဦး ထုံးစံတစ်ခုဖန်တီးပါ HandlerStack
$stack = HandlerStack::create(new CurlMultiHandler());
// connection pools နှင့်မြှောက်ဆက်သွယ်မှုကို configure configure
$client = new Client([
'base_uri' => 'https://m66.net',
'handler' => $stack,
'timeout' => 30, // တောင်းဆိုမှုအချိန်ကိုသတ်မှတ်ပါ
'http_errors' => false, // အမှားများကိုအလိုအလျောက်ပစ်ချခြင်းပိတ်ထားပါ
'connect_timeout' => 5, // connection timeout သတ်မှတ်ပါ
'max_requests' => 10, // အများဆုံးမှာထားပါ10တစ်ပြိုင်နက်တည်းတောင်းဆိုမှုများ
'persistent' => true // မြဲ connection များကို enable
]);
// ပေးပို့ GET မေးမြန်း
$response = $client->request('GET', '/path/to/resource');
// တုန့်ပြန်အကြောင်းအရာကိုရယူပါ
echo $response->getBody();
HandlerStack :: ဖန်တီးခြင်း (New Curlmultihandler ()) ကိုဖန်တီးပါ ။ ဤကုဒ်နံပါတ်သည် curlmultihandler ကို အသုံးပြု. community client ကိုဖန်တီးသည်။ Curlmultihandler က အပြိုင်တောင်းဆိုမှုများနှင့်မြဲမြဲချိတ်ဆက်မှုများကိုထောက်ပံ့သည်။
'Persistent' => True : enable connection ကို enable လုပ်ပါ။ ဤနည်းဖြင့် Grozzle သည်ဆက်နွယ်မှုကိုအချိန်တိုင်းပြန်လည်တည်ဆောက်ရန်မလိုဘဲရှိပြီးသားဆက်သွယ်မှုများကိုပြန်လည်ချိတ်ဆက်ထားသည်။
'Max_requests' => 10 : connection pool အရွယ်အစားကိုတစ်ပြိုင်နက်တည်းတောင်းဆိုမှုများအထိသတ်မှတ်ပါ။
ဤချိန်ညှိချက်များနှင့်အတူ Grozzle သည် http connection pools နှင့်စွမ်းဆောင်ရည်မြှင့်တင်ရန်ကိုအလိုအလျောက်စီမံသည်။
အမှန်တကယ်ထုတ်လုပ်မှုပတ်ဝန်းကျင်တွင်ကျွန်ုပ်တို့သည်အခြားအချက်များကဲ့သို့သောအခြားအချက်များကိုစဉ်းစားရန်လိုအပ်သည်။
တစ်ပြိုင်နက်တည်းတစ်ပြိုင်နက်တည်းတောင်းဆိုမှုအရေအတွက် - တစ်ပြိုင်နက်တည်းတောင်းဆိုမှုများကိုကိုင်တွယ်နိုင်ပြီး connection pool ၏အမြင့်ဆုံးကန့်သတ်ချက်ထက်မကျော်လွန်နိုင်ကြောင်းသေချာစေပါ။
အမှားကိုင်တွယ်ခြင်း - ဥပမာအားဖြင့်တောင်းဆိုမှုပျက်ကွက်သည့်အခါအလိုအလျောက်ပြန်ကြိုးစားမှုလိုအပ်သည်။
နှောင့်နှေးခြင်း optimization - တောင်းဆိုမှု၏တုန့်ပြန်မှုအချိန်သည်ရှည်လျားပြီး အချိန်ကုန်ခြင်း နှင့် Connect_Timeout ကို သင့်လျော်စွာထည့်သွင်းနိုင်သည်။
ဤပြင်ဆင်မှုပစ္စည်းများသည်သင်၏နှုတ်ခွန်းဆက်စကားများကိုထိရောက်စွာနှင့်တည်ငြိမ်စွာလည်ပတ်နိုင်အောင်အမှန်တကယ်လိုအပ်ချက်များနှင့်အညီပြုပြင်နိုင်သည်။
ဂေါက်သီး connection နှင့် Persistent Connection လုပ်ဆောင်ချက်များအားဖြင့်ကျွန်ုပ်တို့သည် curl_upkeep () သည် - အကျိုးသက်ရောက်မှုများကိုရရှိနိုင်ပါသည်။ သင့်လျော်သော configuration နှင့်အတူတောင်းဆိုမှုများ၏ထိရောက်မှုကိုသေချာစေရန်သေချာစေပြီး connection ဖန်တီးမှုဖန်တီးမှုဖန်တီးမှုနှင့်ဖျက်ဆီးခြင်း၏ overhead လျှော့ချနိုင်ပါတယ်။ Grozzle သည်ကျွန်ုပ်တို့၏လျှောက်လွှာများသည် 0 တ်စုံ 0 င်စားမှုမြင့်ပတ်ဝန်းကျင်တွင်တည်ငြိမ်နေစေရန် HTTP connection pools များကိုစီမံရန်အစွမ်းထက်သော configuration options များကိုပေးသည်။