タグ

ブックマーク / blog.matsumoto-r.jp (4)

  • ngx_mrubyから学ぶnginxモジュールの作り方

    人間とウェブの未来(旧) 「ウェブの歴史は人類の歴史の繰り返し」という観点から色々勉強しています。2014年までの人間とウェブの未来の旧ブログです。 ngx_mrubyを作るにあたって、nginxモジュールの実装方法が分かってきたので、それを連々と書いていこうと思います。nginxモジュールといっても、Apacheモジュールの実装方法と似ていたので、Apacheモジュールを書ける人は同様にnginxモジュールも実装できると思います。 ngx_mruby用のディレクティブを追加 nginxモジュールはApacheモジュールと同じで、基的にはnginxの内部ルールに従って、nginxに処理させたい関数をフックさせる方式で実装します。nginxのconfに新たな設定を追加したい時、例えば、以下のようなnginxの設定を新たに作りたいとします。 location /mruby { mrubyHa

    ngx_mrubyから学ぶnginxモジュールの作り方
  • mod_mrubyのメモリ問題をvalgrindで調査の上jemallocで改善

    人間とウェブの未来(旧) 「ウェブの歴史は人類の歴史の繰り返し」という観点から色々勉強しています。2014年までの人間とウェブの未来の旧ブログです。 mod_mrubyはmrubyのmrb_stateをApacheのサーバプロセス上で使いまわすアーキテクチャをとっています。基的にプロセスは起動しっぱなしなのですが、リクエストを大量に処理すると、プロセスのメモリがどんどん太っていく問題がありました。 これは、mruby-uv等でも報告されており、どうにか改善したいと思っていました。そこで、twitter上でいくつかmatzさんとやり取りしながら、valgrindでメモリのLEAKとHEAPを調査の上、mallocのフラグメントを疑い、jemallocでmallocをフックするとどのようにメモリ使用量が改善するかを実験しました。 valgrindでApacheをデバッグ valgrindでA

    mod_mrubyのメモリ問題をvalgrindで調査の上jemallocで改善
  • 人間とウェブの未来 - mrubyで簡単にCアプリの設定ファイルが作れるmruby-config作ってみた

    人間とウェブの未来(旧) 「ウェブの歴史は人類の歴史の繰り返し」という観点から色々勉強しています。2014年までの人間とウェブの未来の旧ブログです。 C言語でサーバアプリやクライアントアプリを作っていると、じょじょに規模が大きくなり、アプリの設定を外出ししたいなぁ、なんて思いはじめるのはよくある事だと思います。 でも、なんとなくその設定ファイルのParser書いたり参照のインターフェイスを書くのも面倒だし引数で渡すようにするかぁ、なんて思いはじめたりもします。 でも結局引数が大量に増えだして、そのusage表示もカオスになって面倒になり(更新が止まり)、結局もう一度、「設定ファイル作るかー」なんてことになるのはよくある事だと思います。 そこで、そういう人のために,mrubyを使って簡単に設定ファイル(Rubyで書く)を外出しできるmruby-configというmrbgemを作ってみました。

    人間とウェブの未来 - mrubyで簡単にCアプリの設定ファイルが作れるmruby-config作ってみた
  • 今日からmrubyをはじめる人へ

    人間とウェブの未来(旧) 「ウェブの歴史は人類の歴史の繰り返し」という観点から色々勉強しています。2014年までの人間とウェブの未来の旧ブログです。 ApacheCon NA 2013に参加し、早めにポートランド国際空港に到着しました。時間があるので、今日(2013年3月2日)からmrubyを始める人へ簡単なチュートリアルをしようと思います。 mrubyというプロジェクト mrubyとは、組み込み機器やアプリ組み込みに最適化された軽量スクリプト言語です。記述方法は既存のRubyのように書くことができます。C言語で書かれたホストアプリにmrubyを組み込むことで、ホストアプリをRubyの記述でコントロールすることができます。例えばmod_mrubyは、RubyでApache APIをつつけるようにmrubyをApacheに組み込むためのモジュールで、ApacheモジュールをRubyで記述する

    今日からmrubyをはじめる人へ
  • 1