Cara Menguji Kecepatan Loading Website di Terminal Linux


Waktu respons situs web dapat berdampak besar pada pengalaman pengguna, dan jika Anda seorang pengembang web, atau sekadar administrator server yang secara khusus bertanggung jawab untuk mengatur bagian-bagiannya, maka Anda harus memastikan bahwa pengguna tidak merasakannya. frustrasi saat mengakses situs Anda – jadi memang ada “kebutuhan akan 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, yang dibutuhkan:

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

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

cURL adalah alat baris perintah yang ampuh 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.

cURL 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 berbeda yang tercantum di atas, dari sebuah situs web.

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

Jadi buka terminal Anda dan jalankan perintah di bawah ini:

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

Variabel dalam format di atas adalah:

  • time_namelookup – waktu, dalam detik, yang diperlukan dari awal hingga penyelesaian nama selesai.
  • time_connect – waktu, dalam hitungan detik, yang diperlukan dari awal hingga koneksi TCP ke host jarak jauh (atau proxy) selesai.
  • time_pretransfer – waktu, dalam hitungan detik, yang diperlukan sejak awal hingga transfer file akan segera dimulai.
  • time_starttransfer – waktu, dalam detik, yang diperlukan dari awal hingga byte pertama hendak ditransfer.
  • time_total – total waktu, dalam detik, selama pengoperasian penuh berlangsung (resolusi milidetik).

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

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

Pada perintah di atas, benderanya:

  • -s – memberitahu curl untuk bekerja secara diam-diam.
  • -w – mencetak informasi di stdout.
  • -o – digunakan untuk mengalihkan keluaran (di sini kita membuang keluaran dengan mengalihkannya ke /dev/null).

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

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

Dalam format di atas, variabel waktu yang baru adalah:

  • time_appconnect – waktu, dalam hitungan detik, yang diperlukan dari awal hingga koneksi/jabat tangan SSL ke host jarak jauh selesai.
  • time_redirect – waktu, dalam hitungan detik, yang diperlukan untuk semua langkah pengalihan termasuk pencarian nama, koneksi, pratransfer, dan transfer sebelum transaksi akhir dimulai; itu menghitung waktu eksekusi penuh untuk beberapa pengalihan.

Poin penting yang perlu diperhatikan.

  • Anda akan melihat bahwa nilai waktu respons terus berubah (karena beberapa faktor) saat Anda menjalankan pengujian yang berbeda, oleh karena itu disarankan untuk mengumpulkan beberapa nilai dan mendapatkan kecepatan rata-rata.
  • Kedua, dari hasil perintah di atas terlihat bahwa mengakses website melalui HTTP jauh lebih cepat dibandingkan melalui HTTPS.

Untuk informasi lebih lanjut, lihat halaman manual CURL:

man curl

Terakhir, jika hasil Anda tidak memuaskan, maka Anda harus melakukan beberapa penyesuaian pada server Anda atau di dalam kode. Anda dapat mempertimbangkan untuk menggunakan tutorial berikut yang menjelaskan program dan tip untuk membuat situs web memuat lebih cepat di Linux:

  1. Instal Nginx dengan Ngx_Pagespeed (Optimasi Kecepatan) di Debian dan Ubuntu
  2. Mempercepat 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.