KqpLoad
Тестирует производительности кластера YDB в целом, нагружая все компоненты через слой Query Processor. Нагрузка, аналогична нагрузке от подкоманды workload YDB CLI, но запускается изнутри кластера.
Вы можете запустить два вида нагрузки:
- Stock — симулирует работу склада интернет-магазина: создает заказы из нескольких товаров, получает список заказов по клиенту.
- Key-value — использует БД как key-value хранилище.
Перед началом работы создаются необходимые таблицы, после завершения они удаляются.
Параметры актора
Ниже описаны основные параметры актора. Полный список параметров смотрите в файле load_test.proto Git-репозитория YDB.
Параметр | Описание |
---|---|
DurationSeconds |
Продолжительность нагрузки в секундах. |
WindowDuration |
Размер окна для агрегации статистики. |
WorkingDir |
Путь директории, в которой будут созданы тестовые таблицы. |
NumOfSessions |
Количество параллельных потоков, подающих нагрузку. Каждый поток пишет в свою сессию. |
DeleteTableOnFinish |
Если False , то созданные таблицы не удаляются после завершения работы нагрузки. Может быть полезно в случае, когда при первом запуске актора создается большая таблица, а при последующих выполняются запросы к ней. |
UniformPartitionsCount |
Количество партиций, создаваемых в тестовых таблицах. |
WorkloadType |
Тип нагрузки. В случае Stoсk:
|
Workload |
Вид нагрузки.Stock :
Kv :
|
Примеры
Следующий актор запускает stock-нагрузку БД /slice/db
, выполняя простые UPSERT-запросы в 64
потока в течение 30
секунд.
KqpLoad: {
DurationSeconds: 30
WindowDuration: 1
WorkingDir: "/slice/db"
NumOfSessions: 64
UniformPartitionsCount: 1000
DeleteTableOnFinish: 1
WorkloadType: 0
Stock: {
ProductCount: 100
Quantity: 1000
OrderCount: 100
Limit: 10
}
}
Результатом теста является количество успешных транзакций в секунду, количество повторных попыток исполнения транзакций и количество ошибок.