У меня есть рабочее приложение Elastic Beanstalk, которое выполняет однопоточные вычисления с интенсивным использованием памяти. Все доступные типы инстансов, которые соответствуют моим требованиям к памяти (16 ГБ), имеют 2+ виртуальных ЦП, поэтому я использую только 50% ЦП. Редактировать: Это просто причуда того, как сообщается об использовании ЦП при включенной гиперпоточности.
Я вижу, что для интересующих меня типов экземпляров я могу отключить гиперпоточность, установив параметр Вариант процессора ThreadsPerCore к 1, давая мне бесплатное повышение производительности, но Elastic Beanstalk, похоже, не дает возможности установить это в стандартные настройки.
В документации есть множество примеров того, как добавлять собственные ресурсы с помощью образование облаков в расширениях.. Они также ссылаются на тот факт, что стандартные ресурсы, созданные EB может быть изменен; но на практике мне не удалось найти никаких примеров этого. Раньше я не использовал формирование облаков, и теперь изо всех сил пытаюсь собрать их вместе!
Обновить: Смотря на этот ответ, похоже, что я могу просто "повторно объявить" ресурсы EB и переопределить конфигурацию, поэтому я попробовал следующее в файле .ebextensions .config:
Resources:
AWSEBEC2LaunchTemplate:
Type: AWS::EC2::LaunchTemplate
Properties:
LaunchTemplateData:
CpuOptions:
ThreadsPerCore: 1
Похоже, это приближает меня, но теперь, когда я развертываю Elastic Beanstalk, я получаю следующую ошибку: InvalidParameterValue: Both EC2 Launch Template and AS Launch Configuration exist in the template.
Нет результатов в Google для этого.
Это похоже на ссылку на тот факт, что группа автомасштабирования использует либо шаблон запуска, либо конфигурацию запуска, но не оба сразу; но я не касался группы масштабирования, и когда я смотрю на ресурсы, которые EB создает стандартно, там нет конфигурации запуска, только шаблон запуска.