ညှိနှိုင်းမှုမရှိသော တောင်းဆိုမှုတစ်ခုသည် ချိတ်ဆက်မှုမဖွင့်မီ အချိန်ကုန်သွားပါက ကွန်ရက် အချိန်ကန့်သတ်ချက်များအပြင် သယ်ယူပို့ဆောင်မှု၏ တက်ကြွ ကန့်သတ်ချက်များကို စစ်ဆေးပါ။ ထို ကန့်သတ်ချက်များ ပြည့်နေပါက 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 ကို ညှိနှိုင်းမှုမရှိသော အလုပ်အတွက် အသုံးပြုပြီး လုပ်ငန်းစဉ်များတွင် ၎င်း၏ ရည်ရွယ်ထားသော proxy ရွေးချယ်မှု ကို ပေးပါ။ တန်ဖိုးများသည် နမူနာ ဘတ်ဂျက်များဖြစ်သည်။ အများပြည်သူ ကြားခံဖြင့် ခွင့်ပြုထားသော အများပြည်သူ တောင်းဆိုမှုများအတွက် HTTP proxy စာရင်း သည် လုပ်ငန်းစဉ်များ၏ proxy URL များအတွက် ကိုယ်စားလှယ်လောင်းများ ပေးသည်။

ရွေးချယ်မှုဘတ်ဂျက်
MAX_TOTAL_CONNECTIONSmulti handler အောက်တွင် တစ်ပြိုင်နက် ဖွင့်ထားသော ချိတ်ဆက်မှုများ
MAX_HOST_CONNECTIONShost/port တစ်ခုသို့ ချိတ်ဆက်မှုများ; proxy ချိတ်ဆက်မှုများကို proxy အဆုံးမှတ်တွင် ရေတွက်သည်
MAXCONNECTSအသုံးပြုပြီးနောက် cache တွင် ထိန်းသိမ်းထားသော ချိတ်ဆက်မှုများ

တူညီသော proxy ကို အသုံးပြုသော ဝဘ်ဆိုက်များစွာသည် သီးခြား proxy ချိတ်ဆက်မှု ခွဲတမ်းများကို အလိုအလျောက် မရရှိပါ။ မလှုပ်ရှားသော cache စွမ်းရည်သည် ချိတ်ဆက်မှုများကို ကြိုတင်မဖွင့်ဘဲ ၎င်းတို့ကို အလှည့်ကျ လဲလှယ်နိုင်အောင်လည်း မပြုလုပ်ပါ: ပြန်လည်အသုံးပြုမှုသည် လမ်းကြောင်း၊ ဦးတည်ရာ၊ ပရိုတိုကော နှင့် စစ်မှန်ကြောင်း အတည်ပြုမှုအပေါ် မူတည်သည်။

အပလီကေးရှင်း၏ အလုပ်ဘတ်ဂျက်နှင့် ဝန်ဆောင်မှုပေးသူ၏ ခွဲတမ်းများကို ဤသယ်ယူပို့ဆောင်မှု ဘတ်ဂျက်များနှင့် ကိုက်ညီအောင် ထိန်းသိမ်းပါ။ ၎င်းတို့သည် ချိတ်ဆက်မှုများကို ရေတွက်သည်၊ တစ်စက္ကန့် တောင်းဆိုမှုများ မဟုတ်ပါ။ socket အချိန်ကန့်သတ်ချက်ကို တိုးခြင်းဖြင့် တန်းစီခြင်း သို့မဟုတ် ကွန်ရက်စောင့်ဆိုင်းမှုက အချိန်ကို အသုံးပြုခဲ့ခြင်း ရှိ၊ မရှိ ဖော်ထုတ်နိုင်မည် မဟုတ်ပါ။

ဆက်စပ်ဆောင်းပါးများ