2010-05-16 7 views
1

Я собираюсь попытаться описать код на мой взгляд, без фактического размещения всего мусора:Загрузка страницы в Ruby очень медленно - как мне ее ускорить?

У этого есть стандартная оболочка (заголовок, нижний колонтитул и т. Д. В макете), это также там, где существует субавигация который основан на цикле (чтобы найти количество опций) - на этой странице у нас есть 6 субнавских ссылок.

Затем в окне индекса у нас есть навигатор третьего уровня - с 3 ссылками, которые используют javascript для ссылки/скрытия divs на странице.

Это означает, что каждый из этих оригинальных 6 вариантов имеет свой собственный 3-й уровень навигации, каждый из которых состоит из трех страниц.

Эти три страницы/divs имеют форму ввода для создания записи в рельсах, а затем другие 2 страницы показывают записи в разных наборах.

ВСЕ этот код живет на одной странице (кроме оболочки). Оригинальная поднавигация использует решение вкладки javascript, чтобы просмотреть все его ... (это означает, что около 6 div, которые содержат 4 divs функции - примерно 24 тяжелых div).

Загрузка, похоже, берет навсегда, хотя после загрузки ее очень быстро (очевидно).

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

Спасибо!

Эллиот


UPDATE:

Так что я не думаю, что кэширование страниц на самом деле собирается выполнить много ... У меня есть 84 петли, которые требуют записи на странице (ее в настоящее время 84 так как есть 7 пунктов главного меню - добавлено еще одно с момента публикации, каждый пункт меню имеет 3 страницы, в пределах трех страниц имеется около 12 списков элементов, а так как все они живут на одной странице - 7x12 = 84 цикла/списков. Каждый раз, когда я решаю добавить элемент главного меню, он добавит еще 12 циклов/списков на страницу). И они не могут быть кэшированы, поскольку они сами динамичны.

Я чувствую, что существует определенное решение для прогрессивной загрузки, когда вкладка загружает данные только при нажатии?


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

ответ

0

ИТАК вот шаги, которые я взял:

Understanding Eager Loading & How to use it? (specific issue) (реализовано жадная загрузка сократить на запросах SQL)

Only show content when certain criteria is met? (менее пустое содержание на странице)

Remaking this loop by user? (совершенствование вышеописанные модели)

Страница намного быстрее, надеюсь, эти ресурсы помогут кому-то еще!

1

Попробуйте фрагментировать кеширование для этих пунктов меню. Я считаю, что меню выбирается из sql (просмотр списка категорий). Помимо этого - мусор поможет более точно определить вашу проблему.