เครื่องมือ HULK DOS ย้ายไปใช้ภาษาจาก Python ยูทิลิตี้ Python ดั้งเดิมโดย Barry Shteiman http://www.sectorix.com/2012/05/17/hulk-web-server-dos-tool/ ฉันเพิ่งพอร์ตรหัสอย่างรวดเร็วและสกปรก ชื่อฟังก์ชั่นดั้งเดิมได้รับการเก็บรักษาไว้และตรรกะดั้งเดิมส่วนใหญ่จะเก็บไว้เช่นกัน
ความแตกต่างที่สำคัญจากรุ่น Python วางอยู่ในสถาปัตยกรรม Golang สำหรับการเกิดขึ้นพร้อมกัน: Goroutines Hulk.py เรียกใช้เธรดใหม่สำหรับการเชื่อมต่อแต่ละครั้งในพูลการเชื่อมต่อดังนั้นจึงใช้เธรดหลายแสนเธรด hulk.go เพียงแค่ใช้ goroutines ที่มีน้ำหนักเบาที่ใช้เธรดเพียงสิบเท่านั้น สถาปัตยกรรมนี้ช่วยให้รุ่น Golang ใช้ทรัพยากรได้ดีขึ้นและมีพูลการเชื่อมต่อที่สูงขึ้นมากในฮาร์ดแวร์เดียวกันกว่ารุ่น Python สามารถทำได้
เครื่องมือนี้มีเป้าหมายสำหรับการทดสอบความเครียดและอาจลดลงเซิร์ฟเวอร์ที่กำหนดค่าไม่ดีหรือแอพที่ทำไม่ดี ใช้อย่างระมัดระวัง
ตัวอย่าง:
$ hulk -site http://example.com/test/ 2>/dev/null
$ HULKMAXPROCS=4096 hulk -site http://example.com 2>/tmp/errlog
สภาพแวดล้อมที่เป็นประโยชน์ vars:
รายละเอียดเพิ่มเติม: http://old.siberian.laika.name/node/7
อัปเดต: ฉันสร้างยูทิลิตี้นี้เป็นครั้งเดียวเมื่อฉันเล่นเพียงเล็กน้อยกับ Golang น่าแปลกที่ฉันพบว่ายูทิลิตี้นี้ใช้โดยคนอื่นมีดาวบางดวงใน GitHub และรวมอยู่ใน Blackarch Linux Distro ดังนั้นฉันจึงทำความสะอาดรหัสเล็กน้อย
ฉันคิดว่ามันอาจเป็นโดเมนสาธารณะเพราะมันเป็นเพียงรหัสที่เรียบง่ายและสั้น แต่ด้วยเหตุผลที่ฉันจำไม่ได้ว่าฉันได้เลือก GPL สำหรับมัน โอเค ดังนั้นรุ่นของ Hulk ที่ได้รับอนุญาตภายใต้ GPLV3 ดูใบอนุญาต
ฉันไม่ได้เกี่ยวข้องกับยูทิลิตี้ Hulk ดั้งเดิมใน Python ยูทิลิตี้ Hulk Original เป็นผู้มีอำนาจของ Barry Shteiman (http://sectorix.com) ไม่มีการอ้างอิงใด ๆ กับใบอนุญาตในแหล่งต้นฉบับแล้วมันไม่ได้อยู่ภายใต้ GPL ถามผู้แต่งยูทิลิตี้ดั้งเดิมเกี่ยวกับใบอนุญาต