У меня есть серверное приложение, работающее на EC2 за Elastic Load Balancer.
Я протестировал это с помощью Blazemeter - службы нагрузочного тестирования на основе jMeter, которая также работает в инфраструктуре на основе EC2. Результаты были хорошими.
Однако следует ли мне беспокоиться о том, что он работает в сети Amazon? Является ли сетевое «расстояние» проблемой здесь, следует ли мне искать сервис нагрузочного тестирования, который не работает в EC2?
«Работа в EC2» может означать много-много мест. Например, тестер нагрузки может находиться в us-east-1, а ваше приложение - в us-west-2. Вероятно, это будет честное испытание.
Если тестер нагрузки находится в том же регионе, что и ваше приложение, основное ответвление, которое я вижу, заключается в том, что для ваших данных будет очень мало времени в пути. Это означает, что ваш веб-сервер сможет устанавливать и закрывать соединения быстрее, чем через общедоступный Интернет.
Например, если для создания ваших страниц требуется 100 мс, а задержка для среднего пользователя составляет 200 мс, но 10 мс в вашем регионе EC2, средний запрос займет 300 мс для обычных пользователей и 210 мс для нагрузочных тестеров EC2. Это существенная разница при большом количестве запросов.
Если ваша основная цель - проверить пропускную способность, то ваш тест не нужно запускать из другого региона. Запуск из другого региона приведет к увеличению задержки, но она не всегда является хорошим способом измерения производительности приложения. Если ваше приложение может обрабатывать 100 запросов / с от нас-восток, тогда оно может обрабатывать 100 запросов / с сша-запад, разница в том, что ваши запросы от нас-запад будут занимать больше времени из-за дополнительной задержки. Не помешает также выполнить тесты из другого региона, но это не добавит нагрузки на серверы.