ngx_mrubyに対しても、mod_mrubyで実装していたような高速化アーキテクチャ(これとかこれ)を実装することができたので、どれくらいのパフォーマンスがでるのかをngx_mrubyとmod_mrubyで比較してみました。
研究について
mruby-oauthでmrubyからtwitterを操作
なんとか年末に追い込みをかけて、mruby-uvとmruby-httpベースのmruby-oauthを完成させました。ベースはiij/mrubyの実装を再利用しています。
mruby-uvは名前解決のメソッドが現状用意されていないので実装し、mruby-simplehttpとmruby-httprequestを書き直して、それらを継承しmruby-oauthを作成しました。
mruby-zabbixとmruby-growthforecastでデバイスやアプリケーションの監視並びに情報の可視化を実現
僕は実はZABBIX-JPのスタッフでもあるので、mrubyでも優先度高めでZabbixのAPIをつつけるClassを作ってみました。
これで、mruby-grothforecastで簡単に組み込みデバイスやアプリケーションの内部情報を簡単に可視化できたり、Zabbixに対してAPI経由で監視の操作ができたり、かなり夢が広がったのではないでしょうか。
ということで、mrbgemsの使い方も兼ねて、mruby-zabbixの使い方を説明します。
mrubyのirepテーブルを再利用する事でmod_mrubyのメモリ消費量を改善
昨日、内部フラグメンテーション耐性の高いjemallocを利用することで、mod_mrubyのメモリ使用量を半分に減らす事ができました。
しかし、なお、mod_mrubyを組み込んだサーバプロセスに継続してRubyスクリプトを処理させると、メモリ消費量が単調増加してしまうという問題が残っていました。
そこで、単調増加してしまう原因を突き止め、メモリ消費量増加をさらに改善することができました。