2012-05-07 6 views
1

Я новичок в Rails 3.
Я пытаюсь выяснить, почему моя страница загружена настолько медленно.
Я нахожусь в режиме разработки (но в рабочем режиме есть вменяемый картинка)Rails 3 приложение ускоряется

Существует журнал:

Started GET "/inv/claims?locale=uk" for 127.0.0.1 at 2012-05-07 14:36:24 +0300 
    Processing by ClaimsController#index as HTML 
    Parameters: {"locale"=>"uk", "property"=>"inv"} 
Rendered shared/_apps_list.html.erb (0.0ms) 
Rendered shared/_apps_list.html.erb (0.0ms) 
Rendered shared/_apps_list.html.erb (15.6ms) 
Rendered shared/_apps_list.html.erb (0.0ms) 
Rendered shared/_apps_list.html.erb (0.0ms) 
Rendered shared/_apps_list.html.erb (0.0ms) 
Rendered shared/_apps_list.html.erb (15.6ms) 
Rendered shared/_apps_list.html.erb (0.0ms) 
Rendered shared/_apps_list.html.erb (0.0ms) 
Rendered shared/_apps_list.html.erb (0.0ms) 
Rendered shared/_apps_lists.html.erb (31.3ms) 
Rendered claims/index.html.erb within layouts/application (46.9ms) 
Completed 200 OK in 1594ms (Views: 46.9ms | ActiveRecord: 0.0ms) 

Общее количество времени 1594ms

Первый вопрос: Это действительно медленно?

1594 - 46,9 = * * мс - это время, когда моя страница тратит на какой-то логики (не для рендеринга и выполнение запроса).

Второй вопрос: Плохо ли в этом случае логика приложения (1547 мс)?

Я пытаюсь сделать PAGINATION
Моя страница логика:
У меня есть структура папок:

/myfolder/1/application.xml (size of any application.xml about 5Kb) 
/myfolder/2/application.xml 
/myfolder/3/application.xml 
/myfolder/4/application.xml 
/myfolder/5/application.xml 
... 
/folder/50/application.xml 

Я делаю ...
1) Я получение такой информации о каждой папке в myfolder (myfolder/1 /, myfolder/2/...): создание папки или дата изменения. Я храню эту информацию в Hash.
2) Сортировка получения на шаге 1) Hash по дате создания или изменить
3) Получение ломтик Hash используя стартовый идентификатор и шаг. Сохранение его в новом хеше. 4) Итерация через Hash с шага 3. Для каждой записи чтения application.xml и анализа его хэш с помощью doc_hash = Hash.from_xml (Nokogiri :: XML (F, &: noblanks) .to_xml

+0

Вы пробовали использовать https://github.com/wavii/rails-dev-tweaks? – pduersteler

+0

pduersteler, нет из-за того, что я под Rails 3.0.9. Томайн, спасибо за совет. –

ответ

1
  1. Да, это займет полтора секунды, чтобы обработать страницу. Это слишком медленно.

  2. Похоже, какая-то странная логическая ошибка должна быть где-то. В течение неактивной записи, слишком много.

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

+0

Я отредактировал мой вопрос –

+0

Да, это много обработки, и здесь все ваше время тратится. Поэтому я бы сосредоточился, если вам нужно ускорить его. Поскольку файлы не меняются часто, я бы рекомендовал рассмотреть какую-то стратегию кэширования - потенциально основанную на redis или что-то еще. Если вы хотите получить консультацию по кешированию, отправьте новый вопрос. Буду признателен, если вы примете это, как закрытое. Спасибо и удачи! –

+0

большое спасибо за советы –

Смежные вопросы