Apr 28

[Tools] Mengukur Kinerja Web Server dengan Autobench

Pada post sebelumnya, dibahas tentang bagaimana kita menguji kinerja suatu web server dengan menggunakan httperf. Pada dasarnya, httperf sudah merupakan aplikasi yang cukup sakti untuk menguji kinerja web server. Hanya saja, apabila kita ingin melakukan beberapa kali percobaan, misalkan dengan nilai request/detik yang berbeda-beda, tidak dapat dilakukan oleh httperf. Kemudian output  dari httperf akan muncul langsung ke terminal, sehingga untuk mencatat hasilnya, kita hanya bisa mencatat secara manual atau membuat sebuah script untuk mencatat hasilnya.

Untuk itulah kita gunakan Autobench. Autobench adalah sebuah script dengan bahasa Perl untuk otomatisasi eksekusi httperf secara berulang kali dan dapat mencatat hasilnya ke dalam sebuah file dengan format CSV. Sehingga dapat dibuka dengan aplikasi spreadsheet seperti Microsoft Excel atau LibreOffice Calc. Dan dari situ, dapat juga dibuat dalam bentuk chart.

Instalasi

Sebelum menggunakan Autobench, tentu anda harus melakukan instalasi terlebih dahulu. Jika anda menggunakan Linux yang Debian-based, silahkan download file deb dari autobench dari sini.  Kemudian untuk melakukan instalasi ketikkan perintah berikut :

sudo dpkg -i autobench_2.1.2_i386.deb

Atau jika distro anda mendukung untuk instalasi file deb via GUI, anda bisa melakukan klik dua kali saja pada file deb tersebut. Jika yang anda download adalah source code-nya, maka untuk melakukan instalasi, dapat dengan kombinasi 3 perintah berikut :

./configure (di root direktori source)
make
make install

Konfigurasi

Langkah berikutnya adalah melakukan konfigurasi. File konfigurasi autobench akan terletak di home directory anda dengan nama .autobench.conf (perhatikan tanda titik di depan yang menandakan itu hidden file). Berikut ini adalah konfigurasi yang harus anda ubah :

  • host(1-2) : isi dengan alamat web server yang ingin diuji. Maksimum 2 web server yang dapat dimasukkan disini
  • uri(1-2) : isi dengan nama file yang ingin diakses dari web server dalam bentuk URI (contoh: uri1 = /index.php)
  • port(1-2) : isi dengan port web server (default : 80)
  • low_rate : nilai request/detik awal yang akan ingin digunakan
  • high_rate : nilai request/detik maksimal yang ingin digunakan
  • rate_step :  setiap perulangan eksekusi httperf, rate-nya akan dinaikkan sebanyak rate_step ini
  • num_conn : jumlah koneksi yang ingin dicapai
  • num_call : jumlah request untuk tiap koneksi (default : 1), total request yang ingin dicapai = num_conn x num_call
  • timeout : batas waktu untuk menyatakan apakah suatu request terjadi timeout atau tidak
  • output_fmt : format file yang diinginkan untuk menyimpan hasil ujicoba, bisa diisi csv atau tsv (tab separated value)

Apabila bingung,Contoh Konfigurasi Autobench berikut ini mungkin dapat sedikit membantu. Pada contoh tersebut, low rate dan high rate masing-masing berisi 100 dan 2000, sedangkan rate step berisi 100. Artinya ujicoba akan dilakukan sebanyak 20 kali dengan rate 100, 200, 300, …, 2000 request/detik.

Setelah anda membuat konfigurasi, pastikan sekali lagi file yang anda buat sudah diberi nama .autobench.conf dan diletakkan di home directory anda.

Eksekusi Autobench

Yang terakhir tentunya adalah menjalankan autobench tersebut. Untuk menjalankan autobench yang menguji 1 buah web server saja dan menyimpan hasilnya dalam file csv, jalankan perintah di bawah ini :

sudo autobench --single_host --file ~/thesis/result.csv

Apabila yang ingin diuji ada 2 web server, cukup hilangkan option –single_host dari baris perintah tersebut.

Modifikasi Autobench

Di autobench versi sebelum tulisan ini dibuat, tidak semua output dari httperf dimasukkan ke dalam file CSV yang dihasilkan. Padahal beberapa informasi tersebut mungkin cukup penting. Oleh karena itu, berikut ini adalah script autobench yang sudah dimodifikasi, sehingga lebih banyak data yang disimpan. Untuk menggunakannya cukup rename nama filenya menjadi “autobench” dan letakkan di direktori /usr/bin. Atau bisa juga dieksekusi dari direktori manapun dengan menyebutkan alamat absolutnya.

Sekian post untuk kali ini, apabila ada yang salah atau ada yang ingin ditambahkan, silahkan tinggalkan komentar di form yang telah disediakan.

Be Sociable, Share!

0
comments

Reply

[+] kaskus emoticons nartzco