summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoralexvru <[email protected]>2023-03-06 11:31:09 +0300
committeralexvru <[email protected]>2023-03-06 11:31:09 +0300
commite0657f78a0630fb2a4be66130bad2799e1109913 (patch)
treea05f9fbfb00dcdf8edd95b1cfe095203fb565db0
parent6d679911787270a129022fd3cff36df48fcfc318 (diff)
Improve VDiskLoad docs
-rw-r--r--ydb/docs/ru/core/_includes/load-actors-params.md12
-rw-r--r--ydb/docs/ru/core/development/load-actors-vdisk.md57
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}