ruby

hbaserb

アプリケーションのログをparseしてHBaseに格納する為に、hbaserbというライブラリを使ってみました。hbaserbからHBaseを操作するのはThrift経由となる為、先にThriftの受け口を起動しておきます。 hbase-daemon.sh start thrifttableもhbaserbで作成するこ…

arel

rails's arel at master - GitHub Arel is a Relational Algebra for Ruby. It 1) simplifies the generation complex of SQL queries and it 2) adapts to various RDBMS systems. It is intended to be a framework framework; that is, you can build you…

HikiDocで1行でも段落とする

HikiDocでは、改行だけの行か、他の要素(ヘッダーやリスト等)が見つかるところまでを段落としています。例えば、"ふー\nばー\nほげ\n"だと1段落になります。 今回、これを3段落にしたい、つまり改行があったらそこまでを段落としたい、ということになり、Hik…

WEBrickの停止をフックする

前回プロファイリングの話で、当初はプロファイリングの終了をサーバの停止のタイミングで行いたいと考えていました。(結局その必要は無かったのですが)その際に調べてみると、WEBrickはStopCallbackというコールバックを登録しておくことで、サーバ終了時に…

ruby-prof

railsアプリのレスポンスがたまに物凄く悪くなることがあり、ruby-profを試してみました。 ruby-profのバージョンは現在0.7.3なのですが、railsアプリをプロファイルする際に、従来のproductionモードで実行した結果をログに出すアプローチから、プロファイ…

NoMethodError (undefined method `responds_to_parent'

何かファイルのアップロードがおかしいな、とログを見てみたら、responds_to_parentメソッドが見つからない、というエラーが出てました。vendor/plugins/responds_to_parent/rails/init.rbを確認したところ、 ActionController::Base.send :include, Respond…

移行先にcapistranoでdeploy

さくらで動かしていたアプリケーションを移行しているのですが、capifyされたrailsのアプリケーションについては、capistoranoで移行してみました。まずは、 $ apt-get install subversion でsvnを使用できるようにします。次に、deploy.rbを移行先の環境に…

Phusion Passengerのリソース消費 その2

数日様子を見てみたのですが、間隔を空けてアクセスすると非常に長い時間待たされるので、 PassengerPooledTimeを0にすることでapplication instanceを落とさないようにしてみました。 /etc/apache2.conf PassengerMaxPoolSize 1 PassengerPoolIdleTime 0 Pa…

Phusion Passengerのリソース消費

Phusion Passengerを使うようにしたのですが、リソースの消費量は気になるところ。チューニングの方法については、以下のページにあります。5.12. Resource control and optimization options上記ページを見る限り、チューニングパラメータは以下の5点です。…