Anonymous
чёт я не встречал таких директоров
я и хлеще встречал, на одной шабашке недавно, директор хотел поставить на компы 2006 года, где максимум 2 гб оперативы(матери говно ужас), win10 и 2016 офис
Denis
и это устраивает чуть более чем полностью, потому что бенефиты от ио выше.
Arthur
подробнее?
Пруфов не будет ибо не помню где видел.
Mark ☢️
Ну шо, ребят
Mark ☢️
я узнал что хотел
Mark ☢️
цеф таки умеет в параллельные запросы при писании на один диск
Михаил
Mark ☢️
всмысле один осд может нахерачить много параллельных запросов на один диск
Mark ☢️
может это и капитанство, но напрямую это нигде не сказано
Михаил
А
Mark ☢️
поэтому, сцуко, NCQ пиздец как важно. и мои эксперименты показывают, что на само мделе нихера оно не работает
Mark ☢️
всмысле, что задержка при тарабане диска напрямую без цефа линейно растёт с количеством параллельных очередей
Mark ☢️
что на дешмани, что на velociraptor с наклейкой "Enterprise Storage"
Михаил
Я надеюсь ты как хороший мальчик потом напишешь пост хотя бы сюда о своих изысканиях
Mark ☢️
ниасилю. да и не уверен пока насчёт правильности моих измерений
Mark ☢️
пока мне кажется, что руки у меня из жопы, но как это проверить?
Mark ☢️
вот например недавно зависал fio - я думаю что за дерьмо
Mark ☢️
а оказалось я забыл приписать direct=1
Mark ☢️
ну и понятно, оно в пэйджкеше накешировалось дохулиарда запросов
Viktor
Mark ☢️
в сасе вроде смысл в том что интерфейс позволяет более 32 очередей проталкивать
Viktor
LSI в доках к контроллерам подробно расписывало где и насколько, но сейчас под рукой нет
Mark ☢️
но блять, даже 2-3 это предел
Mark ☢️
либо у меня диски какие-то не те, либо методика измерения
Mark ☢️
или контроллер
Roman
Viktor
Mark ☢️
или фаза луны
Mark ☢️
Mark ☢️
Roman
Roman
В scsi тоже одна очередь
Roman
Несколько очередей есть только в nvme
Mark ☢️
ладно, окей, очередь одна
Mark ☢️
но линукс зная это — в неё вталкивает по 32 сектора по одному из каждой линуксной очереди
Viktor
sas как железо реализующее возможности протокола SCSI
Mark ☢️
(условно)
Roman
Mark ☢️
Roman
Что как?
Mark ☢️
БЛДЖАД
Mark ☢️
в чём смысл NCQ тогда ?
Roman
Alexander
Это очередь. Одна очередь. Но контроллер диска с ncq может задания из этой очереди перемешать так, чтобы они выпонились эффективнее
Mark ☢️
ну как... четал. понятно что не так оно втупую работает, и не подному сектору. и не всегда 32 и т.д. но для представления этогодостаточно
Mark ☢️
Roman
у нас есть как минимум 2 очереди: 1) это та самая nr_requests 2) очередь в самом блочном устройстве (ncq/tcq)
Mark ☢️
Mark ☢️
(nr_requests кстати только в noop)
Roman
более того, запросы из очереди 1 не всегда попадают в 1 в 1 в очередь 2
Mark ☢️
Roman
Mark ☢️
везде.
а редхат в пдф говорит что нет
Roman
есть такая крутилка, как max_sectors_kb, которая ограничивает максимальный размер блока который попадёт в очередь устройства
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
Roman
Mark ☢️
мож оно есть, но не влияет при деадлайне ?
Roman
Roman
>Following are the tunables available for the block layer.
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