Выбор агента
При создании теста можно как указать агент тестирования, выбрав из списка, так и создать временный агент. Временный агент тестирования будет создан только для этого теста и после завершения теста будет удален. Также можно настроить функцию выбора первого освободившегося агента. Функция выбора агента позволяет отфильтровать агентов тестирования по заданным параметрам.
Создать временный агент тестирования
Чтобы создать временный агент тестирования:
- В консоли управления
выберите каталог для тестирования. - В списке сервисов выберите Load Testing.
- На вкладке Тесты нажмите Создать тест.
- В секции Агенты нажмите Временный.
- В блоке Настройки временного агента:
- Выберите подходящий тип агента. Подробнее см. в разделе Производительность агентов.
- Выберите созданный ранее сервисный аккаунт или создайте новый сервисный аккаунт с помощью кнопки Создать. Сервисный аккаунт должен обладать следующими ролями:
loadtesting.generatorClient— для отправки результатов тестирования в сервис Load Testing.compute.editor— для создания ВМ в пользовательском каталоге.iam.serviceAccounts.user— для привязки сервисного аккаунта к ВМ.vpc.user— для подключения к сетевым ресурсам в пользовательском каталоге и их использования.vpc.publicAdmin— для назначения ВМ публичного IP-адреса.
- Выберите подсеть, в которой находится цель тестирования.
- Выберите группу безопасности. Группа безопасности должна быть заранее настроена.
Указать агент тестирования
Чтобы указать агент тестирования:
-
В консоли управления
выберите каталог для тестирования. -
В списке сервисов выберите Load Testing.
-
На вкладке Тесты нажмите Создать тест.
-
В секции Агенты нажмите Выбрать из списка.
-
В выпадающем списке выберите имя нужного агента.
Примечание
В рамках одного теста вы можете назначить несколько агентов, которые будут работать синхронно, что позволит увеличить нагрузку на цель тестирования.
Для этого либо выберите несколько имен агентов из списка, либо используйте кнопки Только и Кроме в строке списка с именем одного из агентов. Кнопки позволяют выбрать соответственно только данный агент или всех агентов, кроме данного.
Укажите идентификаторы агентов при создании теста:
export AGENT_ID1='<идентификатор_агента_1>'
export AGENT_ID2='<идентификатор_агента_2>'
yc loadtesting test create \
--name "yc-examples-test" \
--description "Test has been created using YC" \
--labels source=gh,type=tutorial,kind=multi \
--configuration id=$TEST_CONFIG_ID,agent-id=$AGENT_ID1,test-data=$TEST_PAYLOAD_FILE_IN_CONFIG \
--configuration id=$TEST_CONFIG_ID,agent-id=$AGENT_ID2,test-data=$TEST_PAYLOAD_FILE_IN_CONFIG \
--test-data name=$TEST_PAYLOAD_FILE_IN_CONFIG,s3bucket=$S3_PAYLOAD_BUCKET,s3file=$S3_PAYLOAD_FILENAME
Настроить выбор первого освободившегося агента тестирования
Чтобы настроить функцию выбора первого освободившегося агента тестирования:
- В консоли управления
выберите каталог для тестирования. - В списке сервисов выберите Load Testing.
- На вкладке Тесты нажмите Создать тест.
- В секции Агенты нажмите Первый освободившийся.
- Если для теста подходит любой из имеющихся агентов, выберите опцию Любой подходящий. В противном случае, выберите опцию Задать условия и настройте условия фильтрации агентов:
- (Опционально) В секции Фильтр по меткам нажмите Добавить метку и укажите метки в формате
ключ:значение, по которым будут отобраны агенты тестирования. - (Опционально) В поле Фильтр по имени укажите строку, которую должны содержать имена агентов, на которых необходимо запустить тестовую конфигурацию.
- (Опционально) В секции Фильтр по меткам нажмите Добавить метку и укажите метки в формате
- В поле Количество агентов укажите число агентов, с которых будет синхронно выполняться тест. Это позволит увеличить нагрузку на цель тестирования.
Задайте условия фильтрации:
export ANY_AGENT_SELECTOR=""
export SPECIFIC_AGENT_SELECTOR="labels.key IN (value1, value2)"
yc loadtesting test create \
--name "yc-examples-test" \
--description "Test has been created using YC" \
--labels source=gh,type=tutorial \
--configuration id=$TEST_CONFIG_ID,agent-by-filter=$ANY_AGENT_SELECTOR,test-data=$TEST_PAYLOAD_FILE_IN_CONFIG \
--configuration id=$TEST_CONFIG_ID,agent-by-filter={$SPECIFIC_AGENT_SELECTOR},test-data=$TEST_PAYLOAD_FILE_IN_CONFIG \
--test-data name=$TEST_PAYLOAD_FILE_IN_CONFIG,s3bucket=$S3_PAYLOAD_BUCKET,s3file=$S3_PAYLOAD_FILENAME
В данном примере первая часть теста будет выполнена на любом подходящем агенте (т.к. условия фильтрации в ANY_AGENT_SELECTOR не заданы), а вторая часть теста — на любом агенте, у которого есть метка key со значением value1 или value2.