Home

人間とウェブの未来

ab-mrubyを使って自分のサイトを継続的にテストしてみた


最近良く聞く継続的なんとかを僕も試してみたくて、早速最近作ったabコマンドベースのベンチマークで、自由にRubyでベンチマークパターンやテストケースを書けるab-mrubyを使ってWebサーバの継続的なテストをしてみました。

ab-mrubyだとどのように書けるか書いてみたので紹介します。

全文を読む

SPDY対応アプリケーションをC言語で実装する方法


昨日、SPDYのCライブラリであるspdylayがめでたく1.0.0としてリリースされたので早速使ってみました。まずはmacOSX10.8.3で試してみました。ビルド方法はメモに書いていますので参考にして下さい。

今回はSPDYで通信できるクライアントをCで書く際に、どのような実装の流れになるかを紹介したいと思います。本エントリで実装流れを把握したら、spdylay/spdylay.hを読む事をおすすめします。

全文を読む

HTTPのベンチマークパターンとテストを動的に書けるab-mrubyを作った


abコマンドのベンチマークパターンを書けるab-mrubyを作ったを昨日書いたわけですが、今日はab-mrubyに対して、ベンチマーク後の結果からテストをRubyで書ける機能を追加しました。

ab-mrubygithubのREADMEに大体書き方は書いていますが、ここでも簡単に紹介したいと思います。

全文を読む

abコマンドのベンチマークパターンを書けるab-mrubyを作った


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週間運営してみて


Register Underflowをリリースしてから3週間がたちました。3週間運営してみて思った事を簡単に列挙しておこうと思います。

全文を読む

mruby-configの設定値取り出しにCの型を指定できるようにした


mruby-configはRuby側で設定した値をC側で取り出す際に、Cの型としてmrb_valueで取り出す仕様にしていました。

の続きです。

で、個人的にもC側で取り出すんだから、intとかcharとか型指定できたほうが楽だよなぁと思っていた時に、ちょうどmatzさんもそっちの方が便利じゃない?と言っていたので、実装することにしました。

基本はmruby APIのmrb_get_argsにならって、同じような仕様で値を参照できるように実装して、C側で使えるmruby-config APIも用意しました。

全文を読む

mruby-configにtag付のconfigを書けるようにした


mrubyで簡単にCアプリの設定ファイルが作れるmruby-config作ってみた」の続きです。

前回のmruby-configの機能では、グローバルな設定しか書けなかったのですが、tag付可能な設定を書けるようにしました。Apache httpdとかでいうと、ディレクティブで囲ってディレクティブのパラメータの違いによって設定を変える、というような振る舞いを記述することができるようになります。

全文を読む

mrubyで簡単にCアプリの設定ファイルが作れるmruby-config作ってみた


C言語でサーバアプリやクライアントアプリを作っていると、じょじょに規模が大きくなり、アプリの設定を外出ししたいなぁ、なんて思いはじめるのはよくある事だと思います。

でも、なんとなくその設定ファイルのParser書いたり参照のインターフェイスを書くのも面倒だし引数で渡すようにするかぁ、なんて思いはじめたりもします。

でも結局引数が大量に増えだして、そのusage表示もカオスになって面倒になり(更新が止まり)、結局もう一度、「設定ファイル作るかー」なんてことになるのはよくある事だと思います。

そこで、そういう人のために,mrubyを使って簡単に設定ファイル(Rubyで書く)を外出しできるmruby-configというmrbgemを作ってみました。こういうことが簡単にできて、かつ、軽量なのがmrubyの良いところですね。

これを使うと、Rubyで書いた設定ファイルを、簡単にCソースの中で呼び出して、その値を参照することができます。

全文を読む

Apache 2.4系でのモダンなアクセス制御の書き方


これまでのApache2.2系以前でのアクセス制御の書き方は賛否両論でした。僕はあまり好きじゃありませんでした。

過去のアクセス制御に関しては、以下の記事がとてもわかりやすくまとめられていると思います。

こせきの技術日記 - Apacheのアクセス制御をちゃんと理解する。

ここで、以下のように言及されています。

こんなバッドノウハウ、本当はどうでもいいと思う。Apache 3.0では、かっこいいDSL(VCL)で書けるようにする構想があるらしいのでがんばってほしい。

ということで、2.4系ではDSLとはいかないまでも、Require*というディレクティブを使ったモダンな書き方ができるようになったので、それを2.2系以前のアクセス制御の記述と比較しながら紹介したいと思います。

全文を読む

Register Underflowの簡単な使い方


先日、Register Underflowというコンピュータ技術共有のためのWebサービスを作ってみたのですが、予想以上にたくさんの方に登録して頂いて、とてもうれしく思っています。

Register Underflowを簡単に説明すると、

Twitterやその他のSNSでやりあっている議論の内容ってすごい良い内容が多いと思うのですが、togetterやその他のサービスにまとめないと見つけにくくなっていきますし、でもそれも意外と面倒で、かといってブログに誰かがまとめるのも大変で、どうにかその中間ぐらいの手間でそういった複数のユーザの技術的な議論をうまくまとめられないかなぁ

というのが趣旨です。

そこで、今日は使い方や言葉の定義など、そういった説明をほとんどしていなかったので、本エントリで簡単に説明しようと思います。

全文を読む

Home

検索
フィード
メタ情報

Return to page top