Asinxron sorğu bağlantı açılmadan əvvəl vaxtı bitirsə, şəbəkə taymautları ilə yanaşı transportun aktiv limitlərini də yoxlayın. Bu limitlər dolu olduqda libcurl ötürmələri növbəyə qoyur və növbədə olarkən onların taymaut büdcələri davam edir.

Guzzle 7-nin paylaşılan cURL multi handler-i üçün:

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),
]);

Bu klienti asinxron iş üçün istifadə edin və əməliyyatlarda onun nəzərdə tutulan proksi seçimini təqdim edin. Dəyərlər nümunə büdcələrdir. Açıq vasitəçi ilə icazə verilən açıq sorğular üçün HTTP proksi siyahısı əməliyyatların proksi URL-ləri üçün namizədlər verir.

SeçimBüdcə
MAX_TOTAL_CONNECTIONSMulti handler altında eyni vaxtda açıq bağlantılar
MAX_HOST_CONNECTIONSBir host/porta bağlantılar; proksi bağlantıları proksi son nöqtəsinə aid sayılır
MAXCONNECTSİstifadədən sonra keşdə saxlanılan bağlantılar

Eyni proksidən istifadə edən bir neçə vebsayt avtomatik olaraq ayrı proksi bağlantı icazəsi almır. Boş keş tutumu nə əvvəlcədən bağlantı açır, nə də onları bir-birini əvəz edən edir: təkrar istifadə marşrutdan, təyinatdan, protokoldan və autentifikasiyadan asılıdır.

Tətbiqin tapşırıq büdcəsini və hər hansı provayder icazəsini bu transport büdcələri ilə uyğun saxlayın. Onlar saniyədə sorğu deyil, bağlantı sayır. Soket taymautunu artırmaq növbənin yoxsa şəbəkə gözləməsinin vaxtı sərf etdiyini müəyyən edə bilməz.

Əlaqəli məqalələr