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

# PDiskWriteLoad

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

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

* _Постоянная_ — актор следит, чтобы одновременно было запущено указанное число запросов. Чтобы подать постоянную нагрузку, задайте нулевую паузу между запросами (например, `IntervalMsMin: 0`, `IntervalMsMax: 0`) и отличный от нуля `InFlightWrites`.
* _Интервальная_ — актор запускает запросы через заданные промежутки времени. Чтобы подать интервальную нагрузку, задайте ненулевую паузу между запросами (например, `IntervalMsMin: 10`, `IntervalMsMax: 100`). Максимальное количество одновременно выполняемых запросов задается параметром `InFlightWrites`. Если его значение равно `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` | Минимальный и максимальный промежутки времени между запросами при интервальной нагрузке в миллисекундах. Значение промежутка выбирается случайно из указанного диапазона.                                                                                                                                         |
| `InFlightWrites`                     | Количество одновременно обрабатываемых запросов на запись.                                                                                                                                                                                                                                                        |
| `LogMode`                            | Режим записи лога. В режиме `LOG_SEQUENTIAL` сначала происходит запись в чанк, а после ее подтверждения запись — в лог.                                                                                                                                                                                           |
| `Sequential`                         | Тип записи.<ul><li>`True` — последовательная.</li><li>`False` — случайная.</li></ul>                                                                                                                                                                                                                              |
| `IsWardenlessTest`                   | Если PDiskReadLoad запускается на кластере, укажите `False`. Иначе (например, при запуске в юнит-тестах) укажите `True`.                                                                                                                                                                                          |

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

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

```proto
PDiskWriteLoad: {
    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
    InFlightWrites: 64
    LogMode: LOG_SEQUENTIAL
    Sequential: false
    IsWardenlessTest: false
}
```

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

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

<!-- source: ru/contributor/_includes/career.md -->
{% note tip "Хотите присоединиться к команде разработки YDB?" %}

Ознакомьтесь с разделами о [команде YDB и открытых вакансиях](https://ydb.tech/ru/careers/), а также о [возможностях для студентов](https://ydb.tech/ru/students/).

{% endnote %}
<!-- endsource: ru/contributor/_includes/career.md -->