أداة 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 بشكل شائع لخيط واحد ل CPU Core + عدة مؤشرات ترابط الخدمة). تتيح هذه الهندسة المعمارية أن تستهلك إصدار 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. من المثير للدهشة أن هذه الأداة المساعدة التي يستخدمها أشخاص آخرين ، حصلت على بعض النجوم على جيثب ، وحتى مدرجة في Blackarch Linux Distro. لذلك قمت بتنظيف الكود قليلاً.
أعتقد أنه قد يكون مجالًا عامًا بسبب أنه مجرد رمز قصير وقصير ، لكن لسبب لا أتذكر بالفعل أنني اخترت GPL لذلك. حسنا. لذلك ، GO نسخة من Hulk المرخصة بموجب GPLV3. انظر الترخيص.
أنا لست مرتبطًا بأداة Hulk الأصلية في Python. الأداة المساعدة الأصلية هي سلطة باري شتيمان (http://sectorix.com). لا توجد أي إشارات إلى الترخيص في المصدر الأصلي ، فهو ليس تحت GPL. اسأل مؤلف الأداة المساعدة الأصلية حول الترخيص.