Я, вероятно, упускаю что-то чрезвычайно очевидное, но я вижу только 6 показателей на моем облачном наблюдателе - 4 EC2 (все о кредитах ЦП) и 2 для S3 (размер сегмента и количество объекты). Такое ощущение, что должно быть ... вы знаете больше 6 показателей? У меня действительно только один экземпляр EC2 в этой учетной записи, и в настоящее время он остановлен, но запускается каждый день в течение примерно получаса. Я должен видеть его показатели, административная часть сайта стала намного больше, чем все остальное. Все вышеперечисленное по-прежнему существует в одном приложении Rails, размещенном на одном динамометрическом стенде Heroku Performance-M.
Проблема в том, что в большинстве случаев высокая степень использования «администратора» приводит к замедлению работы всего сервера, что влияет на Пользователи, не являющиеся администраторами.
Из-за этого мы хотим разделить нагрузку на несколько веб-серверов Heroku, но мы хотели бы сохранить одно приложение Rails для простоты и скорости разработки.
Каков наилучший способ сделать это сделать это?
Спасибо!
PS - Я не был уверен, что Serverfault - лучшее место для публикации этого ... но было действительно сложно выбрать одно. Если я выбрал неправильное место для публикации, сообщите мне, и я отправлю его туда.
Простым ответом здесь было бы разделение на две динамометрические станции и размещение перед ним маршрутизатора уровня 7, такого как HAProxy, Varnish или что-то еще, что предоставляет heroku. / admin / * переходит к одному дино, все остальное переходит к другому. Это одно и то же приложение на обоих,он просто не вызывает определенные части сайта.
ОДНАКО
Это поможет вам только в том случае, если это проблема производительности приложения. Если страницы администрирования, например, убивают базу данных, то это НИКОГДА не увеличит производительность ни в малейшей степени.
Кроме того, это предполагает, что ваше приложение действительно может правильно обрабатывать состояние и сеансы - при масштабировании с 1 сервера на 2, Многие вещи, вероятно, вылезут из дерева, чтобы укусить вас. Обязательно много тестируйте и сообщайте клиентам, когда происходят изменения. Запланируйте откат, потому что развертывание может потребовать пары попыток.