Distributed Load Testing on AWS MCP
MCP-сервер из решения AWS для нагрузочных тестов: агент читает сценарии и прогоны, запускает тесты на JMeter, K6 и Locust
- 423 ★ репозитория
- Последний коммит
Широкий доступ
Почему такой уровень
- Запускает и останавливает нагрузочные тесты, которые создают трафик из контейнеров Fargate на целевой сервис
- Сервер пишет и удаляет сценарии и скрипты в корзине S3 вашего аккаунта AWS
- Нагрузка оплачивается из вашего аккаунта: ошибка в числе задач или регионов увеличит счет
Установка
- Работает в
Ручная установка
make deployРазвертывание из исходников; перед этим заполняют переменные окружения, подробности в разделе Local Development.
Доступ и проверки
Как мы проверяемШирокий доступИнструмент может менять данные, выполнять команды или работать с секретами.
- Запускает и останавливает нагрузочные тесты, которые создают трафик из контейнеров Fargate на целевой сервис
- Сервер пишет и удаляет сценарии и скрипты в корзине S3 вашего аккаунта AWS
- Нагрузка оплачивается из вашего аккаунта: ошибка в числе задач или регионов увеличит счет
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
Distributed Load Testing on AWS (DLT) — готовое решение AWS Solutions для нагрузочных тестов. Контейнеры ECS на Fargate создают трафик из нескольких регионов, а сценарии пишут на JMeter, K6 или Locust либо задают одним HTTP-адресом. Прогон можно отложить или повторять по расписанию. Агенту из этого репозитория нужна необязательная часть: MCP-сервер для анализа тестов. Сервер написан на TypeScript и работает как функция Lambda за Amazon Bedrock AgentCore Gateway. Клиент MCP обращается к адресу шлюза, шлюз проверяет токен Cognito и передает вызов в Lambda, а та ходит в REST API решения и в корзину S3 со сценариями. Агент читает сценарии, прогоны, базовый прогон и артефакты. В `source/mcp-server/src/tools` лежат и инструменты записи: создание, обновление, запуск и остановка тестов, расписания, загрузка скриптов. У сценария два режима нагрузки. В режиме Standard решение само задает число задач Fargate, виртуальных пользователей и профиль нагрузки через Taurus. В режиме Native нагрузкой управляет ваш скрипт: решение запускает файл k6, Locust или JMeter без флагов нагрузки, а рычагами остаются число задач в регионе и обязательный предел длительности до 24 часов. Инструмент `get_workflow_guides` выдает агенту пошаговые сценарии, в том числе `create_native_and_run`.
Для кого. Инженерам по производительности и DevOps в командах на AWS, которые развернули DLT или готовы это сделать и хотят разбирать результаты нагрузки вместе с агентом.
Подходит, если
- Агент должен сравнить последний прогон нагрузочного теста с базовым и назвать, что ухудшилось
- Результаты десятков сценариев лежат в консоли DLT, и по ним хочется задавать вопросы обычным языком
- Скрипт k6 или Locust из CI надо загрузить и запустить как есть в режиме Native
- Расписание ночных прогонов проще создать или поменять из чата с агентом
Не подходит, если
- Решение DLT не развернуто в вашем аккаунте AWS: без него сервер не работает
- При развертывании вы не выбрали опцию MCP Server: компонент ставится только по ней
- Нагрузку надо подать на чужой сервис без разрешения владельца: такой тест вредит третьим лицам
Пример запроса к агенту
Сравни последний прогон сценария checkout-api с базовым и покажи, где выросло время ответаMCP
- Транспорт
- http
- Авторизация
- OAuth
Ограничения
- Нужен стек DLT в вашем аккаунте AWS. MCP-сервер входит в него как необязательный компонент и разворачивается только при выборе опции MCP Server.
- Доступ идет через Amazon Bedrock AgentCore Gateway с проверкой токена Cognito, поэтому клиент MCP должен уметь получить токен пользователя.
- Контейнеры Fargate для нагрузки работают и оплачиваются в вашем аккаунте AWS: чем больше задач и регионов, тем выше счет.
- Документация адресована архитекторам и администраторам с практикой в AWS. Лицензия репозитория в GitHub указана как NOASSERTION, условия смотрите в файле LICENSE.
Как отключить. Отключите MCP-сервер в клиенте агента и удалите конфигурацию подключения к шлюзу. Чтобы убрать компонент из аккаунта AWS, удалите стек DLT в CloudFormation.
Частые вопросы
Как подключить DLT к Claude Code или Cursor?
Разверните DLT с опцией MCP Server, затем внесите в конфигурацию клиента MCP адрес AgentCore Gateway и токен Cognito пользователя. Готового адреса нет: шлюз создается в вашем аккаунте AWS.
Какие фреймворки нагрузки поддерживает DLT?
JMeter, K6 и Locust, а также простая настройка по одному HTTP-адресу. Простой адрес работает только в режиме Standard, режиму Native нужен загруженный скрипт.
Чем режим Native отличается от Standard?
В Standard число пользователей, разгон и удержание задает DLT через Taurus. В Native нагрузкой правит сам скрипт, а у DLT остаются число задач и предел времени. Скрипт с 200 пользователями на пяти задачах даст 1000 пользователей.
Что агент может делать через этот MCP-сервер?
Читать сценарии, прогоны, базовый прогон и артефакты. По исходникам он еще создает, обновляет, запускает и останавливает тесты, управляет расписаниями и загружает скрипты. Полный список инструментов покажет клиент MCP.
Где работает сервер и кто может им пользоваться?
В вашем аккаунте AWS: это функция Lambda за AgentCore Gateway. Шлюз пропускает вызовы только с действительным токеном Cognito из пула пользователей решения.
Обсуждение
Вопросов и отзывов пока нет.
Похожие
MCP-серверыHTTP-нагрузочный тест на Rust с MCP-сервером: агент запускает прогон и получает перцентили задержек и разбивку статусов.
MCP-сервер: агент шлет GET, POST, PUT, DELETE и PATCH на ваш REST API и получает код, заголовки и тело ответа
kogiQA MCP дает агенту браузер, который находит элементы страницы без селекторов, для отладки веб-приложений и e2e-тестов
MCP-сервер, агент и скиллы для сквозных UI-тестов: агент управляет компьютером через компьютерное зрение на облачных машинах
MCP-сервер к стенду с устройствами: агент берет плату в аренду, подключается и выполняет на ней команды jmp.
MCP Interviewer проверяет MCP-сервер до подключения агента: лимиты провайдеров, тесты инструментов и отчет в Markdown.
Коротко о README
Страница описывает решение и порядок его работы: интерфейс на CloudFront или без публичной части, авторизация через Cognito, запуск задач на Fargate и сбор метрик. Отдельный раздел объясняет оба режима нагрузки. Дальше идут шаблоны развертывания через CloudFormation и CDK, структура исходников и порядок локальной разработки.