タグ

Rubyとapacheに関するTokyoIncidentsのブックマーク (6)

  • 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で改善
  • Apacheのサンプルログを生成し続けるスクリプト

    最新の記事はこちらです。 Fluentdのテストをする過程で欲しかったので、Apacheのログを生成し続けるスクリプトを書きました。 と言っても生成部分はTreasureDataのスクリプトを丸ぱくりで流量制限をするオプションを追加して延々と出力するようにしただけです。 frsyuki++。 手元でサクッとproductionで確認できる人はうらやましす。 使い方は以下のような感じです。詳細はREADMEを見てください。 ruby sample_apache_gen.rb [--rate=0] [--limit=0] [--rotate=0] [--progress] [--json] [outfile] --rate 毎秒何レコード生成するかの指定。0以下は制限無し。 --limit 最大何件出力するか。0以下は延々と出力し続ける。 --rotate ローテーションの間隔。単位は秒指定。

    Apacheのサンプルログを生成し続けるスクリプト
  • Apacheの内部データをGrowthForecastにmod_mruby経由で送ってグラフ化

    人間とウェブの未来(旧) 「ウェブの歴史は人類の歴史の繰り返し」という観点から色々勉強しています。2014年までの人間とウェブの未来の旧ブログです。 mod_mrubyからAPIつついてなんか面白い事できないかなぁと考えていたら、GrowthForecastというURLにデータをPOSTするだけでグラフが作れるという素晴らしい管理ツールがあったので、Apacheの内部データをGrowthForecastにmod_mruby経由で送ってグラフ化してみました。 GrowthForecastをインストール このインストールページを参考にインストールすればいいだけでした。ソースダウンロード後はGrowthForecast/ディレクトリでcpanmコマンドを叩くだけで、何よりcpanmコマンドが便利過ぎて感動しました。 cpanm --installdeps . そして、以下のコマンドでGrowth

    Apacheの内部データをGrowthForecastにmod_mruby経由で送ってグラフ化
  • 人間とウェブの未来 - mod_mrubyでApacheのリバースプロキシを実装してみた

    動作チェックはしていませんので、あくまでネタとして読んで頂くのが良いと思います。さらに、Rubyのコーディングスキルが低すぎて、いっぱい書くと荒が見えすぎてしまうため、今回は少ないコードにしました。 mod_mrubyの売りとしては、ApacheをRubyスクリプトで「高速に」コントロールできる事ですが、「どういうことができるの?」というイメージが付きにくいのでサンプルを書いてみました。 例えば、複数のバックエンドのサーバがあって、それらにとある条件下でリバースプロキシとして振り分ける場合の処理を書いてみました。だいたいこういう実装になるんじゃないかと思います。 今回は、バックエンドサーバリストからランダムでサーバを選択する場合の処理を実装しました。 require "Apache" backends = [ "http://192.168.0.101:8888/", "http://19

    人間とウェブの未来 - mod_mrubyでApacheのリバースプロキシを実装してみた
  • Apache2.4で mod_mruby vs mod_lua ベンチマーク対決

    人間とウェブの未来(旧) 「ウェブの歴史は人類の歴史の繰り返し」という観点から色々勉強しています。2014年までの人間とウェブの未来の旧ブログです。 さてさて、ついにこの日がやってきました。 mod_mrubyGithub mrubyが出てから、はや5日がたとうとしています。様子を見ていると、名前がmatsumotoという人達がmrubyを弄る確率が高いようです。僕も名前がmatsumotoなので、当然弄っています。こちら(Getting Started With Mruby)に関連する情報がまとまっています。 もともと、mod_mrubyを作る事になったモチベーションとしては、mod_mrubyを作ってみようかで書いていますが、様々な分野でLuaと呼ばれる軽量スクリプトの人気が高まってきており、それに対抗するべく、組み込みにあった軽量rubyとしてmrubyがリリースされました。そ

    Apache2.4で mod_mruby vs mod_lua ベンチマーク対決
  • Phusion Passenger users guide

    Community discussion forum - post a message here if you’re experiencing problems. Support on this forum is provided by the community on a best-effort basis, so a (timely) response is not guaranteed. Issue tracker - report bugs here. Email support@phusion.nl if you are a Phusion Passenger Enterprise customer. Please mention your order reference. If you are not an Enterprise customer, we kindly redi

  • 1