Загрузка индекса страницы занимает слишком много времени

#ruby-on-rails #ruby-on-rails-3

#ruby-on-rails #ruby-on-rails-3

Вопрос:

Я использую Rails 3.0.7, драгоценный камень kaminari.

Я только что создал простой сайт с базой данных SQLite и 100 000 строками данных, всего с четырьмя столбцами ( ID , name , created_at , updated_at ).,,).

Это мой контроллер:

 class HclinksController < ApplicationController
  # GET /hclinks
  # GET /hclinks.xml
  def index
    @hclinks = Hclink.page(params[:page])

    respond_to do |format|
      format.html # index.html.erb
      format.xml  { render :xml => @hclinks }
    end
  end
end
  

Я построил его.

Вот мой журнал:

 // THIS IS INDEX, WHICH SHOWS ALL THE LIST ITEMS
Started GET "/hclinks" for 127.0.0.1 at 2011-05-08 00:59:52  0800
  Processing by HclinksController#index as HTML
  Hclink Load (391.8ms)  SELECT "hclinks".* FROM "hclinks" LIMIT 25 OFFSET 0
  SQL (4574.8ms)  SELECT COUNT(*) FROM "hclinks"
Rendered hclinks/index.html.erb within layouts/application (178778.1ms)
Completed 200 OK in 182775ms (Views: 175845.5ms | ActiveRecord: 4966.6ms)

// THIS IS THE RUBY ON RAILS WELCOME PAGE
Started GET "/hclinks" for 127.0.0.1 at 2011-05-08 01:03:13  0800
  Processing by HclinksController#index as HTML
  Hclink Load (65.3ms)  SELECT "hclinks".* FROM "hclinks" LIMIT 25 OFFSET 0
  SQL (910.6ms)  SELECT COUNT(*) FROM "hclinks"
Rendered hclinks/index.html.erb within layouts/application (1532.2ms)
Completed 200 OK in 1657ms (Views: 652.5ms | ActiveRecord: 975.9ms)
  

Интересно, почему ответ на запрос списка занял так много времени… Как мне это исправить? Спасибо!

Комментарии:

1. Время в основном тратится на просмотры. Используете ли вы частичные элементы внутри цикла на индексной странице? В режиме разработки это может занять много времени на более медленной машине.

2. Представление простое, просто ol список. Нет частичных.

Ответ №1:

Является ли этот вывод журнала результатом нового перезапуска rails или приложение уже выполнило несколько запросов?

Если бы это был не первый запрос, я бы проверил, увеличивается ли время загрузки при каждом запросе.

Если это произойдет, возможно, у вас утечка памяти