Heroku. Запрос занимает 100 мс, время от времени - PullRequest
1 голос
/ 06 января 2012

После выполнения нагрузочного тестирования приложения, размещенного на Heroku, я обнаружил, что наиболее интенсивный запрос к БД занимает 50-200 мс в зависимости от нагрузки. Это никогда не становится медленнее, независимо от нагрузки. Тем не менее, на первый взгляд случайное время ожидания запроса истекает (30 с или более).

Почему в Heroku относительно высокопроизводительный запрос / запрос отлично работает 8 раз из 10, а прямой тайм-аут - 2 раза из 10 при увеличении нагрузки?

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

Немного больше информации:

Несколько динамовцев Кедр стек Выделенная база данных Heroku (16 подключений, 1,7 ГБ ОЗУ, 1 комп. Блок) Рельсы 3.0.7

Заранее спасибо.

1 Ответ

5 голосов
/ 06 января 2012

Поскольку у вас есть несколько динамов и выделенный экземпляр БД, и вы платите сотни долларов в месяц за их обслуживание, вам следует обратиться к Heroku

Редактировать: я должен был добавить, что при проверке журналов вы можетенайдите строку с надписью «маршрутизация». Это слой маршрутизации Heroku, который принимает HTTP-запрос и отправляет их в ваше приложение.Вы можете добавить их, чтобы увидеть, сколько времени тратится за пределами вашего приложения.К сожалению, я не знаю, как легко получить большие объемы этих журналов для нагрузочного теста.

...