Планирование мощности на AWS - PullRequest
       31

Планирование мощности на AWS

0 голосов
/ 04 сентября 2018

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

Мне нужно настроить сервер на основе nodejs, который использует kafka, redis, mongodb. Будет 250 устройств, подключающихся к серверу и отправляющих данные каждые 10 секунд. Размер каждого пакета данных будет примерно 10 КБ. Я буду использовать 64-битный образ Ubuntu

Что мне нужно оценить,

  • MongoDB требует по крайней мере 3 сервера для резервирования. Как оценить размер требуемого объема виртуальной машины и EBS, например, должно быть m4.large, m4.xlarge или что-то еще? Размер тома EBS по умолчанию составляет 30 ГБ.
  • Каким должен быть размер виртуальной машины для запуска других компонентов приложения, которые включают 3-4 процесса nodejs, kafka и redis? например должно быть m4.large, m4.xlarge или что-то еще?
  • Могу ли я оставить только один сервер приложений в группе автоматического масштабирования и увеличивать их по мере увеличения нагрузки, или я должен идти с минимумом 2

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

1 Ответ

0 голосов
/ 04 сентября 2018

Никто не может ответить на этот вопрос для вас. Все зависит от вашего приложения и моделей использования.

Единственный способ правильно ответить на этот вопрос - развернуть некоторую инфраструктуру и симулировать стандартное использование при измерении производительности систем (пропускная способность, задержка, доступ к диску, память, загрузка ЦП и т. Д.).

Затем измените инфраструктуру (добавьте / удалите экземпляры, измените типы экземпляров и т. Д.) И повторите измерение.

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

...