បើសំណើអសមកាលផុតកំណត់មុនពេលបើកការតភ្ជាប់ សូមពិនិត្យដែនកំណត់សកម្មរបស់ការដឹកជញ្ជូន ព្រមទាំងពេលផុតកំណត់បណ្តាញ។ libcurl ដាក់ការផ្ទេរក្នុងជួរនៅពេលដែនកំណត់ទាំងនោះពេញ ហើយថវិកាពេលផុតកំណត់របស់វាបន្តដំណើរការពេលនៅក្នុងជួរ។

សម្រាប់ cURL multi handler រួមរបស់ 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),
]);

ប្រើ client នេះសម្រាប់ការងារអសមកាល ហើយផ្តល់ជម្រើសប្រូកស៊ីដែលបានបម្រុងទុករបស់វានៅលើប្រតិបត្តិការ។ តម្លៃទាំងនេះជាថវិកាឧទាហរណ៍។ សម្រាប់សំណើសាធារណៈដែលអនុញ្ញាតតាមរយៈអន្តរការីសាធារណៈ បញ្ជីប្រូកស៊ី HTTP ផ្តល់បេក្ខជនសម្រាប់ URL ប្រូកស៊ីរបស់ប្រតិបត្តិការ។

ជម្រើសថវិកា
MAX_TOTAL_CONNECTIONSការតភ្ជាប់បើកក្នុងពេលតែមួយក្រោម multi handler
MAX_HOST_CONNECTIONSការតភ្ជាប់ទៅ host/port មួយ; ការតភ្ជាប់ប្រូកស៊ីរាប់បញ្ចូលលើចំណុចចុងក្រោយប្រូកស៊ី
MAXCONNECTSការតភ្ជាប់ដែលរក្សាទុកក្នុងឃ្លាំងសម្ងាត់បន្ទាប់ពីប្រើ

គេហទំព័រជាច្រើនដែលប្រើប្រូកស៊ីដូចគ្នាមិនទទួលបានកូតាតភ្ជាប់ប្រូកស៊ីដាច់ដោយឡែកដោយស្វ័យប្រវត្តិទេ។ សមត្ថភាពឃ្លាំងសម្ងាត់ទំនេរមិនបើកការតភ្ជាប់ជាមុន ហើយក៏មិនធ្វើឱ្យវាអាចជំនួសគ្នាបានដែរ៖ ការប្រើឡើងវិញអាស្រ័យលើផ្លូវ គោលដៅ ពិធីការ និងការផ្ទៀងផ្ទាត់។

រក្សាថវិកាកិច្ចការរបស់កម្មវិធី និងកូតាអ្នកផ្តល់សេវាណាមួយឱ្យស៊ីគ្នានឹងថវិកាដឹកជញ្ជូនទាំងនេះ។ ពួកវារាប់ការតភ្ជាប់ មិនមែនសំណើក្នុងមួយវិនាទី។ ការបង្កើនពេលផុតកំណត់ socket មិនអាចកំណត់ថាជួរ ឬការរង់ចាំបណ្តាញបានប្រើពេលឬអត់។

អត្ថបទពាក់ព័ន្ធ