Active Record очень медленно после простоя в течение нескольких часов - PullRequest
0 голосов
/ 17 февраля 2011

У меня есть приложение Rails 3 с около 11 000 строк подкастов и около 600 000 строк эпизодов в базе данных SQLite.В настоящее время он находится в разработке, и я единственный клиент, который обращается к серверу.

Когда я возвращаюсь домой с работы в конце дня и делаю первый запрос к просмотру эпизодов подкаста, запрос занимает около 10раз дольше, чем обычно.Второй запрос, однако, занимает нормальное количество времени.

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

Должен ли я перейти на MySQL или базу данных nosql?Могу ли я еще что-нибудь сделать?

РЕДАКТИРОВАТЬ: Я должен добавить, что у меня запущен общий доступ к Mac OS X с использованием Passenger в качестве сервера.

Спасибо,

Харрис

1 Ответ

1 голос
/ 17 февраля 2011

Если вы используете Passenger или какой-либо модуль запуска приложений, вы можете обнаружить, что процесс Rails отключается при простое в течение длительных периодов времени. Все приложение должно быть перезапущено по первому запросу, но после этого будет работать нормально.

Это типично для сайтов, которые не получают много трафика. Вы можете искусственно стимулировать немного трафика, используя cron задание и curl конечно.

Обычно вы можете определить, так ли это на самом деле, посмотрев список процессов и выяснив, запущен ли Rails процесс.

Это повлияет даже на приложения без базы данных.

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