Size: a a a

SDS и Кластерные FS

2021 January 26

N

Nikolay Kulikov in SDS и Кластерные FS
ИМХО, показатель хорошего нагрузочного теста - автор в состоянии внятно объяснить КАЖДЫЙ параметр, который он использует. Без "обычно", "в теории это должно быть так" и т.д. Либо метрики снятые с инфраструктуры/нагрузки или на основании ранее проведённого теста.
источник

na

nikolay a in SDS и Кластерные FS
Nikolay Kulikov
Хоть и не реальные трейсы, но тот же liveoptics очень не плохо снимает оьобщенные данные (отношение чтения записи, размер блока, oio, etc)
в принципе да, performance monitor можно настроить на сборку заданных счетчиков и их сохранение в файл, но например матрицу распределения размера блока по конкретным операциям там не построишь, как и процентное соотношение времени отклика по операциям в зависимости от размера блока. но это в большинстве случаев и не требуется.
источник

N

Nikolay Kulikov in SDS и Кластерные FS
nikolay a
в принципе да, performance monitor можно настроить на сборку заданных счетчиков и их сохранение в файл, но например матрицу распределения размера блока по конкретным операциям там не построишь, как и процентное соотношение времени отклика по операциям в зависимости от размера блока. но это в большинстве случаев и не требуется.
Liveoptics от туда и берет данные для bare-metal систем. И да, они агрегированные, но зато их можно супер просто/быстро получить и в большинстве случаев этого достаточно
источник

na

nikolay a in SDS и Кластерные FS
Виталий На Заборе
то очередь-то всё равно останется ОДНА
гм.. давай по другому. в линуксе есть io sсheduler. он будет раскидывать очередь запросов в рамках одного потока по разным ядрам? на примере dd это очень легко увидеть..
источник

na

nikolay a in SDS и Кластерные FS
Nikolay Kulikov
Liveoptics от туда и берет данные для bare-metal систем. И да, они агрегированные, но зато их можно супер просто/быстро получить и в большинстве случаев этого достаточно
да, это факт. делал выгрузки туда и строил на их базе неплохие диаграммы..
источник

na

nikolay a in SDS и Кластерные FS
nikolay a
гм.. давай по другому. в линуксе есть io sсheduler. он будет раскидывать очередь запросов в рамках одного потока по разным ядрам? на примере dd это очень легко увидеть..
у вменяемой схд есть свой шедулер, задача которого максимально задействовать все ядра для обработки ввода/вывода. а в случае одного потока такое может не получиться. поэтому в тестах желательно понимать архитектуру схд и учитывать ее при формировании нагрузки..
источник

ВН

Виталий На Заборе... in SDS и Кластерные FS
nikolay a
гм.. давай по другому. в линуксе есть io sсheduler. он будет раскидывать очередь запросов в рамках одного потока по разным ядрам? на примере dd это очень легко увидеть..
ну у тебя же идёт как. fio -> ядро -> драйвер СХД -> очередь тома
таким образом если даже в fio 4 потока и в ядре 4 очереди (blk-mq), а в драйвере СХД 1 поток - то запросы из 4 потоков fio просто сольются в 1 поток
то что ты говоришь по разным ядрам - это не шедулер, а blk-mq (шедулер только запросы переставляет/мержит)
и при этом как я понимаю кроме NVMe / NVMeoF НЕТ интерфейсов, которые бы умели несколько очередей, поэтому фактически всегда такая ситуация что запросы к 1 тому сливаются в 1 поток
источник

ВН

Виталий На Заборе... in SDS и Кластерные FS
хотя как бы возможно "в драйвере" и "в ядре" это одно и то же и именно драйвер СХД (iscsi, что там ещё) должен поддерживать blk-mq, чтобы было несколько очередей
источник

ВН

Виталий На Заборе... in SDS и Кластерные FS
но и при этом в итоге тоже не факт что потом эти несколько очередей не сольются в одну например на уровне HBA
источник

Am

Alexander mamahtehok in SDS и Кластерные FS
давайте вообще по другому. Вменяемую СХД сложно одним хостом прогрузить не зависимо от очереди количества джобов )
источник

ВН

Виталий На Заборе... in SDS и Кластерные FS
Alexander mamahtehok
давайте вообще по другому. Вменяемую СХД сложно одним хостом прогрузить не зависимо от очереди количества джобов )
ну почему, если она на жёстких дисках и создать много томов
источник

Am

Alexander mamahtehok in SDS и Кластерные FS
Виталий На Заборе
ну почему, если она на жёстких дисках и создать много томов
если будет много томов то это уже много джобов
источник

Am

Alexander mamahtehok in SDS и Кластерные FS
но и это не даст нормально прогрузить
источник

ВН

Виталий На Заборе... in SDS и Кластерные FS
ну хотя да, в интерфейс подключения всё равно упрётся
источник

Am

Alexander mamahtehok in SDS и Кластерные FS
у меня есть масивчик алл хдд
источник

AK

Artemy Kapitula in SDS и Кластерные FS
Alexander mamahtehok
давайте вообще по другому. Вменяемую СХД сложно одним хостом прогрузить не зависимо от очереди количества джобов )
Если она не за много миллионов - то вообще не вопрос. Главное чтобы на хосте было достаточно путей до СХД
источник

ВН

Виталий На Заборе... in SDS и Кластерные FS
ну вот я и говорю к тому, что вопрос в числе томов и да, хостов с которых тестишь
источник

ВН

Виталий На Заборе... in SDS и Кластерные FS
а не numjobs fio
источник

AK

Artemy Kapitula in SDS и Кластерные FS
Если на хосте 100+ ядер - то всё упирается только в полосу от хоста до стораджа, латенси SAN и количество путей
источник

Am

Alexander mamahtehok in SDS и Кластерные FS
ну если искать во что все может теоритически уперется, то все упрется в один nlsas drive установленый в схд
источник