Ruby-страница загружается очень-очень медленно - как мне это ускорить? - PullRequest
1 голос
/ 16 мая 2010

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

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

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

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

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

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

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

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

Спасибо!

Эллиот


UPDATE:

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

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


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

Ответы [ 2 ]

1 голос
/ 16 мая 2010

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

0 голосов
/ 21 мая 2010

Хорошо, вот шаги, которые я предпринял:

Понимание нетерпеливой загрузки и как ее использовать? (конкретная проблема) (реализована активная загрузка для сокращения SQL-запросов)

Показывать контент только при соблюдении определенных критериев? (меньше пустого контента на странице)

Переделать этот цикл пользователем? (совершенствуя вышеприведенное через модели)

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...