AWS - Четыре t3.micro с балансировкой нагрузки против одного t3.medium для NodeJS API

I '

Предполагается, что любая установка получит одинаковую нагрузку / процесс / запросы. Мне сложно определить, что будет более производительным, особенно потому, что я обнаружил, что nodejs лучше работает в кластерном режиме (когда у экземпляра более 1 ядра). Что из этого дало бы мне большую производительность за эти деньги?

1
задан 6 November 2018 в 05:35
2 ответа

Помимо запуска node.js API поверх экземпляра EC2 , вы можете попробовать использовать AWS Lambda.

AWS Lambda бесплатно платы за 1 млн запросов в месяц и 0,20 за 1 млн запросов в дальнейшем.

1
ответ дан 3 December 2019 в 20:11

Полностью зависит от рабочей нагрузки и необходимости TLS / SSL. Сделал несколько тестов с аналогичным набором вопросов. С точки зрения использования ЦП быстро стало ясно, что обработка большого количества небольших запросов создает довольно много накладных расходов на стороне TLS, которые могут быть прекращены балансировщиком нагрузки, смещая использование ЦП с экземпляров.

Балансировка нагрузки с помощью экземпляры в нескольких зонах доступности также могут считаться более устойчивыми.

С другой стороны, использование памяти, скорее всего, более эффективно в одном экземпляре с помощью механизма кэширования на уровне одной операционной системы. Кроме того, накладные расходы ОС возникают только один раз.

Если вы действительно хотите оптимизировать настройку, скорее всего, лучший способ - это настроить какой-нибудь нагрузочный тест и сравнить результаты. У t2.micro может очень быстро закончиться загрузка ЦП, но это также сильно зависит от запускаемого приложения. Если он требует памяти, вам будет лучше, если в экземпляре будет больше памяти.

1
ответ дан 3 December 2019 в 20:11

Теги

Похожие вопросы