なんでこんな事をしたんですか?*1
昨日、コンソール開いたんです。コンソール。
そしたらなんかabコマンド打ってもApacheBench使えないんです。
で、よく見たらなんかApacheが入ってなくて、"command not found: ab"とか書いてあるんです。
もうね、アホかと。馬鹿かと。
お前らな、ApacheBench如きで普段使ってないApache入れるかよ、ボケが。
Apacheだよ、Apache。
なんか沢山モジュールとかも付いてるし。1台何役だよ。おめでてーな。
よーしついでだからこれもこれも使うといいぞー、とか言って色々いれてくるの。もう見てらんない。
お前な、ApacheBenchだけよこしてさっさと消えろと。
サーバーってのはな、もっと殺伐としてるべきなんだよ。
ネットワーク越しのイカれた奴といつ喧嘩が始まってもおかしくない、
落ちるか落ちないか、そんな雰囲気がいいんじゃねーか。いらねーモジュールは、すっこんでろ。
で、やっといらないやつ全部消えたかと思ったら、
ここで書くの飽きた。
元ネタ:吉野家コピペとは - はてなキーワード
要するに
ApacheBench使いたいけど、そのためだけにApache入れるのもやだなーって思ったので、作りました。
どんなやつ?
Perl触ってる人ならあんまり苦労せずに入れられそうなやつ。
将来的にはcpanm App::wwwbenchで入れられるようにしたいなあ。
オプションは
- -c Int
- 同時コネクション数
- -n Int
- 連続アクセス数
- --url Str
- アクセス先URL
って感じです。現状だと以下のように使って以下のような結果が得られます。
$ wwwbench -n 2 -c 10000 --url http://karupas.org/ [0] - connect total: 10000[connection] - success total: 1449[connection] - success rate: 14.490[%] --- total max : 9.237[s] --- total average: 5.089[s] --- total min : 0.000[s] --- success max : 9.235[s] --- success average: 8.344[s] --- success min : 6.609[s] [1] - connect total: 10000[connection] - success total: 1743[connection] - success rate: 17.430[%] --- total max : 10.126[s] --- total average: 5.466[s] --- total min : 0.000[s] --- success max : 10.126[s] --- success average: 8.484[s] --- success min : 6.159[s]
とりあえず現状はこんな感じで結果が得られます。
なにしてんのこれ
Coro+Furlで並列アクセスしてます。
並列アクセスに関しては
gfx's
gist: 665488 — Gist
を参考にしました。
思い付きで書いたのでテストもドキュメントも書いてませんが、
吐いてるフォーマットとか本当センス無いと思うので是非意見下さい!Fixme!
karupanerura/p5-App-wwwbench · GitHub
*1:ネタです