3 February 2009

3 простых совета, которые сделают ваше Rails приложение быстрее, часть #2

Ruby on Rails
  Продолжаем оптимизировать наши приложения написанные на Ruby on Rails. Первая часть статьи здесь
Совет #1: Приберите ваш статический контент
Совет #2: Уберите все лишнее
Совет #3: Кэшируйте всю страницу

Совет #2: Уберите все лишнее

  Аутентификация, обращение к сессиям, проверка прав пользователя и лишнии запросы к базе. Действительно ли нужно выполнять все это при каждом запросе к серверу?

  Вы можете отключить сессии у конкретных Action просто указав:
session :off, :only => :index

  Это существенно повышает производительность и является отличной альтернативой для кэширования, если вам необходима обратиться к базе данных но при этом нет необходимости проверки прав пользователя.

  Если вы используете RestfulAuthentication или ActsAsAuthenticated плагины, вы можете отключить проверку прав пользователя для некоторых Action, что сохранит для вас один запрос к базе.
skip_filter :login_from_cookie
или
skip_filter :login_required
ну или, что там у вас еще…

   Используя fragment caching для ваших Partials пропускайте запросы к базе в вашем контроллере через read_fragment
@users = User.find('all) unless read_fragment(’unique_cache_key’)

Кроме того не забывайте правильно использовать опцию :include в ваших запросах для подгрузки ассоциаций
Post.find(:all, :include => :user)

Это сократит число запросов в 2 раза
Tags: ruby ruby on rails оптимизация кэширование cache
Hubs: Ruby on Rails
+16
1k 15
Comments 13
Ads
Top of the day