Cara Menguji Kelajuan Memuat Laman Web di Terminal Linux

Cara Menguji Kelajuan Memuat Laman Web di Terminal Linux

Waktu tindak balas laman web boleh memberi impak yang besar kepada pengalaman pengguna, dan jika anda seorang pemaju web, atau hanya pentadbir pelayan yang sangat bertanggungjawab untuk menganjurkan kepingan bersama, maka anda harus membuat titik yang tidak dirasakan oleh pengguna kecewa semasa mengakses laman web anda - jadi ada "memerlukan kelajuan".

Baca juga: httpstat - alat statistik curl untuk memeriksa prestasi laman web

Panduan ini akan menunjukkan kepada anda bagaimana untuk menguji masa tindak balas laman web dari baris arahan Linux. Di sini, kami akan menunjukkan bagaimana untuk menyemak masa dalam beberapa saat, yang diperlukan:

  • Untuk melaksanakan resolusi nama.
  • untuk sambungan TCP ke pelayan.
  • untuk pemindahan fail bermula.
  • untuk bait pertama yang akan dipindahkan.
  • untuk operasi lengkap.

Di samping itu, untuk laman web yang dibolehkan HTTPS, kami juga akan melihat bagaimana untuk menguji masa, dalam beberapa saat, diperlukan: untuk redirect, dan sambungan/jabat tangan SSL ke pelayan untuk diselesaikan. Kedengarannya betul, okey, mari kita mulakan.

curl adalah alat baris perintah yang kuat untuk memindahkan data dari atau ke pelayan, menggunakan protokol seperti Fail, FTP, FTPS, HTTP, HTTPS dan banyak lagi. Dalam kebanyakan kes, ia digunakan sebagai pengundian baris arahan, atau untuk memeriksa tajuk HTTP. Walau bagaimanapun, di sini, kami akan menerangkan salah satu fungsinya yang kurang dikenali.

curl mempunyai pilihan yang berguna: -w untuk mencetak maklumat mengenai STDOUT selepas operasi yang lengkap. Ia mempunyai beberapa pembolehubah yang boleh kita gunakan untuk menguji masa tindak balas yang berbeza yang disenaraikan di atas, dari laman web.

Kami akan menggunakan beberapa pembolehubah yang berkaitan dengan masa, yang boleh diluluskan dalam format yang diberikan sebagai rentetan literal atau di dalam fail.

Oleh itu, buka terminal anda dan jalankan arahan di bawah:

$ curl -s -s -w 'Testing Laman web Masa tindak balas untuk:%url_effective \ n \ nlookup time: \ t \ t%time_namelookup \ nconnect time: \ t \ t%time_connect \ npre -transfer masa: \ t%time_pretransfer \ nstart -transfer time: \ t%time_starttransfer \ n \ ntotal time: \ t \ t%time_total \ n '-o/dev/null http: // www.Google.com 
Ujian Laman Web Memuatkan Kelajuan

Pembolehubah dalam format di atas adalah:

  • Time_namelookup - masa, dalam beberapa saat, ia mengambil masa dari awal sehingga penyelesaian nama selesai.
  • time_connect - masa, dalam beberapa saat, ia mengambil masa dari awal sehingga TCP menyambung ke hos jauh (atau proksi) selesai.
  • time_pretransfer - masa, dalam beberapa saat, ia mengambil masa dari awal sehingga pemindahan fail hampir bermula.
  • time_starttransfer - masa, dalam beberapa saat, ia mengambil masa dari awal sehingga bait pertama hanya akan dipindahkan.
  • time_total - Jumlah masa, dalam beberapa saat, bahawa operasi penuh berlangsung (resolusi milisaat).

Jika formatnya terlalu panjang, anda boleh menulisnya dalam fail dan menggunakan sintaks di bawah untuk membacanya:

$ curl -s -w "@Format.txt "-o/dev/null http: // www.Google.com 

Dalam perintah di atas, bendera:

  • -s - memberitahu curl untuk bekerja dengan senyap.
  • -w - Cetak maklumat mengenai stdout.
  • -o - digunakan untuk mengalihkan output (di sini kita membuang output dengan mengalihkannya ke /dev/null).

Untuk laman web HTTPS, anda boleh menjalankan arahan di bawah:

$ curl -s -s -w 'ujian laman web ujian untuk:%url_effective \ n \ nlookup time: \ t \ t%time_namelookup \ nconnect time: \ t \ t%time_connect \ nappcon time: \ t \ t \ t \ t \ t \ t \ t \ t \ t \ t \ t%time_appconnect \ nredirect time: \ t \ t%time_redirect \ npre-transfer time: \ t%time_pretransfer \ nstart-transfer time: \ t%time_starttransfer t%time_total \ n '-o/dev/null https: // www.Google.com 
Uji kelajuan laman web https

Dalam format di atas, pembolehubah masa baru adalah:

  • time_appconnect - Masa, dalam beberapa saat, ia mengambil masa dari awal sehingga SSL menyambung/berjabat tangan ke hos jauh selesai.
  • time_redirect - Masa, dalam beberapa saat, ia mengambil masa untuk semua langkah pengalihan termasuk Lookup Nama, Connect, Pretransfer dan pemindahan sebelum transaksi akhir dimulakan; ia mengira masa pelaksanaan penuh untuk pelbagai pengalihan.

Perkara penting yang perlu diperhatikan.

  • Anda akan melihat bahawa nilai masa tindak balas terus berubah (disebabkan oleh beberapa faktor) semasa anda menjalankan ujian yang berbeza, oleh itu adalah dinasihatkan untuk mengumpulkan beberapa nilai dan mendapatkan kelajuan purata.
  • Kedua, dari hasil arahan di atas, anda dapat melihat bahawa mengakses laman web melalui HTTP jauh lebih cepat daripada lebih dari HTTPS.

Untuk maklumat lanjut, lihat halaman Curl Man:

$ man curl 

Akhir sekali, jika keputusan anda tidak menyenangkan, maka anda mempunyai beberapa pelarasan untuk membuat pelayan anda atau dalam kod. Anda boleh mempertimbangkan menggunakan tutorial berikut yang menjelaskan program dan petua untuk membuat laman web (s) beban lebih cepat di Linux:

  1. Pasang nginx dengan ngx_pagespeed (pengoptimuman kelajuan) di debian dan ubuntu
  2. Mempercepat prestasi nginx dengan ngx_pagespeed pada centOS 7
  3. Ketahui cara mempercepat laman web menggunakan modul nginx dan gzip
  4. Cara Meningkatkan Kelajuan Internet Pelayan Linux dengan TCP BBR

Itu sahaja! Sekarang anda tahu bagaimana untuk menguji masa tindak balas laman web dari baris arahan. Anda boleh mengemukakan soalan melalui borang maklum balas di bawah.