Milisaniye cinsinden bir http isteğini zamanlamak için basit Linux aracı


12

Belirli bir URL'den uzak bir web sayfasını almak için geçen süreyi milisaniye hassasiyetle ölçmemi sağlayacak basit bir araç veya yerleşik komut arıyorum.

Yanıtlar:


12

Bu aradığın şeyi yapıyor mu?

time wget http://example.com

Bu, sunucunun yanıtlama süresinden önemli ölçüde daha uzun olabilen wget'in başlatılması ve çalıştırılması için gereken süreyi içerir.
Paul Lynch,

@ PaulLynch: Basit bir test yaptım. Bunu bir terminalde rm foo; touch foo; python -m SimpleHTTPServerve diğerinde koştum : time wget --quiet --output-document=/dev/null localhost:8000/foosonuç 2 milisaniyeydi. Aynısını wgetgoogle.com'a (yaklaşık 10 bin karakter alan) karşı koştum ve saniyenin dörtte birini aldım. Öyleyse başlangıç ​​/ çalışma zamanını bu durumda yaklaşık% 1 olarak çağıralım. Sonra karşılaştırma için, time curl file://fooyaklaşık 4 milisaniye yaptım ve aldım.
Dennis Williamson,

Görünüşe göre haklısın, http istekleri için-- ki sadece 2ms yavaşlama alıyorum. Bir https URL’si almaya çalışıyordum. Bunun için, wget, Chrome'un yaklaşık 10ms ("önbellekten" değil) döndürdüğü bir istek için yaklaşık 25ms daha yavaştır. Hem wget hem de Chrome, web sunucusu ile aynı makinede çalışıyor ve onu "localhost" olarak işaret ediyor, bu yüzden zaman farkı için wget'i suçluyorum.
Paul Lynch

7

Httping bunu yapacak.

Httping 'ping' gibidir ancak http istekleri içindir. Bir URL verin; size bağlanmanın, bir istek göndermenin ve yanıtı almanın ne kadar sürdüğünü gösterir (yalnızca başlıklar). Ağ üzerinden iletimin de zaman alacağına dikkat edin! Bu yüzden web sunucusu + ağın gecikme süresini ölçer.


3

Wireshark bir transferi çok ayrıntılı olarak incelemenize izin verecek. Dennis'in önerdiği gibi tek bir dosyayı indirmenin ne kadar süreceğini veya URL'yi bir web tarayıcısında açarsanız, tüm ilgili dosyaların (resimler, komut dosyaları vb.) Yüklenmesinin ne kadar sürdüğünü görebilirsiniz.


2

Bu cevaba göre kıvırmakla yapabilirsiniz

Yeni bir dosya oluşturun curl-format.txtve şunu yapıştırın:

    time_namelookup:  %{time_namelookup}\n
       time_connect:  %{time_connect}\n
    time_appconnect:  %{time_appconnect}\n
   time_pretransfer:  %{time_pretransfer}\n
      time_redirect:  %{time_redirect}\n
 time_starttransfer:  %{time_starttransfer}\n
                    ----------\n
         time_total:  %{time_total}\n

Ardından kıvrılanı şöyle çalıştırın:

curl -w "@curl-format.txt" -o /dev/null -s "http://wordpress.com/"

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.