Какие типы экземпляров AWS EC2 подходят для использования в чате?

В настоящее время я создаю базу приложений для чата на NodeJs. Поэтому я решил выбрать, какой тип экземпляра является лучшим для нашего сервера? Потому что у AWS большой выбор: общее назначение, оптимизация вычислений, оптимизация памяти.... Не могли бы вы дать мне совет:(

3 ответа

Поскольку вы не совсем уверены, с чего начать, я бы рекомендовал начать с экземпляра общего назначения EC2 для производства из категории M (M3 или M4). Вы можете начать с меньшего типа экземпляра, например m3.medium.

Примечание. Если это приложение для внутреннего чата с низким трафиком, вы можете даже рассмотреть экземпляры EC2 серии T.

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

Один из подходов, которым я придерживаюсь, заключается в следующем

  1. Начните с экземпляра общего назначения (если я не уверен, что существуют особые потребности, такие как работа в сети, ввод-вывод и т. Д.)
  2. Выполните нагрузочный тест (без автоматического масштабирования для одного экземпляра EC2) приложения, изменив число пользователей и выясните пределы (сколько пользователей может обработать один экземпляр EC2).
  3. Проанализировав использование памяти, ЦП и ввода-вывода, вы также можете рассмотреть возможность перехода на другую категорию EC2 или флешку того же типа. (Допустим, процессор достигает своего предела, но память практически не используется, вы можете рассмотреть возможность использования экземпляров серии C).
  4. Масштабируйте экземпляр EC2 по вертикали, переходя к следующему размеру (например, от m3.medium до m3.large), и выполняйте нагрузочные тесты, чтобы определить его пределы.
  5. После повторения шагов 3 и 4 вы можете найти оптимальный баланс между затратами и производительностью.
    • Давайте возьмем 3 типа экземпляров со стоимостью как X для самого низкого выбранного (так как увеличение размера EC2 в одной единице удваивает стоимость)
      • m3.medium - может обслуживать 100 пользователей, стоимость X
      • m3.large - может обслуживать 220 пользователей, стоимость 2X
      • m3.xlarge - может обслуживать 300 пользователей. стоимость 3X
    • Легко выбрать m3.large в качестве размера экземпляра EC2, поскольку он может обслуживать 110 за X затрат.
    • Тем не менее, это не совсем понятно для некоторых приложений, где вам нужно выбрать тип экземпляра на основе средней ожидаемой нагрузки.
  6. Настройте автоматическое масштабирование и балансировку нагрузки для горизонтального масштабирования экземпляров EC2 для обработки нагрузки выше среднего.

Для получения более подробной информации см. Документ " Архитектура для облака: лучшие практики".

Вы можете прочитать это - https://aws.amazon.com/blogs/aws/choosing-the-right-ec2-instance-type-for-your-application/

На самом деле не имеет значения, какой хостинг вы выбрали -AWS, MS Azure, Google Compute Engine и т. Д...

Если вы хотите получить как можно больше от своих серверов и инфраструктуры, вам нужно решить текущую задачу.

Прежде всего решите, сколько активных пользователей одновременно вы получите в ближайшие 3-6 месяцев. Если количество активных пользователей (подключений) в секунду будет меньше 1000 тыс. - я думаю, вы можете начать с самого маленького типа экземпляра. Вы должны проверить, как вы можете увеличить CPU/RAM/HDD(или SSD) вашего экземпляра. Поэтому, когда вы получите больше пользователей, у вас будет план, как ускорить работу вашего сервера.

И следите за аналитикой вашего сервера - загрузкой ЦП / ОЗУ / ввода-вывода, когда вы получаете все больше и больше пользователей.

Другие вопросы, если вам нужно пройти некоторые сертификаты, связанные с ограничениями безопасности...

Я бы порекомендовал начать с экземпляра T2.micro Linux. Следите за использованием процессора в CloudWatch. Как только загрузка ЦП начинает превышать от 50% до 75%, или когда объем свободной памяти заканчивается, или дисковый ввод-вывод насыщается, переключитесь на следующий более крупный экземпляр.

Экземпляры T2.micro Linux (по большей части) бесплатны. Прочитайте мелкий шрифт. Экземпляры T2.micro являются пакетными, что означает, что вы можете получить хорошую производительность от небольшого экземпляра.

Если ваше приложение чата не имеет большой базы клиентов / транзакций, вам (вероятно) не понадобятся другие типы экземпляров.

Другие вопросы по тегам