PDiskReadLoad

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

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

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

Параметры актора

Ниже описаны основные параметры актора. Полный список параметров смотрите в файле load_test.proto Git-репозитория YDB.

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

Примеры

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

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.
Предыдущая
Следующая