Pengujian Beban Server Web dengan Alat Siege Benchmarking


Mengetahui berapa banyak lalu lintas yang dapat ditangani server web Anda ketika sedang stres sangat penting untuk merencanakan pertumbuhan situs web atau aplikasi Anda di masa depan. Dengan menggunakan alat yang disebut siege, Anda dapat menjalankan uji beban pada server Anda dan melihat bagaimana kinerja sistem Anda dalam kondisi yang berbeda.

Anda dapat menggunakan siege untuk mengevaluasi jumlah data yang ditransfer, waktu respons, laju transaksi, throughput, konkurensi, dan berapa kali server mengembalikan respons. Alat ini memiliki tiga mode yang dapat dioperasikan – regresi, simulasi internet, dan brute force.

Penting: Pengepungan hanya boleh dijalankan terhadap server yang Anda miliki atau server yang memiliki izin eksplisit untuk mengujinya. Di beberapa negara, melakukan pengepungan terhadap situs web yang tidak sah dapat dianggap sebagai kejahatan.

Menginstal Utilitas Pengujian Beban HTTP Siege di Linux

Siege bersifat multi platform dan dapat diinstal pada distribusi Ubuntu/Debian dan CentOS/RHEL menggunakan perintah berikut.

Untuk menginstal Siege di Debin/Ubuntu, Anda dapat menjalankan:

sudo apt install siege

Untuk CentOS/RHEL, Anda perlu menginstal dan mengaktifkan repositori untuk menginstal pengepungan dengan:

yum install epel-release
yum install siege

Alternatifnya, Anda dapat membuat Pengepungan dari sumber. Untuk itu Anda perlu menginstal build-essential dan paket pengembangan.

sudo apt install build-essential       #Ubuntu/Debian
yum groupinstall 'Development Tools'   #CentOS/RHEL

Kemudian Anda dapat mengunduh Siege menggunakan perintah wget dan menginstal dari sumber seperti yang ditunjukkan.

wget http://download.joedog.org/siege/siege-latest.tar.gz
tar -zxvf siege-latest.tar.gz
cd siege-*/
sudo ./configure --prefix=/usr/local --with-ssl=/usr/bin/openssl
sudo make && make install

Mengonfigurasi Utilitas Pengujian Beban HTTP Siege di Linux

Setelah Anda menyelesaikan instalasi, Anda dapat menyesuaikan file konfigurasi siege Anda. Letaknya di /etc/siege/siegerc. Jika Anda memutuskan untuk membuat paket dari sumber, Anda harus menjalankan:

sudo siege.config

Ini akan menghasilkan file siege.conf yang terletak di ~/.siege/siege.conf beranda pengguna Anda.

Isi file akan terlihat seperti ini. Perhatikan bahwa saya telah menghapus komentar pada arahan logfile dan time:

cat siegerc |egrep -v "^$|#"
Contoh Keluaran
logfile = $(HOME)/var/log/siege.log
verbose = false
color = on
quiet = false
show-logfile = true
logging = false
gmethod = HEAD
parser = true
nofollow = ad.doubleclick.net
nofollow = pagead2.googlesyndication.com
nofollow = ads.pubsqrd.com
nofollow = ib.adnxs.com
limit = 255
protocol = HTTP/1.1
chunked = true
cache = false
connection = close
concurrent = 25
time = 1M
delay = 0.0
internet = false
benchmark = false
accept-encoding = gzip, deflate
url-escaping = true
unique = true

Dengan konfigurasi saat ini, siege akan meniru 25 pengguna secara bersamaan selama 1 menit.

Anda sekarang siap untuk menjalankan pengepungan Anda.

Menguji Pemuatan Situs Web dengan Utilitas Siege Benchmarking

Menjalankan siege cukup mudah, Anda hanya perlu menentukan website yang ingin diuji seperti ini:

siege example.com

Jika ketersediaan tetap 100% dan tidak ada koneksi yang gagal, berarti sistem Anda berfungsi dengan baik dan tidak ada masalah. Anda juga harus memperhatikan waktu respons.

Jalankan Pengepungan Terhadap Banyak Situs Web

Anda dapat menguji beberapa URL dengan menyetel siege untuk membacanya dari file. Anda dapat mendeskripsikan URL di /usr/local/etc/urls.txt seperti ini:

Sekarang untuk memberitahu siege untuk menguji URL dari file, gunakan opsi -f seperti ini:

siege -f /usr/local/etc/urls.txt

Anda juga dapat menggunakan opsi baris perintah, jika Anda ingin mencoba pengaturan berbeda dari yang dijelaskan dalam file konfigurasi.

  • -C – tentukan file konfigurasi Anda sendiri.
  • -q – menekan hasil pengepungan.
  • -g – DAPATKAN, tarik header HTTP ke bawah dan tampilkan transaksi. Berguna untuk debugging.
  • -c – jumlah pengguna secara bersamaan, defaultnya adalah 10.
  • -r – berapa kali menjalankan pengujian.
  • -t – berapa lama waktu untuk menjalankan pengujian. Anda dapat menentukan S, M, atau H mis: –time=10S selama 10 detik.
  • -d – penundaan acak sebelum setiap permintaan.
  • -b – tidak ada penundaan antar permintaan.
  • -i – simulasi pengguna. Digunakan untuk mencapai URL acak.
  • -f – menguji URL dari file tertentu.
  • -l – berkas log.
  • -H – Tambahkan header untuk diminta.
  • -A – tentukan agen pengguna.
  • -T – Menetapkan Tipe Konten dalam permintaan.
  • --no-parser – NO PARSER, matikan parser halaman HTML.
  • --no-follow – jangan ikuti pengalihan HTTP.
Kesimpulan

Siege adalah alat yang ampuh untuk mengukur keandalan sistem Anda saat berada dalam beban tinggi. Ini dapat digunakan oleh pengembang web untuk menguji kode mereka ketika situs berada di bawah tekanan. Anda harus selalu menjalankan pengujian dengan hati-hati karena server yang diuji mungkin tidak dapat diakses selama evaluasi.