Değişken CURL Tepki Süresi

2 Cevap php

Ben bir JSON ve isteği alır ve bir JSON yanıt döndüren bir HTTPS sitesine bir PHP CURL isteği var. Genellikle 1 saniyeden fazla sürmemelidir. Ama CURL tepki süresi değişken olduğunu gördük. Bazen, cevap ve bazen 1.2 saniye 4 saniye sürer. Neden bu kadar ve nasıl bir saniyeden daha daha hızlı ve daha az olarak bütün isteği işleyebilir?

3 farklı zamanlarda aynı talep için kıvrılma tepki süreleri aşağıdadır ..

Array
(
    [url] => https://xx.xx.xxx.xx/site/y
    [content_type] => application/json
    [http_code] => 200
    [header_size] => 198
    [request_size] => 358
    [filetime] => -1
    [ssl_verify_result] => 20
    [redirect_count] => 0
    [total_time] => 4.213941
    [namelookup_time] => 2.1E-5
    [connect_time] => 0.015284
    [pretransfer_time] => 0.722955
    [size_upload] => 222
    [size_download] => 553
    [speed_download] => 131
    [speed_upload] => 52
    [download_content_length] => 0
    [upload_content_length] => 0
    [starttransfer_time] => 4.015112
    [redirect_time] => 0
)


Array
(
    [url] => https://xx.xx.xxx.xx/site/y
    [content_type] => application/json
    [http_code] => 200
    [header_size] => 198
    [request_size] => 358
    [filetime] => -1
    [ssl_verify_result] => 20
    [redirect_count] => 0
    [total_time] => 1.27581
    [namelookup_time] => 8.3E-5
    [connect_time] => 0.016223
    [pretransfer_time] => 0.104996
    [size_upload] => 222
    [size_download] => 553
    [speed_download] => 433
    [speed_upload] => 174
    [download_content_length] => 0
    [upload_content_length] => 0
    [starttransfer_time] => 1.273922
    [redirect_time] => 0
)

Array
(
    [url] => https://xx.xx.xxx.xx/site/y
    [content_type] => application/json
    [http_code] => 200
    [header_size] => 198
    [request_size] => 358
    [filetime] => -1
    [ssl_verify_result] => 20
    [redirect_count] => 0
    [total_time] => 1.294147
    [namelookup_time] => 7.0E-5
    [connect_time] => 0.025723
    [pretransfer_time] => 0.123456
    [size_upload] => 222
    [size_download] => 553
    [speed_download] => 427
    [speed_upload] => 171
    [download_content_length] => 0
    [upload_content_length] => 0
    [starttransfer_time] => 1.292577
    [redirect_time] => 0
)

2 Cevap

Site başka ne yapıyor? Bu parçacığı sabit sayıda (diyelim ki) vardır ve her meşgul ise, o zaman sizin istek o servis için bir iş parçacığı için beklemek zorunda kalacak. Konu meşgul iseniz, o zaman hemen servise olacak.

Tabii basit senaryo sunucu CPU sınırlı kaynaklara sahip olduğunu verilmiş ve istekleri belirsiz bir sayıda hizmet, hiçbir hizmet guaranteees vardır.

CURL PHP HTTP isteklerini yapmak için en iyi yoldur. Bu, neredeyse kesinlikle zaman alıyor hizmetidir. Deli bir sandviç doğrultusunda bekliyor gibi. Hizmetin hızını senin elinde olduğunu ve kullanabileceğiniz alternatif hizmetler varsa, o zaman yapılacak en iyi şey, emin sayfanızdaki her şeyi istek yapılan edilirken yüklemeye devam yapmaktır.