日々精進

新しく学んだことを書き留めていきます

Rails - Advanced Railsのパフォーマンスチューニング技法3

前回の続き。
5.DBのパフォーマンス測定
内容はExplainを使ってインデックス使ってるかチェックしましょうとか、普通の内容だと思う。特に勉強になったわけではないのでパス。


6.スケーラビリティ
・DB、session、キャッシュを考慮する必要あり。
・sessionを複数アプリケーションサーバで共有するには以下の文を実行してActiveRecordにsessionを保存すればいい。
CGI::Session::ActiveRecordStore::Session.table_name = 'web_sessions'
○キャッシュについて
Page cacheとAction cacheについては特に目新しい情報無し。
Fragment Cacheを使う時に、以下のようにハッシュをcacheに渡すとアクションとアクションに渡すkeyとvalueの組も指定してキャッシュを生成することができる。

<% cache(:id => 'one') do %>
  This is cached as example.com/some/action/one.
<% end %>

<% cache(:id => 'two') do %>
  This is cached as example.com/some/action/two.
<% end %>

・外部のプログラムを使う方法とか、C言語のコードを実行する方法とか
peepcodeというスクリーンキャストでRails関連の技術を解説してくれるサイトでhttperfの使い方を勉強するといいかも(ちょっと見てみたけど、全部英語なので日本人には辛いと思う。。)