PDiskWriteLoad
Тестирует производительность записи на PDisk. Нагрузка подается от имени VDisk. Актор создает на указанном PDisk чанки и записывает в них случайные данные. После снятия нагрузки записанные актором данные удаляются.
Вы можете подать нагрузку двух видов:
- Постоянная — актор следит, чтобы одновременно было запущено указанное число запросов. Чтобы подать постоянную нагрузку, задайте нулевую паузу между запросами (например,
IntervalMsMin: 0
,IntervalMsMax: 0
) и отличный от нуляInFlightWrites
. - Интервальная — актор запускает запросы через заданные промежутки времени. Чтобы подать интервальную нагрузку, задайте ненулевую паузу между запросами (например,
IntervalMsMin: 10
,IntervalMsMax: 100
). Максимальное количество одновременно выполняемых запросов задается параметромInFlightWrites
. Если его значение равно0
, то ограничения нет.
Параметры актора
Ниже описаны основные параметры актора. Полный список параметров смотрите в файле load_test.proto Git-репозитория YDB.
Параметр | Описание |
---|---|
PDiskId |
Идентификатор нагружаемого PDisk на узле. |
PDiskGuid |
Глобально-уникальный идентификатор нагружаемого PDisk. |
VDiskId |
Нагрузка подается от имени VDisk со следующими реквизитами:
|
Chunks |
Параметры чанка.Slots — количество слотов в чанке, определяет размер записи.Вы можете указать несколько Chunks , и тогда выбор конкретного чанка для записи будет определяться его Weight . |
DurationSeconds |
Продолжительность нагрузки в секундах. |
IntervalMsMin ,IntervalMsMax |
Минимальный и максимальный промежутки времени между запросами при интервальной нагрузке в миллисекундах. Значение промежутка выбирается случайно из указанного диапазона. |
InFlightWrites |
Количество одновременно обрабатываемых запросов на запись. |
LogMode |
Режим записи лога. В режиме LOG_SEQUENTIAL сначала происходит запись в чанк, а после ее подтверждения запись — в лог. |
Sequential |
Тип записи.
|
IsWardenlessTest |
Если PDiskReadLoad запускается на кластере, укажите False . Иначе (например, при запуске в юнит-тестах) укажите True . |
Примеры
Следующий актор пишет данные блоками по 32
МБ, в течение 120
секунд, одновременно выполняются 64
запроса (постоянная нагрузка):
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
.