Михаил
Парни , столкнулся с крайне низкой скоростью чтения с ZFS (запись отличная ) , есть тут спецы кто может проконсультить ?
Ivan
zpool status https://paste.chodorenko.of.by/?6927f22079890c40#HkzXW57ZsBWeuBLo5TsHhhhWBDrEiUTgWuc4Hf8px6k2 zfs get all storage https://paste.chodorenko.of.by/?69c243a1af2a27e9#65nVyxpYgfX2KU6ygmn4dfC7mNrxzRSM9Sorn5vjMtaa arcstat 1 (при чтении) https://paste.chodorenko.of.by/?3410c450fb7799a3#Huat2a6Lbtnh2p6nSv5jK5qg5ZvXq5bAMUVmKviUCzY1
Михаил
смонтировано как файловая система zfs в папку # mount | grep storage storage on /storage type zfs (rw,noatime,xattr,noacl) # cat /sys/module/zfs/parameters/zfs_arc_max 110000000000 памяти занято 110гб из 126 OS debian 10 # dpkg -l | grep zfs ii libzfs2linux 0.8.4-2~bpo10+1 amd64 OpenZFS filesystem library for Linux ii zfs-dkms 0.8.4-2~bpo10+1 all OpenZFS filesystem kernel modules for Linux ii zfs-zed 0.8.4-2~bpo10+1 amd64 OpenZFS Event Daemon ii zfsutils-linux 0.8.4-2~bpo10+1 amd64 command-line tools to manage OpenZFS filesystems простое тестирование root@:/storage# pv /dev/urandom > test.img 78GiB 0:00:22 [ 287MiB/s] [ <=> ] root@:/storage# pv test.img >/dev/null 30MiB 0:00:12 [46.6MiB/s] [====> ] 8% ETA 0:02:02 root@:/storage#
Алексей
ну скажем хотя б терабайт
Алексей
ну или полтера
Михаил
ну или полтера
3,5 тб писал
Алексей
этого достаточно
Михаил
параметры какие-то модуля меняли? Что-то не вижу по arcstat префетча
# cat /etc/modprobe.d/zfs.conf # maximum size of arc in bytes options zfs zfs_arc_max=110000000000 # max write speed to l2arc options zfs l2arc_write_max=524288000 # increase them so scrub/resilver is more quickly at the cost of other work options zfs zfs_vdev_scrub_min_active=24 options zfs zfs_vdev_scrub_max_active=64 # sync write options zfs zfs_vdev_sync_write_min_active=8 options zfs zfs_vdev_sync_write_max_active=32 # sync reads (normal) options zfs zfs_vdev_sync_read_min_active=8 options zfs zfs_vdev_sync_read_max_active=32 # async reads : prefetcher options zfs zfs_vdev_async_read_min_active=8 options zfs zfs_vdev_async_read_max_active=32 # async write : bulk writes options zfs zfs_vdev_async_write_min_active=8 options zfs zfs_vdev_async_write_max_active=32
George
а, storage primarycache metadata local емнип в таком виде префетч не работает, и вы получите перформанс однопотока голый, а на однопоток только iodepth может как-то помочь, в худшем случае однопоток может обслужить только 1 vdev
Михаил
ну и однопоток как бы на 40 мегабайт не катит, винт даже один может гораздо больше
George
можно подробнее немного что именно не так и как исправить ?
ну зачем вы primarycache переключили на metadata, для начала надо понять. Это как бы не бесследно для префетча происходит, а ваш метод тестирования требует префетча для нормального перформанса
Михаил
у меня большой ARC в памяти , а на SSD пишется только метадата как кеш
George
у меня большой ARC в памяти , а на SSD пишется только метадата как кеш
ну вот зачем вы запретили в ARC данные кешировать
George
storage primarycache metadata local
Михаил
данные реально сильно меняются , поэтому эфективность кешированния данных 0 , а вот метадата очень быстро и часто нужна (это бекап сервер на который основная нагрузка запись и нахождения изменённых файлов )
George
данные реально сильно меняются , поэтому эфективность кешированния данных 0 , а вот метадата очень быстро и часто нужна (это бекап сервер на который основная нагрузка запись и нахождения изменённых файлов )
тогда не ожидайте от однопоточного последовательного чтения эффективности, оно без префетча быстрее одного диска в лучшем случае и не будет. Вы должны сейчас в IOPS одного диска упираться, на блоке 128К при ваших 46мб/с (46*1024)/128 ~=360 IOPS
Михаил
так не упираюсь
George
либо дайте ARC работать и включите кеширование данных
Михаил
я же говорю 20 иопсов на чтение в среднем со шпинделя
George
я же говорю 20 иопсов на чтение в среднем со шпинделя
где вы это говорили? не видел, ну и как смотрели
Михаил
картинки тоже не даёт вставлять
George
вообще для кейса бекапов fadvice скоро должны притащить https://github.com/openzfs/zfs/pull/13694 , как раз для любителей только мету в arc держать
George
Ivan
George
ага, блоки на разных дисках размазаны ровным слоем, картина ожидаемая
Михаил
root@backup06:/sys/module/zfs/parameters# cat zfs_prefetch_disable 0
George
можно подробнее немного что именно не так и как исправить ?
в общем если вы не знаете точного кейса где вам primary_cache=all мешает, то включите его обратно просто
George
ARC сам справится с вытеснением кеша
George
тем более у него есть как LRU так и FRU для устойчивости к вымыванию
Georg🎞️🎥
ага, блоки на разных дисках размазаны ровным слоем, картина ожидаемая
Раз про метадату речь … а даст ли спешел прирост чтения , если файлы у меня - огромные видосы, как думаете ?👋
George
скорее всего в лучшем случае проценты, и только на холодном чтении
Михаил
у меня как раз таки очень много мелких файлов которые постоянно меняются
Georg🎞️🎥
а recordsize какой?
Было 128 - поставил 1м🤷🏻‍♂️
George
у меня как раз таки очень много мелких файлов которые постоянно меняются
ну и ок, вы на тестах понимаете почему вам лучше менять что-то было?
George
Было 128 - поставил 1м🤷🏻‍♂️
для видео норм должно быть, больше смысла мало уже
Georg🎞️🎥
первый доступ быстрее будет
Вот у коллеги на нашем же сервере - звук, там много мелких, там думаю стоит да ?👋 Спшел сделать 👋🤔 Пока нет паузы в продакшене , чтобы обновится Есть тестовый/ запасной сервак только 🤷🏻‍♂️
Михаил
zfs set primarycache=all storage походу помогло
Georg🎞️🎥
George
zfs set primarycache=all storage походу помогло
префетч должен был заработать) гляньте arcstat
Georg🎞️🎥
смотря как часто перечитывается один файл, если постоянно к новым доступ, то может иметь смысл
Обычно так - загружают проект и работают, бывает - два три пользователя к одним и тем же исходникам. Там ренлеров нет, как у нас , но куча чтения мелочи
Georg🎞️🎥
префетч должен был заработать) гляньте arcstat
У меня отлично работает ))) даже до arc2 не доходит (( видимо нет смысла 🤷🏻‍♂️
Михаил
George
zfs set primarycache=all storage помогло Спасибо большое
надеюсь понятно объяснил, почему
Georg🎞️🎥
я бы смотреть насколько по иопсам диски нагружены
Именно в работе ? Я в консолях профан - через гуй трунаса все 🤷🏻‍♂️👋🤦‍♂️
Михаил
надеюсь понятно объяснил, почему
не совсем понятно но общий смысл как я понял в том что без кеша данных не происходит разделение в многопоточность
George
Именно в работе ? Я в консолях профан - через гуй трунаса все 🤷🏻‍♂️👋🤦‍♂️
ну на вашем кейсе чуть задержки могут уменьшиться, в лучшем случае, большого выигрыша не ожидайте, плюс если в существующий пул добавлять будете, то только после перезаписи мета старых файлов переедет туда
George
не совсем понятно но общий смысл как я понял в том что без кеша данных не происходит разделение в многопоточность
префетч данных не работает без кеша данных. Это вычитывание данных заранее, т.к. приложение само этого не делает
George
и вычитывать заранее на стороне ОС можно только в кеш
George
запретили кеш - префетч всё
Georg🎞️🎥
ну на вашем кейсе чуть задержки могут уменьшиться, в лучшем случае, большого выигрыша не ожидайте, плюс если в существующий пул добавлять будете, то только после перезаписи мета старых файлов переедет туда
Ага … ну видимо для звука лучше флэш массив , зеркало дорого и стремно (( Мне для видио hdd хватает Особенно после обновы на промышленный свич 😱🥰
George
и, как ни смешно, lz4 может стоит включить, чтобы конец файла компактнее был (иначе последний блок всегда будет в размер recordsize, если файла больше одного рекордсайза)
Georg🎞️🎥
скорее всего для звука тоже hdd может подойти, 99% файл полностью вычитывается
Их оч много жует 😱 На 10гиг у них по 40-50k файлов бывает 😱😱😱 Работать то будет конечно … но звук и места меньше ест - можно горчиц флэш массив собирать
George
на чтение lz4 несжимаемых данных примерно равен memcpy
George
и lz4 ли юзали
George
для видео смысла мало, да, 1МБ на файле потерять в последнем блоке не жалко
Georg🎞️🎥
а напомните что за проц на сервере был
E5 2620 v2 простые да, пара стоит Но они редко выше 30 процентов грузились 🤷🏻‍♂️ Вот привёз пару 2690 , но не думаю, что увижу прирост Да юзали lz4 - это была боль
Dmitry
Georg🎞️🎥
А можно подробнее, что не так было с сжатием?
При чтении большого колличества медиа файлов (видео/ звука) все не оч хорошо и отзывчиво. Думаю с документами попроще все
Georg🎞️🎥
Загрузка проца сильно увеличивается?
Не смотрел, я охреневал от скорости рендера в один кадр, вместо 70
Fedor
какой там размер файла при рендере был?
Fedor
100-150Гб?
Dmitry
Какой пробег смысл для мультимедиа включать компрессию, эти файлики и так пожаты
Georg🎞️🎥
Какой пробег смысл для мультимедиа включать компрессию, эти файлики и так пожаты
Сырые исходники - как раз не пожаты или с минимальной компрессией, не путайте с видосиками с торентов
Georg🎞️🎥
какой там размер файла при рендере был?
Много файлов по 20-30 гиг 🤷🏻‍♂️
Dmitry
Видимо, в CPU всё упёрлось