
Siege adalah aplikasi yang dibuat untuk keperluan stress test dan benchmark webserver. Stress test dan benchmarking diperlukan untuk mengetahui seberapa baik performa aplikasi web Anda, dan seberapa banyak client atau koneksi yang bisa ditangani oleh aplikasi Anda.
Instalasi
Menginstal siege di Ubuntu atau Debian adalah semudah menginstal aplikasi lain dari repositori.
sudo apt-get install siege
Untuk penggunakan CentOS atau RHEL, Anda bisa menginstalnya dari repo RPMForge atau download dari DAG.
Menggunakan Siege untuk Benchmarking
Untuk melakukan proses benchmark, jalankan perintah berikut.
siege -b -c 20 -t 5M http://nama.domain.com/blog/
Penjelasan:
-b = Benchmark, dengan pilihan ini tidak akan ada waktu jeda dari satu test ke test
berikutnya (defaultnya ada delay secara acak mulai dari 0 s.d 3 detik).
-c = Banyaknya koneksi secara bersamaan yang akan dijalankan, default 10.
Dalam contoh diset 20 koneksi.
-t = Lama test akan dijalankan, dalam contoh di set 5 menit.
Anda bisa set waktu berbeda dengan akhiran S utk detik, M untuk menit
dan H untuk jam. Misal 60S = 60 detik, 1H = 1 jam.
Dan http://nama.domain.com/blog/ adalah URL yang akan di test.Contoh output:
Transactions: 43119 hits Availability: 100.00 % Elapsed time: 92.40 secs Data transferred: 160.76 MB Response time: 0.02 secs Transaction rate: 466.66 trans/sec Throughput: 1.74 MB/sec Concurrency: 7.74 Successful transactions: 43119 Failed transactions: 0 Longest transaction: 9.48 Shortest transaction: 0.00
Dari output di atas, Anda perhatikan baris transaction rate. Semakin besar berarti semakin cepat dan semakin banyak client yang bisa ditangani oleh aplikasi web kita.
Perhatikan juga baris failed transactions. Baris ini menunjukkan jumlah koneksi yang gagal saat menjalankan proses benchmark. Dalam kondisi server yang sibuk, biasanya server mulai error dan koneksi dari user pun gagal dilayani dengan baik.
Benchmark Untuk Banyak URL
Dalam contoh di atas kita hanya menggunakan satu URL saja. Jika ingin melakukan benchmark untuk banyak URL sekaligus, kita bisa membuat daftar URL yang akan ditest dan perintahkan siege untuk membacanya.
Buat berkas baru misal url.txt. Isi dengan URL yang mau ditest. Misal seperti di bawah ini,
http://nama.domain.com/ http://nama.domain.com/blog/ http://nama.domain.com/about.php http://nama.domain.com/kontak.php http://nama.domain.com/produk.php
Lalu untuk proses benchmark, jalankan perintah berikut.
siege -b -c 20 -t 5M -f url.txt
Rangkuman
Siege bisa digunakan untuk proses benchmark, sehingga Anda bisa mengukur seberapa banyak kira-kira jumlah client yang bisa ditangani oleh aplikasi web Anda.
Catatan untuk contoh di atas, angka concurrent connection sebanyak 20 koneksi adalah jumlah yang kecil. Silakan Anda mencobanya dengan angka yang lebih besar, misal 100 koneksi. Lalu perhatikan bagaimana aplikasi dan server Anda meresponnya.
Yang perlu diingat, benchmark harus dijalankan ke web Anda sendiri, bukan ke web orang lain. Karena kalau dijalankan ke web orang lain, artinya Anda menyerang atau mengganggu layanan punya orang
