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 раза
Теги:rubyruby on railsоптимизациякэшированиеcache
Хабы: Ruby on Rails
+16
1,1k 15
Комментарии 13

Похожие публикации

Программист Ruby on Rails (mid, mid+)
от 101 010 до 160 000 ₽TIQUMМожно удаленно
Ruby on Rails - Middle - Public API
от 150 000 до 180 000 ₽igooodsСанкт-Петербург
Senior Developer Ruby on Rails
от 140 000 до 170 000 ₽EdsteinМожно удаленно
Lead Ruby on Rails developer
от 200 000 до 280 000 ₽ikitlabМожно удаленно
Middle/Junior Developer Ruby on Rails
от 110 000 до 130 000 ₽EdsteinМожно удаленно

Лучшие публикации за сутки