Pythonから言語に移動するために移植されたHulk DOSツール。バリー・シュテイマンによるオリジナルのPythonユーティリティhttp://www.sectionix.com/2012/05/17/hulk-web-server-dos-tool/私は迅速かつ汚いようにコードを移植しました。元の関数名は保持され、元のロジックも主に保持されます。
Golang Architectureに配置されたPythonバージョンとの主な違い:Goroutines。 Hulk.pyは、接続プールの接続ごとに新しいスレッドを実行して、数百と数千のスレッドを使用します。 Hulk.goは、数十のスレッドしか使用していない軽量ゴルチンを使用します(一般に、Golang RuntimeはCPUコア +いくつかのサービススレッドのスレッドを1つ開始します)。このアーキテクチャにより、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ディストリビューションにさえ含めていることがわかりました。だから私はコードを少しクリーンアップしました。
それは単純で短いコードのためにパブリックドメインかもしれないと思いますが、私はまだGPLを選択したことを覚えていません。オーケー。したがって、GPLV3の下でライセンスされたハルクのバージョンに行きます。ライセンスを参照してください。
私はPythonのオリジナルのハルクユーティリティとは関係ありません。オリジナルのハルクユーティリティは、Barry Shteiman(http://sectorix.com)の権威です。元のソースにはライセンスへの参照はありませんが、GPLの下にありません。オリジナルユーティリティの著者にライセンスについて尋ねてください。