Рендеринг большого количества объектов ActiveRecord в Rails

У меня есть несколько действий контроллера Rails, которые отвечают на запросы AJAX следующим образом:

books = Book.all
render :json => { :books => books }

Это должно быть относительно быстрым, однако это занимает более 5 секунд, что слишком долго для любого запроса в Интернете. Логи выглядят так:

Completed 200 OK in 5212ms (Views: 2679.7ms | ActiveRecord: 147.7ms)

Я не понимаю, как 2,6 секунды могут быть потрачены на «представления», когда я не рендерю в файл представления, или как в сумме может быть потрачено 5212 мс. Что занимает так много времени и как можно ускорить процесс?

Редактировать: по этому конкретному запросу возвращено около 1000 книг, и я предполагаю, что каждая содержит около 1 КБ данных. Редактировать 2: Глядя на ответ в консоли, размер ответа составляет 973 КБ.

5
задан NudeCanalTroll 3 April 2012 в 14:24
поделиться