Intro
Salah satu tahap dalam pengembangan aplikasi adalah tahap pengetesan. Di dalam tahap pengetesan pun ada beberapa macam tipe tes, seperti Compatibility Testing, Performance Testing, Security Testing, dan lain sebagainya. Namun kali ini akan dibahas Cara Tes Website dengan Benchmark Testing menggunakan wrk, salah satu alat baru untuk benchmark testing.
Benchmark
Benchmark akan lebih mudah dipahami apabila dialihbahasakan menjadi Bahasa Indonesia , yaitu Tolok Ukur. Dalam dunia komputer, Benchmark berfungsi untuk mengetahui kinerja suatu rangkaian program atau bisa juga perangkat keras dengan beberapa parameter yang dijadikan sebagai acuan.
HTTP Benchmarking
HTTP Benchmarking adalah mengukur kinerja suatu aplikasi yang berbasis website karena aplikasi yang berjalan pada protokol HTTP adalah aplikasi website. Dalam HTTP Benchmarking biasanya akan dicari latensi atau waktu response serta kemampuan dalam menerima koneksi secara bersamaan namun tidak terbatas itu saja.
wrk
wrk adalah alat yang bisa digunakan untuk melakukan HTTP Benchmarking. Menurut saya, alat ini mudah digunakan dan memberikan informasi yang lumayan lengkap. Bahkan juga bisa menambahkan beberapa kondisi pengetesan dengan menggunakan script lua.
Cara Install wrk
Cara install wrk sangat mudah, berikut ini beberapa langkah instalasi wrk:
- Clone repo dari github wrk
git clone https://github.com/wg/wrk.git
- Masuk ke direktori wrk
cd wrk
- Make file dahulu
sudo make
- Setelah selesai proses maka akan muncul file bernama
wrk
- File tersebut langsung bisa digunakan dengan cara jalankan
./wrk
- Atau, kalau mau bisa dipakai tanpa harus masuk ke direktori wrk, tinggal copy ke
usr/local/bin
dengan commandsudo cp wrk /usr/local/bin
- Siap digunakan
Cara Memakai wrk
Untuk mengetahui list command apa saja yang tersedia di wrk cukup jalankan wrk wrk
maka akan muncul beberapa list beserta parameter yang diperlukan. Sebagai contoh kita ingin tes aplikasi website kita yang berjalan yang beralamat http://aplikasi.test/ dan ingin menjalankan benchmark selama 30 detik menggunakan 12 thread dan 400 request secara bersamaan, maka command yang dijalankan akan seperti ini
wrk -t12 -c400 -d30s http://aplikasi.test
Tampilan output akan seperti di bawah ini:
Running 30s test @ http://aplikasi.test 12 threads and 400 connections Thread Stats Avg Stdev Max +/- Stdev Latency 8.91us 0.94ms 2.92ms 93.11% Req/Sec 17.20k 8.07k 62.00k 21.37% 21067 requests in 30.00s, 30.12GB read Requests/sec: 891278.54 Transfer/sec: 361.39MB
Bagaimana? Mulai tertarik untuk tes menggunakan wrk? Langsung praktekan gak pake lama.