Rails - Время выполнения запроса значительно превышает время просмотра и базы данных

У меня есть контроллер, который возвращает JSON или XML из довольно сложного реляционного запроса с некоторыми элементами управления. r логика тоже.

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

В моем журнале я вижу такие элементы:

Completed in 740ms (View: 1, DB: 50)

Итак, если я правильно понимаю, это означает, что визуализация представления заняла 1 секунду, а запрос к БД составил 50 мс. Все оставшееся время в контроллере? Я пробовал обойти логику контроллера и просто оставить там to_json и to_xml, и это так же медленно. В качестве ориентира мой средний возвращаемый набор результатов JSON составляет 168 КБ.

Есть ли другие шаги, которые входят в Завершенное вовремя? Включает ли он время до последнего байта для передачи по сети?

Обновление: Я заключил различные части моего контроллера в блоки тестирования:

self.class.benchmark("Active Record Find") do
  #my query here
end

Я обнаружил, что, хотя в строке журнала указано DB: 50 my active поиск записи занимает почти все оставшееся время. Итак, теперь я не понимаю, что означает этот номер БД и почему в тестовой строке будет указано ~ 600 мс, а в БД: время будет ~ 50.

Спасибо

13
задан Nick 20 September 2011 в 22:22
поделиться