यदि कोई अतुल्यकालिक अनुरोध कनेक्शन खोलने से पहले समाप्त हो जाता है, तो नेटवर्क टाइमआउट के साथ-साथ ट्रांसपोर्ट की सक्रिय सीमाएँ भी जाँचें। जब वे सीमाएँ भर जाती हैं तो 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उपयोग के बाद कैश में रखे गए कनेक्शन

एक ही प्रॉक्सी का उपयोग करने वाली कई वेबसाइटों को स्वतः अलग प्रॉक्सी कनेक्शन भत्ते नहीं मिलते। निष्क्रिय कैश क्षमता न तो पहले से कनेक्शन खोलती है और न ही उन्हें परस्पर विनिमेय बनाती है: पुनः उपयोग मार्ग, गंतव्य, प्रोटोकॉल और प्रमाणीकरण पर निर्भर करता है।

एप्लिकेशन कार्य बजट और किसी भी प्रदाता भत्ते को इन ट्रांसपोर्ट बजट के अनुरूप रखें। वे कनेक्शन गिनते हैं, प्रति सेकंड अनुरोध नहीं। सॉकेट टाइमआउट बढ़ाने से यह पहचाना नहीं जा सकता कि कतार ने या नेटवर्क प्रतीक्षा ने समय लिया।

संबंधित लेख