Siege adalah uji regresi sumber terbuka dan utilitas benchmark. Ini dapat menguji stres satu URL dengan jumlah pengguna simulasi yang ditentukan pengguna, atau dapat membaca banyak URL ke dalam memori dan menekankannya secara bersamaan. Program ini melaporkan jumlah total hit yang direkam, byte yang ditransfer, waktu respons, konkurensi, dan status pengembalian. Siege mendukung protokol HTTP/1.0 dan 1.1, arahan GET dan POST, cookie, pencatatan transaksi, dan otentikasi dasar. Fitur-fiturnya dapat dikonfigurasi per pengguna.
Sebagian besar fitur dapat dikonfigurasi dengan opsi baris perintah yang juga menyertakan nilai default untuk meminimalkan kompleksitas pemanggilan program. Siege memungkinkan Anda untuk menekankan server web dengan n jumlah pengguna t beberapa kali, di mana n dan t ditentukan oleh pengguna. Ini mencatat durasi waktu pengujian serta durasi setiap transaksi. Ini melaporkan jumlah transaksi, waktu yang berlalu, byte yang ditransfer, waktu respons, tingkat transaksi, konkurensi dan berapa kali server merespons OK, yaitu kode status 200.
Siege dirancang dan diterapkan oleh Jeffrey Fulmer dalam posisinya sebagai Webmaster untuk Armstrong World Industries. Sebagian dimodelkan setelah penyiksaan Lincoln Stein.pl dan pelaporan datanya hampir sama. Tapi penyiksaan.pl tidak mengizinkan seseorang untuk menekankan banyak URL secara bersamaan; dari kebutuhan itulah lahirlah pengepungan....
Ketika server HTTP diserang oleh program, maka dikatakan "dikepung".
Siege ditulis untuk pengembang web dan administrator sistem web. Hal ini memungkinkan individu untuk menguji program dan sistem mereka di bawah tekanan. Sebagai seorang profesional web, Anda bertanggung jawab atas integritas produk Anda, namun Anda tidak memiliki kendali atas siapa yang mengaksesnya. Lonjakan lalu lintas bisa terjadi kapan saja. Bagaimana Anda tahu kalau Anda sudah siap?
Siege akan memungkinkan Anda untuk menempatkan program-program tersebut di bawah tekanan, untuk memungkinkan Anda lebih memahami beban yang dapat mereka tanggung. Anda akan tidur lebih nyenyak karena mengetahui situs Anda dapat menahan beban 400 transaksi simultan jika situs Anda saat ini mencapai puncaknya pada 250.
Suatu transaksi ditandai dengan server membuka soket untuk klien, menangani permintaan, menyajikan data melalui kabel dan menutup soket setelah selesai. Penting untuk dicatat bahwa MANUSIA pengguna internet membutuhkan waktu untuk mencerna data yang kembali kepada mereka. Pengguna pengepungan tidak. Dalam praktiknya, saya menemukan bahwa 400 pengguna pengepungan secara bersamaan berarti setidaknya lima kali lipat jumlah sesi internet sebenarnya. Inilah sebabnya pengepungan memungkinkan Anda mengatur penundaan ( --delay=NUM ). Jika disetel, setiap pengguna pengepungan akan tidur selama beberapa detik secara acak antara 1 dan NUM. Melalui log server Anda, Anda seharusnya bisa mendapatkan jumlah rata-rata waktu yang dihabiskan di sebuah halaman. Disarankan agar Anda menggunakan nomor tersebut untuk penundaan Anda saat melakukan simulasi aktivitas internet.
Pengepungan versi terbaru dapat diperoleh melalui FTP anonim: http://download.joedog.org/siege/siege-latest.tar.gz
Repositori sumber terletak di GitHub: git clone https://github.com/JoeDog/siege.git
Anda dapat melihatnya di browser Anda di sini: https://github.com/JoeDog/siege
Pembaruan dan pengumuman didistribusikan melalui JoeDog: http://www.joedog.org/
Pengepungan dibangun dengan autoconf GNU. Jika Anda familier dengan perangkat lunak GNU, maka Anda pasti sudah terbiasa menginstal pengepungan. Silakan lihat file INSTALL untuk lebih jelasnya.
Untuk mengaktifkan dukungan HTTPS, Anda harus menginstal openssl dan openssl-devel di sistem Anda.
Untuk mengaktifkan pengkodean transfer gzip, Anda perlu menginstal zlib dan zlib-devel di sistem Anda.
Semua prasyarat harus diinstal pada waktu kompilasi. Jika Anda menambahkan perpustakaan setelah pengepungan dikompilasi, Anda harus menjalankan ./configure, make dan make install lagi.
Prasyarat pengepungan bukanlah ketergantungan. Jika perpustakaan ini tidak ada, aplikasi akan tetap dikompilasi dan berfungsi. Itu tidak akan memuat fungsi-fungsi ini.
Dokumentasi tersedia di halaman manual pengepungan(1) peletakansiege(1) Manual html disertakan dengan distribusi ini: manual.html
Dokumentasi lengkap untuk pengepungan dapat ditemukan di www.joedog.org
Konsultasikan file COPYING untuk informasi lisensi lengkap.
Hak Cipta (C) 2000-2023 oleh Jeffrey Fulmer [email protected]
Izin diberikan kepada siapa pun untuk membuat atau mendistribusikan salinan kata demi kata dari dokumen ini seperti yang diterima, dalam media apa pun, dengan ketentuan bahwa pemberitahuan hak cipta dan pemberitahuan izin ini dipertahankan, sehingga memberikan izin kepada penerima untuk mendistribusikan kembali pada gilirannya.
Izin diberikan untuk mendistribusikan versi modifikasi dari dokumen ini, atau sebagian darinya, berdasarkan ketentuan di atas, asalkan versi tersebut juga memuat pemberitahuan jelas yang menyatakan siapa terakhir kali mengubahnya.
Selain itu, sebagai pengecualian khusus, pemegang hak cipta memberikan izin untuk menautkan kode bagian program ini dengan perpustakaan OpenSSL dalam kondisi tertentu seperti yang dijelaskan dalam setiap file sumber individual, dan mendistribusikan kombinasi tertaut termasuk keduanya.
Anda harus mematuhi Lisensi Publik Umum GNU dalam segala hal untuk semua kode yang digunakan selain OpenSSL. Jika Anda memodifikasi file dengan pengecualian ini, Anda dapat memperluas pengecualian ini ke versi file Anda, namun Anda tidak diwajibkan untuk melakukannya.
Jika Anda tidak ingin melakukannya, hapus pernyataan pengecualian ini dari versi Anda. Jika Anda menghapus pernyataan pengecualian ini dari semua file sumber dalam program, hapus juga di sini.