Anonymous
чёт я не встречал таких директоров
я и хлеще встречал, на одной шабашке недавно, директор хотел поставить на компы 2006 года, где максимум 2 гб оперативы(матери говно ужас), win10 и 2016 офис
Denis
и это устраивает чуть более чем полностью, потому что бенефиты от ио выше.
Arthur
подробнее?
Пруфов не будет ибо не помню где видел.
Roman
Пруфов не будет ибо не помню где видел.
ну тогда нещитово. на самом деле всё написано в спеке. просто читать внимательно надо.
Mark ☢️
Ну шо, ребят
Mark ☢️
я узнал что хотел
Mark ☢️
цеф таки умеет в параллельные запросы при писании на один диск
Mark ☢️
всмысле один осд может нахерачить много параллельных запросов на один диск
Mark ☢️
может это и капитанство, но напрямую это нигде не сказано
Михаил
А
Mark ☢️
поэтому, сцуко, NCQ пиздец как важно. и мои эксперименты показывают, что на само мделе нихера оно не работает
Mark ☢️
всмысле, что задержка при тарабане диска напрямую без цефа линейно растёт с количеством параллельных очередей
Mark ☢️
что на дешмани, что на velociraptor с наклейкой "Enterprise Storage"
Михаил
Я надеюсь ты как хороший мальчик потом напишешь пост хотя бы сюда о своих изысканиях
Mark ☢️
ниасилю. да и не уверен пока насчёт правильности моих измерений
Mark ☢️
пока мне кажется, что руки у меня из жопы, но как это проверить?
Mark ☢️
вот например недавно зависал fio - я думаю что за дерьмо
Mark ☢️
а оказалось я забыл приписать direct=1
Mark ☢️
ну и понятно, оно в пэйджкеше накешировалось дохулиарда запросов
Mark ☢️
sas надо, там работает, у sata оно сильно кастрировано
эумперимент показывает. что даже пару-тройку секоторов за раз не прописывает, какой смысл?
Mark ☢️
в сасе вроде смысл в том что интерфейс позволяет более 32 очередей проталкивать
Viktor
LSI в доках к контроллерам подробно расписывало где и насколько, но сейчас под рукой нет
Mark ☢️
но блять, даже 2-3 это предел
Mark ☢️
либо у меня диски какие-то не те, либо методика измерения
Mark ☢️
или контроллер
Viktor
Mark ☢️
или фаза луны
Mark ☢️
он очень много чего позволяет сверх возможностей sata
например, из того что пригодится именно в цефе
Mark ☢️
scsi много чего позволяет
а из того что пригодится в цефе ?
Roman
ну NCQ же
ncq - это одна очередь
Roman
В scsi тоже одна очередь
Roman
Несколько очередей есть только в nvme
Mark ☢️
ладно, окей, очередь одна
Mark ☢️
но линукс зная это — в неё вталкивает по 32 сектора по одному из каждой линуксной очереди
Viktor
sas как железо реализующее возможности протокола SCSI
Mark ☢️
(условно)
Mark ☢️
Нет
а как тогда?
Roman
Что как?
Mark ☢️
БЛДЖАД
Mark ☢️
в чём смысл NCQ тогда ?
Alexander
Это очередь. Одна очередь. Но контроллер диска с ncq может задания из этой очереди перемешать так, чтобы они выпонились эффективнее
Mark ☢️
ну как... четал. понятно что не так оно втупую работает, и не подному сектору. и не всегда 32 и т.д. но для представления этогодостаточно
Roman
у нас есть как минимум 2 очереди: 1) это та самая nr_requests 2) очередь в самом блочном устройстве (ncq/tcq)
Mark ☢️
(nr_requests кстати только в noop)
Roman
более того, запросы из очереди 1 не всегда попадают в 1 в 1 в очередь 2
Mark ☢️
везде.
а редхат в пдф говорит что нет
Roman
есть такая крутилка, как max_sectors_kb, которая ограничивает максимальный размер блока который попадёт в очередь устройства
Roman
а редхат в пдф говорит что нет
что именно оно говорит? линк? вот у меня deadline и тоже есть nr_requests
Mark ☢️
https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Performance_Tuning_Guide/ch06s04s03.html
Roman
в cfq тоже оно есть, как и bfq
Mark ☢️
https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Performance_Tuning_Guide/ch06s04s02.html
Mark ☢️
мож оно есть, но не влияет при деадлайне ?
Roman
>Following are the tunables available for the block layer.
Mark ☢️
это на block level, а не на уровне элеватора
вот тут поподробнее, пожалуйста, потому что я не понял
Roman
ну йопт
Mark ☢️
щас понял.
Roman
tunables для элеватора живут в /sys/block/sda/queue/iosched/
Mark ☢️
пдф оформляли пидоры
Roman
для noop ясен хер что никаких tunables нет потому что и элеватора нет
Mark ☢️
так. окей. продолжаем
Roman
но block level никуда не делся
Mark ☢️
ок. жутко интересно про NCQ
Mark ☢️
жги.
Roman
так вот, если у тебя i/o будет больше чем max_sectors_kb, то запрос побьётся и попадёт в очередь устройства уже в виде нескольких
Mark ☢️
(не всмысле, мол, ну давай, давай, спори хуйню, а реально интересно)
Roman
ок. жутко интересно про NCQ
а что про неё говорить? ncq - это просто очередь и возможность для контроллера диска иметь пространство для оптимизации.
Roman
эта очередь - она в устройстве. чем больше размер очереди - тем больше шансов построить оптимальную траекторию движения головы по блинам и тем хуже всё с latency