最近良く聞く継続的なんとかを僕も試してみたくて、早速最近作ったabコマンドベースのベンチマークで、自由にRubyでベンチマークパターンやテストケースを書けるab-mrubyを使ってWebサーバの継続的なテストをしてみました。
ab-mrubyだとどのように書けるか書いてみたので紹介します。
「ウェブの歴史は人類の歴史の繰り返し」という観点から色々勉強しています。2014年までの人間とウェブの未来の旧ブログです。
昨日、SPDYのCライブラリであるspdylayがめでたく1.0.0としてリリースされたので早速使ってみました。まずはmacOSX10.8.3で試してみました。ビルド方法はメモに書いていますので参考にして下さい。
今回はSPDYで通信できるクライアントをCで書く際に、どのような実装の流れになるかを紹介したいと思います。本エントリで実装流れを把握したら、spdylay/spdylay.hを読む事をおすすめします。
abコマンドのベンチマークパターンを書けるab-mrubyを作ったを昨日書いたわけですが、今日はab-mrubyに対して、ベンチマーク後の結果からテストをRubyで書ける機能を追加しました。
ab-mrubyのgithubのREADMEに大体書き方は書いていますが、ここでも簡単に紹介したいと思います。
Web屋さんはみんな大好きabコマンドは便利ですが、オプションは複雑で数も多く、複数のホストにそれぞれに対応するオプションを指定してテストしたりすると結構カオスになりがちです。
最近では、httperfやweighttp等のabに変わる次のHTTPベンチマークツールが出てきていますが、やっぱりまだまだ現役で良く使うのはabコマンドだと思います。
そこで、今回はabコマンドの複数のベンチマークオプションのパターンを1つのRubyスクリプトに定義しておいて、それをabコマンドで読み込む事で動的に任意のパターンでベンチマークを行うab-mrubyを作りました。外出しで書いたRubyスクリプトとabコマンドの連携は、ab-mrubyと見てわかるように、mrubyを使っています。
これによって、RubyでURL別にベンチマークパターンを定義しておけば、URL毎にいちいちオプションを指定する必要がありません。ab-mrubyで指定するベンチマーク対象URLから、動的にベンチマークパターンを決定することができます。また、オプションの羅列に比べて非常に可読性も良いので、後から見ても、どういうベンチマークパターンだったかすぐわかるようになります。
Register Underflowをリリースしてから3週間がたちました。3週間運営してみて思った事を簡単に列挙しておこうと思います。