Cara menguji kecepatan pemuatan situs web di terminal linux

Cara menguji kecepatan pemuatan situs web di terminal linux

Waktu respons situs web dapat memiliki dampak besar pada pengalaman pengguna, dan jika Anda adalah pengembang web, atau hanya administrator server yang secara khusus bertanggung jawab untuk mengatur bagian -bagian tersebut, maka Anda harus membuat titik yang tidak dirasakan pengguna frustrasi saat mengakses situs Anda - jadi benar -benar ada "perlu untuk kecepatan".

Baca juga: httpstat - alat statistik curl untuk memeriksa kinerja situs web

Panduan ini akan menunjukkan cara menguji waktu respons situs web dari baris perintah Linux. Di sini, kami akan menunjukkan cara memeriksa waktu dalam hitungan detik, dibutuhkan:

  • untuk melakukan resolusi nama.
  • untuk koneksi TCP ke server.
  • untuk transfer file dimulai.
  • untuk byte pertama yang ditransfer.
  • untuk operasi lengkap.

Selain itu, untuk situs yang diaktifkan HTTPS, kami juga akan melihat cara menguji waktu, dalam hitungan detik, dibutuhkan: untuk pengalihan, dan koneksi/jabat tangan SSL ke server yang akan diselesaikan. Kedengarannya bagus, oke, mari kita mulai.

keriting adalah alat baris perintah yang kuat untuk mentransfer data dari atau ke server, menggunakan protokol seperti file, ftp, ftps, http, https dan banyak lainnya. Dalam kebanyakan kasus, ini digunakan sebagai pengunduh baris perintah, atau untuk memeriksa header http. Namun, di sini, kami akan menjelaskan salah satu fungsinya yang kurang dikenal.

keriting memiliki opsi yang berguna: -w untuk mencetak informasi di stdout setelah operasi selesai. Ini memiliki beberapa variabel yang dapat kita gunakan untuk menguji waktu respons yang berbeda yang tercantum di atas, dari sebuah situs web.

Kami akan menggunakan beberapa variabel terkait waktu, yang dapat diteruskan dalam format yang diberikan sebagai string literal atau di dalam file.

Jadi buka terminal Anda dan jalankan perintah di bawah ini:

$ curl -s -w 'menguji waktu respons situs web untuk:%url_effective \ n \ nlookup waktu: \ t \ t%time_namelookup \ nconnect Time: \ t \ t%time_connect \ npre -transfer Time: \ t%time_connect \ nPre -transfer Time: \ t% t%time_pretransfer \ nstart -transfer waktu: \ t%time_starttransfer \ n \ ntotal waktu: \ t \ t%time_total \ n '-o/dev/null http: // www.Google.com 
Uji kecepatan pemuatan situs web

Variabel dalam format di atas adalah:

  • TIME_NAMELOOKUP - Waktu, dalam hitungan detik, butuh dari awal sampai penyelesaian nama selesai.
  • Time_connect - Waktu, dalam hitungan detik, butuh dari awal sampai TCP terhubung ke host jarak jauh (atau proxy) selesai.
  • Time_pretransfer - Waktu, dalam hitungan detik, butuh dari awal sampai transfer file baru saja akan dimulai.
  • Time_StartTransfer - Waktu, dalam hitungan detik, butuh dari awal sampai byte pertama baru saja akan ditransfer.
  • time_total - Total waktu, dalam hitungan detik, bahwa operasi penuh berlangsung (resolusi milidetik).

Jika formatnya terlalu panjang, Anda dapat menulisnya dalam file dan menggunakan sintaks di bawah ini untuk membacanya:

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

Dalam perintah di atas, bendera:

  • -S - Memberitahu Curl untuk bekerja secara diam -diam.
  • -w - Cetak informasi di stdout.
  • -Hai - digunakan untuk mengarahkan ulang output (di sini kami membuang output dengan mengarahkan kembali ke /dev/null).

Untuk situs https, Anda dapat menjalankan perintah di bawah ini:

$ curl -s -w 'menguji waktu respons situs web untuk:%url_effective \ n \ nlookup waktu: \ t \ t%time_namelookup \ nconnect waktu: \ t \ t%time_connect \ nappcon waktu: \ t \ t%time_appconnect \ nredirect waktu: \ t \ t%time_redirect \ npre-transfer waktu: \ t%time_pretransfer \ nStart-transfer waktu: \ t%time_starttransfer \ \ \ \ total time_starttransfer \ \ \ \ \ total t%time_total \ n '-o/dev/null https: // www.Google.com 
Uji kecepatan situs web https

Dalam format di atas, variabel waktu baru adalah:

  • Time_appConnect - Waktu, dalam hitungan detik, butuh dari awal sampai SSL Connect/Handshake ke host jarak jauh selesai.
  • time_redirect - Waktu, dalam hitungan detik, dibutuhkan untuk semua langkah pengalihan termasuk pencarian nama, koneksi, pretransfer dan transfer sebelum transaksi akhir dimulai; itu menghitung waktu eksekusi penuh untuk beberapa pengalihan.

Poin penting yang perlu dicatat.

  • Anda akan melihat bahwa nilai waktu respons terus berubah (karena beberapa faktor) saat Anda menjalankan tes yang berbeda, oleh karena itu disarankan untuk mengumpulkan beberapa nilai dan mendapatkan kecepatan rata -rata.
  • Kedua, dari hasil perintah di atas, Anda dapat melihat bahwa mengakses situs web melalui http jauh lebih cepat daripada lebih dari https.

Untuk informasi lebih lanjut, lihat halaman Curl Man:

$ man curl 

Terakhir namun tidak kalah pentingnya, jika hasil Anda tidak menyenangkan, maka Anda memiliki beberapa penyesuaian untuk dilakukan di server Anda atau di dalam kode. Anda dapat mempertimbangkan untuk menggunakan tutorial berikut yang menjelaskan program dan tips untuk membuat situs web memuat lebih cepat di Linux:

  1. Instal NGINX dengan NGX_PAGESPEED (Optimasi Kecepatan) di Debian dan Ubuntu
  2. Percepat kinerja Nginx dengan NGX_PAGESPEED di CentOS 7
  3. Pelajari cara mempercepat situs web menggunakan modul Nginx dan GZIP
  4. Cara meningkatkan kecepatan internet server linux dengan tcp bbr

Itu saja! Sekarang Anda tahu cara menguji waktu respons situs web dari baris perintah. Anda dapat mengajukan pertanyaan melalui formulir umpan balik di bawah ini.