Время отклика увеличивается (ухудшается) со временем при постоянной нагрузке - PullRequest
1 голос
/ 25 января 2010

Хорошо. Я знаю, что у меня мало информации. Это, по сути, причина моего вопроса. Я создаю игру, используя Flash / Flex и Rails на сервере. Связь между ними осуществляется через WebORB.

Вот что происходит. Когда я запускаю клиента, операция вызывает сервер каждые 60 секунд (не так много, верно?), Что приводит к двум выборкам из базы данных и обновлению, а затем к клиенту.

Это повторяется каждые 60 секунд. Я развернул тестовую версию на heroku, и RPM NewRelic сказал мне, что время отклика ухудшалось со временем. Один клиент с одной задачей каждые 60 секунд. В течение нескольких часов время отклика уменьшилось с 150 до 900 мс.

Мне удалось воспроизвести это в моей среде разработки (на моем Macbook Pro), так что это не проблема со стороны Heroku.

Я не делаю ничего сложного (по замыслу) в серверном приложении. Вызывается действие, получает некоторые данные из базы данных, выполняет обновление AR, а затем возвращает ответ. Нет кэширования и т. Д.

Есть мысли? Кто-нибудь? Я действительно ценю это.

Ответы [ 2 ]

0 голосов
/ 25 января 2010

Вы работаете локально в режиме разработки или производства? Я видел, как производительность приложений Rails со временем снижается (использование памяти) в режиме разработки. Я не уверен, можно ли запустить приложение на Heroku в режиме разработки, но на вашем месте я бы это проверял.

0 голосов
/ 25 января 2010

Что говорит журнал разработки медленно для этих запросов? По мнению или БД? Если это БД, проверьте, сколько записей в базе данных, и посмотрите, как оптимизировать запросы. Может быть, вам нужно проиндексировать некоторые поля.

...