09 Jun '12, 1pm

Webサーバを含めたレスポンス速度、フレームワーク内の速度、DB、レンダリングの処理をそれぞれ測定する方法。collection + partial を使っている場合renderがコストになることがある。partial fileをヘルパ…

さて、セッションを無効、もしくは高速なセッションに切り替えることで、フレームワーク部の速度向上が図れることが分かりました。 続いて、アプリケーションの中を見てみましょう。 アプリケーションの中のチューニングにまず役に立つのは Rails のログです。 「パフォーマンスを計測しよう」の章で確認した Rails のログをもう一度見てみます。 そこでも説明しましたが、Rendering と呼ばれる HTML の生成部分に 40 ミリ秒以上かかっていることが分かります。 このアプリケーションでは実行時間のほとんどが HTML の生成にかかることが分かります。 Rails では、View を中心とした高速化の手法として、キャッシュ機構を内蔵しています。 これを使えば同じ HTML を二度生成することなく、その分の処理がまるごと省けるので、かなりの高速化が見込めます。 しかし、キャッシュの導入は、適用範囲やキャッシュの破棄などにより、プログラムが複雑になりがちです。 特に HTML の構造がたびたび変更されるときには、そのたびにキャッシュの範囲を再設計する必要があるなど手間がかかってしまいます。 できれば最後の手段に取っておきたい手法です。 render が犯人 では、それ以外に View を高速化する方法を探ってみます。 ログからもう少し情報を探れないか、ログの出力レベルを :debug にします。 config/environment.rb を下記のように変更します (見やすいように改行を入れてあります)。 require File.join(File.dirname(__FILE__), 'boot'); Rails::Initializer.run { |config| config.action_controller.session_store = :active_record_store } ↓ 1 行追加 require File.join(File.dirname(__FILE__), 'boot'); Rails::Initializ...

Full article: http://jp.rubyist.net/magazine/?0019-RubyOnRails

Tweets

“Rubyist Magazine - RubyOnRails を使ってみる 【第 6 回】 ...

jp.rubyist.net 17 Jun '12, 4pm

ここでとりあげるのは、ソフトウェアテストのうち、ユニットテスト (unit test) と機能テスト (functional test) といわれるものです。 まず、言葉の意味を確認しておきましょう。 ユニットテストとは ユニットテストはユニッ...

Rubyist Magazine - 他言語からの訪問 【第 1 回】 Groovy (前編)

jp.rubyist.net 07 Jun '12, 7pm

Rubyist の皆さんこんにちは。Groovy についての記事を書くことになりました上原と申します。Groovy についてはるびまでも、「Rubyist のための他言語探訪 【第 5 回】 Groovy 」で 2005 年にみずしまさんの手に...