Linux Terminalinde Web Sitesi Yükleme Hızı Nasıl Test Edilir


Web sitesi yanıt süresinin kullanıcı deneyimi üzerinde büyük etkisi olabilir ve eğer bir web geliştiricisiyseniz veya yalnızca parçaları bir arada düzenlemekten özellikle sorumlu olan bir sunucu yöneticisiyseniz, bunu kullanıcıların hissetmeyeceği bir noktaya getirmelisiniz. sitenize erişirken hayal kırıklığına uğradınız; dolayısıyla gerçekten "hıza ihtiyaç var".

Ayrıca Okuyun: httpsstat – Web Sitesi Performansını Kontrol Etmek için Bir Curl İstatistik Aracı

Bu kılavuz size bir web sitesinin yanıt süresinin Linux komut satırından nasıl test edileceğini gösterecektir. Burada saniye cinsinden sürenin nasıl kontrol edileceğini göstereceğiz. Bu işlem aşağıdakileri gerektirir:

  • ad çözümlemesi gerçekleştirmek için.
  • Sunucuya TCP bağlantısı için.
  • Dosya aktarımının başlaması için
  • aktarılacak ilk bayt için.
  • Tam operasyon için.

Ek olarak, HTTPS özellikli siteler için, yönlendirmenin ve sunucuyla SSL bağlantısının/el sıkışmanın tamamlanması için gereken süreyi saniye cinsinden nasıl test edeceğimizi de göreceğiz. Kulağa hoş geliyor, tamam, haydi başlayalım.

cURL, FILE, FTP, FTPS, HTTP, HTTPS ve daha pek çok protokolü kullanarak verileri sunucudan veya sunucuya aktarmak için kullanılan güçlü bir komut satırı aracıdır. Çoğu durumda komut satırı indiricisi olarak veya HTTP başlıklarını kontrol etmek için kullanılır. Ancak burada daha az bilinen işlevlerinden birini anlatacağız.

cURL'nin kullanışlı bir seçeneği vardır: Tamamlanan bir işlemden sonra stdout'a bilgi yazdırmak için -w. Bir web sitesinin yukarıda listelenen farklı yanıt sürelerini test etmek için kullanabileceğimiz bazı değişkenler vardır.

Belirli bir formatta değişmez bir dize olarak veya bir dosyanın içinde iletilebilen zamanla ilgili değişkenlerin bazılarını kullanacağız.

Yani terminalinizi açın ve aşağıdaki komutu çalıştırın:

curl -s -w 'Testing Website Response Time for :%{url_effective}\n\nLookup Time:\t\t%{time_namelookup}\nConnect Time:\t\t%{time_connect}\nPre-transfer Time:\t%{time_pretransfer}\nStart-transfer Time:\t%{time_starttransfer}\n\nTotal Time:\t\t%{time_total}\n' -o /dev/null http://www.google.com

Yukarıdaki formattaki değişkenler şunlardır:

  • time_namelookup – başlangıçtan ad çözümlemesinin tamamlanmasına kadar geçen saniye cinsinden süre.
  • time_connect – başlangıçtan uzak ana bilgisayara (veya proxy'ye) TCP bağlantısının tamamlanmasına kadar geçen saniye cinsinden süre.
  • time_pretransfer – dosya aktarımının başlangıcından başlamak üzere olana kadar geçen saniye cinsinden süre.
  • time_starttransfer – başlangıçtan ilk bayt aktarılmak üzere olana kadar geçen saniye cinsinden süre.
  • time_total – tüm işlemin sürdüğü saniye cinsinden toplam süre (milisaniye çözünürlük).

Biçim çok uzunsa, bunu bir dosyaya yazabilir ve okumak için aşağıdaki sözdizimini kullanabilirsiniz:

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

Yukarıdaki komutta bayrak:

  • -s – curl'a sessiz çalışmasını söyler.
  • -w – bilgiyi stdout'a yazdırır.
  • -o – çıktıyı yeniden yönlendirmek için kullanılır (burada çıktıyı /dev/null'a yönlendirerek atıyoruz).

HTTPS siteleri için aşağıdaki komutu çalıştırabilirsiniz:

curl -s -w 'Testing Website Response Time for :%{url_effective}\n\nLookup Time:\t\t%{time_namelookup}\nConnect Time:\t\t%{time_connect}\nAppCon Time:\t\t%{time_appconnect}\nRedirect Time:\t\t%{time_redirect}\nPre-transfer Time:\t%{time_pretransfer}\nStart-transfer Time:\t%{time_starttransfer}\n\nTotal Time:\t\t%{time_total}\n' -o /dev/null https://www.google.com

Yukarıdaki formatta yeni zaman değişkenleri şunlardır:

  • time_appconnect – başlangıçtan uzak ana makineye SSL bağlantısı/anlaşmanın tamamlanmasına kadar geçen saniye cinsinden süre.
  • time_redirect – son işlem başlatılmadan önce ad arama, bağlanma, ön aktarım ve aktarma dahil tüm yeniden yönlendirme adımları için geçen saniye cinsinden süre; birden çok yeniden yönlendirme için tam yürütme süresini hesaplar.

Dikkat edilmesi gereken önemli noktalar.

  • Farklı testler yürüttükçe yanıt süresi değerlerinin değişmeye devam ettiğini fark edeceksiniz (birkaç faktöre bağlı olarak), bu nedenle birkaç değer toplayıp ortalama bir hız elde etmeniz önerilir.
  • İkinci olarak yukarıdaki komutların sonuçlarından, bir web sitesine HTTP üzerinden erişmenin HTTPS üzerinden çok daha hızlı olduğunu görebilirsiniz.

Daha fazla bilgi için cURL kılavuz sayfasına bakın:

man curl

Son olarak, eğer sonuçlarınız memnun edici değilse, sunucunuzda veya kod içerisinde yapmanız gereken bazı ayarlamalar vardır. Linux'ta web sitelerinin daha hızlı yüklenmesini sağlayacak programları ve ipuçlarını açıklayan aşağıdaki eğitimleri kullanmayı düşünebilirsiniz:

  1. Nginx'i Debian ve Ubuntu'ya Ngx_Pagespeed (Hız Optimizasyonu) ile yükleyin
  2. CentOS 7'de Ngx_Pagespeed ile Nginx Performansını Hızlandırın
  3. Nginx ve Gzip Modülünü Kullanarak Web Sitelerini Nasıl Hızlandıracağınızı Öğrenin
  4. TCP BBR ile Linux Sunucu İnternet Hızı Nasıl Artırılır

Bu kadar! Artık web sitesinin yanıt süresini komut satırından nasıl test edeceğinizi biliyorsunuz. Aşağıdaki geri bildirim formunu kullanarak sorularınızı sorabilirsiniz.