Railsアプリケーションを高速化する3つの簡単なヒント、パート2

Ruby on Railsで記述されたアプリケーションを引き続き最適化します。 記事の最初の部分はこちらです。
ヒント#1:静的コンテンツを取得する
ヒント#2:クリーンアップ
ヒント#3:ページ全体をキャッシュする

ヒント#2:クリーンアップ

認証、セッションへのアクセス、ユーザー権限の検証、およびデータベースへの不要なクエリ。 サーバーへのすべてのリクエストでこれらすべてを本当に行う必要がありますか?

以下を指定するだけで、特定のアクションからセッションを切断できます。
session :off, :only => :index

これにより、パフォーマンスが大幅に向上し、データベースにアクセスする必要があるがユーザー権限を確認する必要がない場合のキャッシュの優れた代替手段となります。

RestfulAuthenticationまたはActsAsAuthenticatedプラグインを使用する場合、いくつかのアクションのユーザー権限チェックをオフにできます。これにより、単一のデータベースリクエストが保存されます。
skip_filter :login_from_cookie
または
skip_filter :login_required
または他に何がありますか...

パーシャルにフラグメントキャッシングを使用して、read_fragmentを介してコントローラーのデータベースリクエストを渡します。
@users = User.find('all) unless read_fragment('unique_cache_key')

また、クエリで正しくincludeオプションを使用して、 関連付けロードすることを忘れないでください
Post.find(:all, :include => :user)

これにより、リクエストの数が2倍に減少します

Source: https://habr.com/ru/post/J50946/


All Articles