Siege คือการทดสอบการถดถอยแบบโอเพ่นซอร์สและยูทิลิตี้การวัดประสิทธิภาพ สามารถทดสอบความเครียดใน URL เดียวด้วยจำนวนผู้ใช้จำลองที่ผู้ใช้กำหนด หรือสามารถอ่าน URL จำนวนมากในหน่วยความจำและเน้นย้ำพร้อมกันได้ โปรแกรมรายงานจำนวน Hit ทั้งหมดที่บันทึกไว้ จำนวนไบต์ที่ถ่ายโอน เวลาตอบสนอง การเกิดขึ้นพร้อมกัน และสถานะการส่งคืน Siege รองรับโปรโตคอล HTTP/1.0 และ 1.1, คำสั่ง GET และ POST, คุกกี้, การบันทึกธุรกรรม และการตรวจสอบสิทธิ์ขั้นพื้นฐาน คุณลักษณะของมันสามารถกำหนดค่าได้ขึ้นอยู่กับผู้ใช้แต่ละราย
คุณสมบัติส่วนใหญ่สามารถกำหนดค่าได้ด้วยตัวเลือกบรรทัดคำสั่งซึ่งรวมถึงค่าเริ่มต้นเพื่อลดความซับซ้อนของการเรียกใช้โปรแกรม Siege ช่วยให้คุณสามารถเน้นเว็บเซิร์ฟเวอร์ด้วยจำนวนผู้ใช้ n จำนวน t จำนวนครั้ง โดยที่ n และ t ถูกกำหนดโดยผู้ใช้ โดยจะบันทึกระยะเวลาของการทดสอบตลอดจนระยะเวลาของธุรกรรมแต่ละรายการ โดยรายงานจำนวนธุรกรรม เวลาที่ผ่านไป จำนวนไบต์ที่ถ่ายโอน เวลาตอบสนอง อัตราการทำธุรกรรม การทำงานพร้อมกัน และจำนวนครั้งที่เซิร์ฟเวอร์ตอบกลับตกลง นั่นคือรหัสสถานะ 200
Siege ได้รับการออกแบบและดำเนินการโดย Jeffrey Fulmer ในตำแหน่งของเขาในฐานะผู้ดูแลเว็บของ Armstrong World Industries มันถูกสร้างแบบจำลองบางส่วนตาม torture.pl ของลินคอล์น สไตน์ และการรายงานข้อมูลก็เกือบจะเหมือนกันทุกประการ แต่ torture.pl ไม่อนุญาตให้ใครเน้น URL หลายรายการพร้อมกัน การปิดล้อมความต้องการนั้นก็ถือกำเนิดขึ้น....
เมื่อเซิร์ฟเวอร์ HTTP ถูกโจมตีโดยโปรแกรม จะมีการกล่าวกันว่า "ถูกโจมตี"
Siege เขียนขึ้นสำหรับทั้งนักพัฒนาเว็บและผู้ดูแลระบบเว็บ ช่วยให้บุคคลเหล่านั้นทดสอบโปรแกรมและระบบของตนภายใต้การข่มขู่ ในฐานะมืออาชีพด้านเว็บไซต์ คุณต้องรับผิดชอบต่อความถูกต้องสมบูรณ์ของผลิตภัณฑ์ของคุณ แต่คุณไม่สามารถควบคุมได้ว่าใครจะเข้าถึงผลิตภัณฑ์ได้ การจราจรที่พุ่งสูงขึ้นอาจเกิดขึ้นได้ทุกเมื่อ จะรู้ได้อย่างไรว่าพร้อม?
Siege จะอนุญาตให้คุณวางโปรแกรมเหล่านั้นภายใต้การข่มขู่ เพื่อให้คุณเข้าใจภาระที่โปรแกรมเหล่านั้นสามารถรับได้ได้ดีขึ้น คุณจะนอนหลับได้ดีขึ้นเมื่อรู้ว่าไซต์ของคุณสามารถทนต่อน้ำหนักของธุรกรรม 400 รายการพร้อมกัน หากไซต์ของคุณมียอดถึง 250 รายการในปัจจุบัน
ธุรกรรมมีลักษณะเฉพาะคือเซิร์ฟเวอร์เปิดซ็อกเก็ตสำหรับลูกค้า จัดการคำขอ ให้บริการข้อมูลผ่านสาย และปิดซ็อกเก็ตเมื่อเสร็จสิ้น สิ่งสำคัญคือต้องทราบว่าผู้ใช้อินเทอร์เน็ตของมนุษย์ใช้เวลาในการแยกแยะข้อมูลที่กลับมาหาพวกเขา ผู้ใช้ล้อมไม่ได้ ในทางปฏิบัติ ฉันพบว่าผู้ใช้ล้อมพร้อมกัน 400 รายแปลเป็นจำนวนอย่างน้อยห้าเท่าของจำนวนนั้นในเซสชันอินเทอร์เน็ตจริง นี่คือเหตุผลที่การปิดล้อมอนุญาตให้คุณตั้งค่าการหน่วงเวลา ( --delay=NUM ) เมื่อตั้งค่าแล้ว ผู้ใช้ที่ถูกล้อมแต่ละคนจะเข้าสู่โหมดสลีปเป็นเวลาสุ่มจำนวนวินาทีระหว่าง 1 ถึง NUM จากบันทึกเซิร์ฟเวอร์ของคุณ คุณควรสามารถรับเวลาเฉลี่ยที่ใช้บนเพจได้ ขอแนะนำให้คุณใช้หมายเลขนั้นสำหรับความล่าช้าในการจำลองกิจกรรมทางอินเทอร์เน็ต
สามารถรับ Siege เวอร์ชันล่าสุดได้ผ่านทาง FTP ที่ไม่ระบุชื่อ: http://download.joedog.org/siege/siege-latest.tar.gz
พื้นที่เก็บข้อมูลต้นทางตั้งอยู่บน GitHub: git clone https://github.com/JoeDog/siege.git
คุณสามารถดูได้ในเบราว์เซอร์ของคุณที่นี่: https://github.com/JoeDog/siege
อัปเดตและประกาศเผยแพร่ผ่าน JoeDog: http://www.joedog.org/
Siege ถูกสร้างขึ้นด้วย GNU autoconf หากคุณคุ้นเคยกับซอฟต์แวร์ GNU คุณควรจะรู้สึกสบายใจกับการติดตั้ง Siege โปรดดูไฟล์ INSTALL สำหรับรายละเอียดเพิ่มเติม
หากต้องการเปิดใช้งานการรองรับ HTTPS คุณต้องติดตั้งทั้ง openssl และ openssl-devel บนระบบของคุณ
หากต้องการเปิดใช้งานการเข้ารหัสการถ่ายโอน gzip คุณจะต้องติดตั้งทั้ง zlib และ zlib-devel บนระบบของคุณ
ข้อกำหนดเบื้องต้นทั้งหมดต้องถูกติดตั้งในเวลาคอมไพล์ หากคุณเพิ่มไลบรารี่หลังจากคอมไพล์ siege แล้ว คุณจะต้องรัน ./configure สร้าง และทำการติดตั้งอีกครั้ง
ข้อกำหนดเบื้องต้นของการปิดล้อมไม่ใช่การขึ้นต่อกัน หากไม่มีไลบรารีเหล่านี้ แอปพลิเคชันจะยังคงคอมไพล์และทำงาน มันก็จะไม่มีฟังก์ชันเหล่านี้
เอกสารประกอบมีอยู่ใน man page siege(1)layingsiege(1) คู่มือ html รวมอยู่ในการแจกจ่ายนี้: manual.html
สามารถดูเอกสารฉบับสมบูรณ์สำหรับการปิดล้อมได้ที่ www.joedog.org
ศึกษาไฟล์การคัดลอกเพื่อดูข้อมูลใบอนุญาตที่สมบูรณ์
ลิขสิทธิ์ (C) 2000-2023 โดย Jeffrey Fulmer [email protected]
อนุญาตให้ใครก็ตามจัดทำหรือแจกจ่ายสำเนาคำต่อคำของเอกสารนี้ตามที่ได้รับในสื่อใดๆ โดยมีเงื่อนไขว่าประกาศเกี่ยวกับลิขสิทธิ์และประกาศการอนุญาตนี้จะถูกเก็บรักษาไว้ ดังนั้น จึงให้สิทธิ์แก่ผู้รับในการแจกจ่ายซ้ำตามลำดับ
อนุญาตให้เผยแพร่เอกสารฉบับแก้ไขหรือบางส่วนของเอกสารนี้ภายใต้เงื่อนไขข้างต้น โดยมีเงื่อนไขว่าเอกสารดังกล่าวต้องมีประกาศที่ชัดเจนโดยระบุว่าใครเป็นผู้เปลี่ยนแปลงครั้งล่าสุด
นอกจากนี้ เป็นข้อยกเว้นพิเศษ ผู้ถือลิขสิทธิ์ให้สิทธิ์ในการเชื่อมโยงโค้ดของบางส่วนของโปรแกรมนี้กับไลบรารี OpenSSL ภายใต้เงื่อนไขบางประการตามที่อธิบายไว้ในไฟล์ต้นฉบับแต่ละไฟล์ และแจกจ่ายชุดค่าผสมที่เชื่อมโยงซึ่งรวมถึงทั้งสอง
คุณต้องปฏิบัติตาม GNU General Public License ทุกประการสำหรับโค้ดทั้งหมดที่ใช้นอกเหนือจาก OpenSSL หากคุณแก้ไขไฟล์ด้วยข้อยกเว้นนี้ คุณอาจขยายข้อยกเว้นนี้ไปยังเวอร์ชันของไฟล์ของคุณได้ แต่คุณไม่จำเป็นต้องดำเนินการดังกล่าว
หากคุณไม่ต้องการทำเช่นนั้น ให้ลบคำสั่งข้อยกเว้นนี้ออกจากเวอร์ชันของคุณ หากคุณลบคำสั่งยกเว้นนี้ออกจากไฟล์ต้นฉบับทั้งหมดในโปรแกรม ให้ลบออกที่นี่ด้วย