diff options
author | alexvru <[email protected]> | 2023-03-06 11:31:09 +0300 |
---|---|---|
committer | alexvru <[email protected]> | 2023-03-06 11:31:09 +0300 |
commit | e0657f78a0630fb2a4be66130bad2799e1109913 (patch) | |
tree | a05f9fbfb00dcdf8edd95b1cfe095203fb565db0 | |
parent | 6d679911787270a129022fd3cff36df48fcfc318 (diff) |
Improve VDiskLoad docs
-rw-r--r-- | ydb/docs/ru/core/_includes/load-actors-params.md | 12 | ||||
-rw-r--r-- | ydb/docs/ru/core/development/load-actors-vdisk.md | 57 |
2 files changed, 28 insertions, 41 deletions
diff --git a/ydb/docs/ru/core/_includes/load-actors-params.md b/ydb/docs/ru/core/_includes/load-actors-params.md index 063b28fae11..aaf1602cede 100644 --- a/ydb/docs/ru/core/_includes/load-actors-params.md +++ b/ydb/docs/ru/core/_includes/load-actors-params.md @@ -1 +1,13 @@ Ниже описаны основные параметры актора. Полный список параметров смотрите в файле [load_test.proto](https://github.com/ydb-platform/ydb/blob/main/ydb/core/protos/load_test.proto) Git-репозитория {{ ydb-short-name }}. + +Для всех нагрузок, в которых есть интервалы, записанные в виде repeated-поля TIntervalInfo, используется следующий алгоритм +вычисления интервала: +* случайным образом выбирается элемент из массива TIntervalInfo с вероятностью, пропорциональной весу; +* для элемента типа TIntervalUniform равновероятно выбирается значение в интервале Min-Max (если указано MinMs/MaxMs, то + значение в миллисекундах; если MinUs/MaxUs — в микросекундах); +* для элемента типа TIntervalPoisson выбирается интервал по формуле Min(log(-x / Frequency), MaxIntervalMs), где x — + случайное значение в интервале [0, 1], что обеспечивает соответствие интервалов распределению Пуассона с частотой + Frequency, но с интервалом не больше MaxIntervalMs. + +Аналогичный механизм применяется и для вероятностного распределения размеров записываемых данных, за исключением того, +что в том механизме есть только равновероятное распределение размера [Min, Max]. diff --git a/ydb/docs/ru/core/development/load-actors-vdisk.md b/ydb/docs/ru/core/development/load-actors-vdisk.md index abcd06d0035..0ba6b0dce3e 100644 --- a/ydb/docs/ru/core/development/load-actors-vdisk.md +++ b/ydb/docs/ru/core/development/load-actors-vdisk.md @@ -6,44 +6,19 @@ ## Параметры актора {#options} -```proto -message TVDiskLoad { - optional uint64 Tag = 1; - - // full VDisk identifier - optional NKikimrBlobStorage.TVDiskID VDiskId = 2; - - reserved 3; // obsolete field - reserved 4; // obsolete field - optional NKikimrBlobStorage.TGroupInfo GroupInfo = 16; - - // tablet id, channel and generation used in blob ids and barriers - optional uint64 TabletId = 5; - optional uint32 Channel = 6; - optional uint32 Generation = 7; - - // duration of the test in seconds - optional uint32 DurationSeconds = 8; - - // a distribution of intervals between adjacent writes - repeated TIntervalInfo WriteIntervals = 9; - - // a distribution of write block sizes (expressed in bytes of BlobSize; i.e. PartSize bytes are actually written) - repeated TSizeInfo WriteSizes = 10; - - // maximum number of unconfirmed parallel writes - optional uint32 InFlightPutsMax = 11; - - // soft maximum of total in flight put bytes - optional uint64 InFlightPutBytesMax = 12; - - // put handle class - optional NKikimrBlobStorage.EPutHandleClass PutHandleClass = 13; - - // a distribution of intervals between barrier advances - repeated TIntervalInfo BarrierAdvanceIntervals = 14; - - // minimum distance kept between current Step of written blobs and CollectStep of barriers - optional uint32 StepDistance = 15; -} -``` +Параметр | Описание +--- | --- +VDiskId | Полный идентификатор VDisk, на который будет подаваться нагрузка. Должен иметь корректное поле Generation. +GroupInfo | Описание группы, в которую входит нагружаемый VDisk (в корректном поколении). +TabletId | Номер таблетки, от имени которой будет генерироваться нагрузка. +Channel | Номер канала внутри таблетки, который будет указан в командах записи блобов и сборки мусора. +DurationSeconds | Полная длительность теста в секундах, по достижению которой нагрузка автоматически прекращается. +WriteIntervals | Описание параметров вероятностного распределения временных интервалов между записями. +WriteSizes | Описание параметров вероятностного распределения размеров записываемых блобов. +InFlightPutsMax | Максимальное количество одновременно выполняемых TEvVPut-запросов; если не указан, то число запросов не ограничивается. +InFlightPutBytesMax | Максимальное количество байт в одновременно выполняемых TEvVPut-запросах. +PutHandleClass | Приоритет подаваемой нагрузки. +BarrierAdvanceIntervals | Описание параметров вероятностного распределения интервалов между передвижением барьера сборки мусора и шага записи. +StepDistance | Расстояние между текущим записываемым шагом и собираемым. Чем больше эта величина, тем больше данных хранится. + +## Примеры {#examples} |