I '
Предполагается, что любая установка получит одинаковую нагрузку / процесс / запросы. Мне сложно определить, что будет более производительным, особенно потому, что я обнаружил, что nodejs лучше работает в кластерном режиме (когда у экземпляра более 1 ядра). Что из этого дало бы мне большую производительность за эти деньги?
Помимо запуска node.js
API поверх экземпляра EC2
, вы можете попробовать использовать AWS Lambda.
AWS Lambda бесплатно платы за 1 млн запросов в месяц и 0,20 за 1 млн запросов в дальнейшем.
Полностью зависит от рабочей нагрузки и необходимости TLS / SSL. Сделал несколько тестов с аналогичным набором вопросов. С точки зрения использования ЦП быстро стало ясно, что обработка большого количества небольших запросов создает довольно много накладных расходов на стороне TLS, которые могут быть прекращены балансировщиком нагрузки, смещая использование ЦП с экземпляров.
Балансировка нагрузки с помощью экземпляры в нескольких зонах доступности также могут считаться более устойчивыми.
С другой стороны, использование памяти, скорее всего, более эффективно в одном экземпляре с помощью механизма кэширования на уровне одной операционной системы. Кроме того, накладные расходы ОС возникают только один раз.
Если вы действительно хотите оптимизировать настройку, скорее всего, лучший способ - это настроить какой-нибудь нагрузочный тест и сравнить результаты. У t2.micro может очень быстро закончиться загрузка ЦП, но это также сильно зависит от запускаемого приложения. Если он требует памяти, вам будет лучше, если в экземпляре будет больше памяти.