Существуют ли какие-либо ограничения для машины или сети EC2?

У меня есть 2 экземпляра на Amazon EC2. Один из них представляет собой t2.micro машину в качестве сервера веб-кэша, а другой — инструмент для проверки производительности.

Когда я начал тест, TPS (транзакций в секунду) был около 3000. Но через несколько минут TPS снизился до 300.

Сначала я подумал, что кредитный баланс процессора исчерпан, но его было достаточно для обработки запросов. Во время теста максимальный исходящий трафик веб-кэша составлял 500 Мбит/с, загрузка процессора составляла 60%, а свободной памяти было более чем достаточно.

Я не мог найти причину снижения TPS. Существуют ли какие-либо ограничения для машины или сети EC2?


person user3413814    schedule 10.09.2015    source источник
comment
Вы когда-нибудь узнавали, почему транзакции падают?   -  person cdimitroulas    schedule 07.02.2018


Ответы (1)


Есть несколько факторов, которые могут ограничивать ваши процессы.

Кредиты ЦП на инстансах T2

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

Инстансы запускаются с кредитами ЦП для быстрого запуска, и эти кредиты расходуются, когда ЦП используется быстрее, чем зарабатываются кредиты. Однако вы говорите, что кредитового баланса было достаточно, так что это, по-видимому, не причина.

Пропускная способность сети

Каждый инстанс Amazon EC2 может использовать определенную пропускную способность сети. Меньшие экземпляры имеют «низкую» пропускную способность, более крупные — больше. Официального заявления о размере пропускной способности нет, но это интересная ссылка от Serverfault: Ограничения пропускной способности для Amazon. EC2

Дисковые операции ввода-вывода в секунду

Если ваше приложение использует доступ к диску для каждой транзакции, а ваш экземпляр использует тип экземпляра General Purpose (SSD), возможно, ваш диск израсходовал все доступные пакетные кредиты. Если ваш диск маленький, это может означать, что он будет работать медленно (скорость составляет 3 IOPS на ГБ, поэтому диск объемом 20 ГБ будет работать со скоростью 60 IOPS). Проверьте показатель Amazon CloudWatch VolumeQueueLength, чтобы узнать, чрезмерно стоять в очереди.

Что-то еще

Замедление также может быть связано с вашим приложением или системой кэширования (например, с нехваткой свободной памяти для хранения данных).

person John Rotenstein    schedule 10.09.2015
comment
Я проверил, сколько разрешено трафика экземпляру t2.micro. Вроде у t2.micro есть 15-20G исходящего трафика за 10 минут. После исчерпания лимита трафика будет применяться скорость 50 Мбит/с. - person user3413814; 14.09.2015
comment
Странно, что есть переменное ограничение на пропускную способность сети - может быть, вы ограничены процессором? - person John Rotenstein; 15.09.2015
comment
Я бы протестировал машину заново созданную каждый тест. Все тесты были сделаны за 10 минут. Я думаю, что кредитного баланса процессора было достаточно. Других ресурсов, таких как использование процессора, свободной памяти, тоже было достаточно. Неизвестная причина повлияла только на пропускную способность сети. - person user3413814; 15.09.2015
comment
Помимо пропускной способности сети, это также может быть ограничение сетевых пакетов, которое зависит от пропускной способности. Чем меньше пакеты, тем больше вы столкнетесь с этим ограничением по сравнению с ограничениями пропускной способности. Я провел 4-недельное исследование по этому вопросу и записал свои выводы вместе с репозиторием на github, таблицей данных и множеством графиков. исследование ограничений количества пакетов в секунду - person mbarlocker; 27.10.2018