Создание теста с данными из бакета
В Load Testing тестовые данные можно загрузить из бакета Yandex Object Storage. Этот способ позволяет:
- работать с тестовыми данными больших размеров (больше 100 МБ);
- хранить данные и легко их переиспользовать;
- обеспечить максимальную безопасность (тестовые данные не покидают облако пользователя и связанных с ним сетей).
Подготовка инфраструктуры
-
Создайте агент тестирования.
-
Выдайте сервисному аккаунту, привязанному к агенту, права на чтение в бакете. Для этого отредактируйте ACL бакета:
- В консоли управления
выберите каталог, в котором находится бакет. - В списке сервисов выберите Object Storage.
- Напротив нужного бакета нажмите
и выберите Настроить ACL. - В открывшемся окне ведите имя сервисного аккаунта, выберите права на чтение в бакете —
READ
и нажмите кнопку Добавить. - Нажмите кнопку Сохранить.
Сервисному аккаунту будут предоставлены права на чтение данных только из этого бакета.
Примечание
- В консоли управления
Создание теста
-
В консоли управления
выберите каталог для тестирования. -
В списке сервисов выберите Load Testing.
-
На вкладке
Тесты нажмите Создать тест. -
Выберите или создайте агент тестирования.
-
В блоке Прикрепленные файлы:
- Нажмите кнопку Выбрать из бакета.
- Найдите бакет в выпадающем списке и укажите путь к файлу с тестовыми данными.
Также вы можете Выбрать файлы с компьютера. В этом случае файлы необходимо загружать заново при каждом выполнении теста.
-
В зависимости от выбранного способа настройки задайте параметры в блоке Настройки теста:
ФормаКонфигурационный файл- Выберите генератор нагрузки.
- В полях Адрес цели и Порт цели введите адрес и порт тестируемого сервиса.
- (Опционально) Включите Защищенное соединение.
- В поле Тестирующие потоки укажите количество тестирующих потоков.
- В блоке Тип нагрузки:
- Выберите тип.
- Нажмите кнопку
Профиль нагрузки и добавьте один или более профилей нагрузки сервера.
- В поле Способ настройки выберите тип тестовых данных Прикрепленный файл.
- (Опционально) Если хотите сократить время тестирования, задайте условие для автоматической остановки теста в меню Автостоп. Нажмите
Автостоп и укажите:-
Тип автостопа — параметр, при определенном значении которого тестирование прервется;
-
Значения параметров автостопа.
Для разных типов автостопа необходимо указать разные наборы параметров.
-
- В поле Время принудительной остановки теста укажите время, после которого сработает автостоп, если тест не будет остановлен по другим причинам. Значение параметра должно быть немного больше ожидаемой продолжительности теста.
- (Опционально) Включите опцию Мониторинг агента. Подробнее см. в разделе Мониторинг агентов тестирования.
- В блоке Информация о тесте укажите имя, описание, номер версии и метки теста.
Нажмите Прикрепить файл и откройте файл конфигурации с вашего компьютера. Если у вас нет файла конфигурации, повторите уже проведенный тест или сформируйте конфигурационный файл на основе документации
.Важно
В файле конфигурации обязательно укажите предельное время работы теста в блоке
autostop
:autostop: enabled: true package: yandextank.plugins.Autostop autostop: - limit (5m)
Примечание
Во время тестирования агент автоматически очищает место на диске. Вы можете управлять размером освобождаемого места через параметр
disk_limit
в блокеrcheck
:rcheck: enabled: true package: yandextank.plugins.ResourceCheck disk_limit: 2048 interval: 10s mem_limit: 512
-
Нажмите Создать.
Если у вас еще нет интерфейса командной строки Yandex Cloud, установите и инициализируйте его.
По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>
. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name
или --folder-id
.
-
Посмотрите описание команды CLI для создания теста:
yc loadtesting test create --help
-
Загрузите файл конфигурации теста в формате YAML:
yc loadtesting test-config create --from-yaml-file <путь_к_файлу>
-
Загрузите тестовые данные. Для этого создайте IAM-токен:
export YC_TOKEN=$(yc iam create-token) export TEST_PAYLOAD_FILE="sample/_requests.uri" export S3_PAYLOAD_BUCKET="my_bucket" export S3_PAYLOAD_FILENAME="my_requests.uri" curl -H "X-YaCloud-SubjectToken: ${$YC_TOKEN}" --upload-file - "https://storage.yandexcloud.net/${$S3_PAYLOAD_BUCKET}/${$S3_PAYLOAD_FILENAME}" < ${$TEST_PAYLOAD_FILE}
-
Создайте тест в каталоге по умолчанию:
loadtesting test create \ --name "yc-examples-test" \ --description "Test has been created using YC" \ --labels source=gh,type=tutorial \ --configuration id=ff6hvk749g71********,agent-id=ff633vbrst7a********,test-data=requests.uri \ --test-data name=requests.uri,s3bucket=my_bucket,s3file=my_requests.uri
Где:
--name
— имя теста.--description
— описание теста.--labels
— метки теста.--configuration
— настройки конфигурации теста:id
— идентификатор конфигурации теста. Укажите идентификатор файла конфигурации, загруженного на шаге 2. Чтобы получить список идентификаторов конфигураций, выполните командуyc loadtesting test-config list
.agent-id
— идентификатор агента тестирования.test-data
— имя объекта с тестовыми данными.
--test-data
— настройки тестовых данных:name
— имя объекта с тестовыми данными.s3bucket
— имя бакета, в котором хранятся тестовые данные.s3file
— имя файла с тестовыми данными в бакете.
Подробнее о создании теста с помощью CLI см. в репозитории Yandex Cloud Examples
. -
Для того чтобы просмотреть список тестов в каталоге для тестирования с помощью CLI, воспользуйтесь следующей командой:
yc loadtesting test list
Подробнее о выводе тестов с помощью CLI см. в репозитории Yandex Cloud Examples
.