#java #amazon-web-services #maven #amazon-ec2 #maven-3
Вопрос:
В настоящее время я использую экземпляр EC2 t3.medium для компиляции одного проекта maven модуля. Это проект из 1500 классов Java.
Компиляция должна быть очень быстрой, обычно около 2 минут без тестирования. По какой-то причине компиляция иногда происходит очень медленно и занимает от 9 до 10 минут. Используемая команда maven:
mvn clean compile -U -Dmaven.skip.test=true -DskipTests=true -Dmaven.javadoc.skip=true -Dsource.skip=true -Dproject.build.sourceEncoding=UTF-8 -Dcobertura.skip=true -Dproject.reporting.outputEncoding=UTF-8 2>amp;1
В экземпляре больше нет процессов, запущенных одновременно, и cloudwatch указывает, что потребление процессора составляет около 20%. Что может быть причиной такого поведения?
Комментарии:
1. экземпляры t3 могут работать в стабильном или неограниченном режиме. В режиме всплеска ЦП регулируется, когда кредитный баланс ЦП исчерпан. В неограниченном режиме с вас просто взимается дополнительная плата. Проверьте, для чего настроен ваш экземпляр, и проверьте кредитный баланс вашего процессора в cloudwatch.
2. В общем, вам следует избегать экземпляров t2/t3 для рабочих нагрузок с постоянной нагрузкой на процессор.
3. @jordanm Согласно cloudwatch, этот экземпляр имеет 0,3 кредита. Экземпляр всегда выключен, и сценарий включает его только для компиляции и снова выключает. Это, по-видимому, объясняет, почему в другом экземпляре t3.medium проект всегда компилируется очень быстро (у этого экземпляра 600 кредитов) и что, когда экземпляр работает в течение длительного времени, компиляция также выполняется быстро. Что я должен сделать, чтобы поддерживать хорошее время компиляции без чрезмерного увеличения цены? Экземпляры будут автоматически включаться и выключаться сценарием в другом экземпляре.
4. @jordanm Лучше перевести их в неограниченный режим, учитывая, что их естественное состояние будет отключено? этот режим сильно увеличивает цену? Или лучше изменить тип экземпляра? Спасибо за помощь. Подумайте о том, чтобы написать свой комментарий в качестве ответа, чтобы дать ему правильный ответ.
5. Экземпляры T3 не получают стартовые кредиты при запуске. Им требуется время, чтобы получить кредиты за взрыв. Однако экземпляры T2 получают стартовые кредиты, которых может быть достаточно для ваших нужд. Однако только первые 100 запусков экземпляра T2 каждый день будут получать стартовые кредиты. Возможно, вам потребуется использовать тип экземпляра без разрыва (например, M) для вашего варианта использования.