Halo sobat, pernahkah kamu merasa penasaran dengan seberapa cepat website kamu merespon permintaan pengunjung? Salah satu alat yang dapat digunakan untuk menguji performa website adalah ApacheBench (ab). Di artikel ini, saya akan memandu kamu menggunakan perintah
ab dan menjelaskan detail output-nya, sehingga kamu bisa mengetahui performa website kamu secara menyeluruh.
Cara Menguji Website dengan ApacheBench
ApacheBench adalah alat benchmarking command-line yang ringan dan mudah digunakan untuk mengukur performa web server. Misalnya, untuk menguji website
https://www.rahmatriyanto.com/ dengan 100 permintaan dan 1 permintaan simultan, sobat dapat menjalankan perintah berikut:
ab -c 1 -n 100 https://www.rahmatriyanto.com/
Di sini, opsi
-c 1 berarti tingkat konkruensi (concurrency level) adalah 1, artinya hanya ada satu permintaan yang diproses pada satu waktu. Opsi
-n 100 berarti total 100 permintaan akan dilakukan.
Contoh Output ApacheBench
[rahmatriyanto@rahmatriyanto-centos6 ~]$ ab -c 1 -n 100 https://www.rahmatriyanto.com/
This is ApacheBench, Version 2.3 <$Revision: 655654 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, zeustech.net/
Licensed to The Apache Software Foundation, apache.org/
Benchmarking localhost (be patient).....done
Server Software: Nginx
Server Hostname: localhost
Server Port: 80
Document Path: /
Document Length: 31698 bytes
Concurrency Level: 1
Time taken for tests: 26.170 seconds
Complete requests: 100
Failed requests: 0
Write errors: 0
Total transferred: 3190000 bytes
HTML transferred: 3169800 bytes
Requests per second: 3.82 [#/sec] (mean)
Time per request: 261.701 [ms] (mean)
Time per request: 261.701 [ms] (mean, across all concurrent requests)
Transfer rate: 119.04 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 0 0.0 0 0
Processing: 248 262 11.8 260 324
Waiting: 201 214 11.7 211 276
Total: 248 262 11.8 260 324
Percentage of the requests served within a certain time (ms)
50% 260
66% 263
75% 265
80% 265
90% 269
95% 276
98% 310
99% 324
100% 324 (longest request)
[rahmatriyanto@rahmatriyanto-centos6 ~]$
Penjelasan Output:
–
Server Software: Menampilkan software server yang digunakan, dalam hal ini
Nginx.
–
Document Length: Menunjukkan ukuran dokumen (31698 bytes) yang diunduh setiap permintaan.
–
Concurrency Level: Tingkat konkruensi adalah 1, artinya permintaan dilakukan satu per satu.
–
Time taken for tests: Total waktu yang dibutuhkan untuk menyelesaikan 100 permintaan, yaitu 26.170 detik.
–
Requests per second: Rata-rata permintaan yang dilayani per detik (3.82 permintaan per detik).
–
Time per request: Rata-rata waktu yang dibutuhkan untuk memproses satu permintaan (261.701 ms).
–
Transfer rate: Kecepatan transfer data (119.04 Kbytes/sec) yang diterima.
–
Connection Times: Tabel ini menunjukkan waktu koneksi, pemrosesan, dan total waktu untuk setiap permintaan, serta distribusinya (median, mean, dan maksimum).
–
Percentage of requests served within a certain time: Persentase permintaan yang diselesaikan dalam rentang waktu tertentu, memberikan gambaran tentang konsistensi performa.
Kesimpulan
Dengan menggunakan ApacheBench, sobat dapat mengukur performa website dengan cepat dan mendapatkan gambaran yang jelas mengenai waktu respons, kecepatan transfer, dan kestabilan server. Meskipun pada contoh di atas, tingkat permintaan yang dilakukan hanya 100 dengan konkruensi 1, alat ini sangat berguna untuk pengujian beban dan analisis performa web server.
Semoga panduan ini bermanfaat dan membantu sobat memahami cara kerja ApacheBench. Selamat mencoba dan terus optimalkan performa website kamu!