Загрузка страницы при запуске приложения rails? - PullRequest
0 голосов
/ 31 июля 2010

У меня есть приложение rails на общем сервере, который также имеет базу данных приличного размера, которая все еще растет.Для запуска / загрузки домашней страницы приложения требуется много времени, для меня это занимает около 20-30 секунд, хотя некоторые люди сообщают об ожидании до нескольких минут.загрузка базы данных может занять несколько минут, пока они ждут?

1 Ответ

1 голос
/ 31 июля 2010

Трудно сказать, основываясь на вашем вопросе, поскольку мы не знаем точно, что показывает ваша домашняя страница или как она отображается, но при условии, что вы имеете в виду вызов AJAX (на основе тега), который извлекает что-то из базы данных, которая будет отображаться на вашей домашней странице, есть несколько вещей, которые вы можете попробовать:

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

  2. Загрузите оставшуюся часть страницы (верхний колонтитул, нижний колонтитул, панель навигации и т. Д.), А затем поместите спиннер с загрузкой gif в область, где должен быть загружен контент. Если вы используете библиотеку javascript, такую ​​как jQuery, это довольно тривиально, и для этого есть множество обучающих программ. Вот хороший сайт для индикаторов бесплатной загрузки: http://ajaxload.info/. Что вы хотите сделать, это сделать вызов AJAX и использовать вашу библиотеку javascript, чтобы установить изображение загрузки. Затем в успешном обратном вызове для вашего вызова ajax скройте счетчик и покажите содержимое.

  3. Загрузка по одному предмету за раз. Сделайте отдельный вызов ajax для каждого элемента, который вы собираетесь загрузить, чтобы пользователь мог видеть, что они входят. Это, вероятно, в конечном итоге займет больше времени (вы чаще обращаетесь к базе данных), но визуальный эффект может быть хорошим психологический взлом.

  4. Посмотрите, как настроены ваши запросы к базе данных. Вы получаете все необходимое в одной находке? Это лучший способ сделать это, так как каждый раз, когда вам приходится совершать очередную поездку в базу данных, вы увеличиваете время ожидания.

Кроме того, лучшее, что вы можете сделать, - это получить лучшее оборудование, если это возможно, возможно, посмотрите на VPS, например, linode.com.

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