---
metadata:
  - name: generator
    content: Diplodoc Platform v5.52.0
alternate:
  - https://ydb.tech/docs/en/contributor/load-actors-pdisk-read.md?version=v25.3
  - https://ydb.tech/docs/ru/contributor/load-actors-pdisk-read.md?version=v25.3
  - href: ru/contributor/load-actors-pdisk-read.md
    type: text/markdown
    title: Markdown version
  - href: ../llms.txt
    type: text/markdown
    title: llms.txt
sourcePath: ru/core/contributor/load-actors-pdisk-read.md
---
> **Documentation Index:** Fetch the complete configuration index at https://ydb.tech/docs/ru/llms.txt

# PDiskReadLoad

Тестирует производительность чтения с PDisk. Нагрузка подается от имени VDisk. Актор создает на указанном PDisk чанки, записывает в них случайные данные и выполняет чтение из них с указанными параметрами. После снятия нагрузки записанные актором данные удаляются.

Вы можете подать нагрузку двух видов:

* _Постоянная_ — актор следит, чтобы одновременно было запущено указанное число запросов. Чтобы подать постоянную нагрузку, задайте нулевую паузу между запросами (например, `IntervalMsMin: 0`, `IntervalMsMax: 0`) и отличный от нуля `InFlightReads`.
* _Интервальная_ — актор запускает запросы через заданные промежутки времени. Чтобы подать интервальную нагрузку, задайте ненулевую паузу между запросами (например, `IntervalMsMin: 10`, `IntervalMsMax: 100`). Максимальное количество одновременно выполняемых запросов задается параметром `InFlightReads`. Если его значение равно `0`, то ограничения нет.

## Параметры актора {#options}

<!-- source: ru/_includes/load-actors-params.md -->
Ниже описаны основные параметры актора. Полный список параметров смотрите в файле [load_test.proto](https://github.com/ydb-platform/ydb/blob/main/ydb/core/protos/load_test.proto) Git-репозитория YDB.
<!-- endsource: ru/_includes/load-actors-params.md -->

| Параметр                             | Описание                                                                                                                                                                                                                                                                                                          |
|--------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `PDiskId`                            | Идентификатор нагружаемого PDisk на узле.                                                                                                                                                                                                                                                                         |
| `PDiskGuid`                          | Глобально-уникальный идентификатор нагружаемого PDisk.                                                                                                                                                                                                                                                            |
| `VDiskId`                            | Нагрузка подается от имени VDisk со следующими реквизитами:<ul><li>`GroupID` — идентификатор группы.</li><li>`GroupGeneration` — поколение группы.</li><li>`Ring` — идентификатор кольца в группе.</li><li>`Domain` — идентификатор фэйл-домена в кольце.</li><li>`VDisk` — индекс VDisk в фэйл-домене.</li></ul> |
| `Chunks`                             | Параметры чанка.<br/>`Slots` — количество слотов в чанке, определяет размер записи.<br/>Вы можете указать несколько `Chunks`, и тогда выбор конкретного чанка для чтения будет определяться его `Weight`.                                                                                                         |
| `DurationSeconds`                    | Продолжительность нагрузки в секундах.                                                                                                                                                                                                                                                                            |
| `IntervalMsMin`,<br/>`IntervalMsMax` | Минимальный и максимальный промежутки времени между запросами при интервальной нагрузке в миллисекундах. Значение промежутка выбирается случайно из указанного диапазона.                                                                                                                                         |
| `InFlightReads`                      | Количество одновременно обрабатываемых запросов на чтение.                                                                                                                                                                                                                                                        |
| `Sequential`                         | Тип чтения.<ul><li>`True` — последовательное.</li><li>`False` — случайное.</li></ul>                                                                                                                                                                                                                              |
| `IsWardenlessTest`                   | Если PDiskReadLoad запускается на кластере, укажите `False`. Иначе (например, при запуске в юнит-тестах) укажите `True`.                                                                                                                                                                                          |

## Примеры {#examples}

Следующий актор читает данные блоками по `32` МБ, в течение `120` секунд, одновременно выполняются `64` запроса (постоянная нагрузка):

```proto
PDiskReadLoad: {
    PDiskId: 1000
    PDiskGuid: 2258451612736857634
    VDiskId: {
        GroupID: 11234
        GroupGeneration: 5
        Ring: 1
        Domain: 1
        VDisk: 3
    }
    Chunks: { Slots: 4096 Weight: 1 }
    Chunks: { Slots: 4096 Weight: 1 }
    Chunks: { Slots: 4096 Weight: 1 }
    Chunks: { Slots: 4096 Weight: 1 }
    Chunks: { Slots: 4096 Weight: 1 }
    Chunks: { Slots: 4096 Weight: 1 }
    Chunks: { Slots: 4096 Weight: 1 }
    Chunks: { Slots: 4096 Weight: 1 }
    DurationSeconds: 120
    IntervalMsMin: 0
    IntervalMsMax: 0
    InFlightReads: 64
    Sequential: false
    IsWardenlessTest: false
}
```

При просмотре результата тестирования наибольший интерес представляет следующее значение:

* `Average speed since start` — средняя скорость чтения с момента запуска в МБ/с, например `1257.148154`.
