最新(2013/12/26)のmod_mrubyとngx_mrubyのパフォーマンス

論文の執筆や発表の準備で最新のmrubyに追随できていなかったのですが、ようやくmod_mrubyngx_mrubyを最新版のmrubyに対応させました。対応した項目は以下となります。これでmrubyの最新版でも動くようになりました。

  • mrb_stateが持っていたirepテーブルの削除に対応(バイトコードのGC化)
  • symbol関連のAPI変更に対応
  • ARENAの持ち方を修正

パフォーマンス比較をするには良いタイミングなので、最新版のmod_mrubyngx_mrubyのパフォーマンスを計測しました。

続きを読む

簡単にApacheモジュールのプロファイルをとってみよう

ApacheモジュールはApache httpdに組み込んで使うために、いまいちモジュール単体のテストやプロファイルやデバッグがやりにくい印象があります。

デバッグに関しては以前gdbを使った方法を紹介しましたが、今回は色々あるプロファイラの中で比較的楽にプロファイルが得られるOProfileを使ったプロファイルの取り方を紹介したいと思います。非常に簡単です。

ちなみに、プロファイラをかます事で対象そのものに影響を大きく与えてはいけないという意味で、この話だけでも研究になりそうですが、あまり深入りし過ぎるとまた別の方向にいってしまいそうなので、今回はそういった精度よりもどれだけ簡単にできるかというところに重点を置いた方法を紹介したいと思います。

続きを読む

リクエスト単位でApacheのリソースを制御するためのmrubyを使った制御DSLコードの紹介

IOT研究会コンテナ勉強会で発表した内容を制御コード例を交えて具体的なリソース制御の書き方を紹介したいと思います。

詳しい内容は上の行のエントリへのリンクを見て頂くとして、簡単にまとめると、Apacheへのリクエスト単位でCPUやDISK I/O等のコンピュータリソースを制御しようという話になります。今回はその仕組(mod_mrubyでcgroupを制御)の導入から具体的な制御DSLコードのサンプルを紹介します。

続きを読む

スレッド単位で権限分離を行うWebサーバのアクセス制御アーキテクチャについて書いた論文を公開

ようやく、スレッド単位で権限分離を行うWebサーバのアクセス制御アーキテクチャ(mod_process_security)について書いた論文がIEICE(電子情報通信学会)のジャーナルに無事採録・公開されました。ですので、いつも通り論文を誰でも見られるよう、また、自身の研究状況を報告する意味でも本エントリで公開したいと思います。

続きを読む