Cara Tes Website dengan wrk HTTP Benchmarking

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:

  1. Clone repo dari github wrk git clone https://github.com/wg/wrk.git
  2. Masuk ke direktori wrk cd wrk
  3. Make file dahulu sudo make
  4. Setelah selesai proses maka akan muncul file bernama wrk
  5. File tersebut langsung bisa digunakan dengan cara jalankan ./wrk
  6. Atau, kalau mau bisa dipakai tanpa harus masuk ke direktori wrk, tinggal copy ke usr/local/bin dengan command sudo cp wrk /usr/local/bin
  7. 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.