Ramazeさんベンチマークをもっと強化してみました

Ramazeさんベンチマークは日々進歩しております。前回の「Gruff でベンチマークをお洒落にしてみました」ではGruffを使ってとっても視覚的に結果が把握できるようにしました。しかし例えば複数アダプタでの比較はできませんでしたので、thin/mongrel/webrick でだとどうなるのかな?ということが分かりませんでした。そこで、今回はそうした比較を可能にする改良を加えておきました。

http://file.dynamic-semantics.com/hatena/981233cd-7e5e-4f1a-a859-babb32474ddd.png

なおこのベンチマークのテキスト版も置いておきます(今回 --formats=gruff,text のように出力形式を複数指定することが可能になりました)。テキスト版の方がより詳細が分かるかと思います。

http://file.dynamic-semantics.com/hatena/b77a802b-bd3d-451a-ac52-fd527e5d8999.txt

また、アダプタだけでなく、複数のリクエストパス間による比較も可能です。とっても便利になったと思いますので、皆様もお手元の環境で試して頂けますと幸いです。今回の変更点はレポジトリに push しておきます。

ところでそろそろwikiの方にも成果を反映しないとならないと思っているのですが、ちょっとベンチマーク結果が最近不可解なので、やや躊躇しています。というのも、上のグラフをご覧になれば分かるように、なぜか thin(0.7.1 codename Fancy Pants) の結果が悪いのです。以前は mongrel よりも大部早かったように記憶しているのですが、最近は何度計測し直してみてもどうにも速度が出ません。0.7.1 の性能があまり良くないのかも知れないのですが、他でそういう話を聞かないので私の環境だけだったら嫌だなぁ、と心配です。なんでなのしょう。0.8.0のリリースも間際のようなので、trunk版を試してどうなのかを調べてみないといけないような気がします。

追記

今回 ab の結果をより多く表示させるようにも変更していたのですが、テキスト版を眺めていたら Document length の値があまりにもバラバラであることに気付きました。これはひょっとしたら benchmark suite 自体になにかミスがあることを示唆しているのかも知れません。要調査!

追追記

調査した結果、benchmark suite にバグがあることが判明しました。よって今回示したグラフはインチキな結果ということになります、ダメじゃん!おまけにさらにダメなのは、バグを混入させた犯人が紛れもなく私であることです。文系でごめんなさい。反省の意を込めてただ今必死で benchmark suite の spec を作成しております。しばらくお待ち下さい。