Ivan
если у кого убунта кстати, init_on_alloc=0 ставьте в параметры ядра (https://github.com/openzfs/zfs/issues/10141)
азаза, для проксмоксоюзеров у меня плохие новости cat /boot/config-5.4.65-1-pve | grep -i init_on_alloc CONFIG_INIT_ON_ALLOC_DEFAULT_ON=y
Ivan
включено во всех версиях ядра вообще
Сергей
включено во всех версиях ядра вообще
у прокса ядро на основе убунтовских патчей + немного своих
Ivan
ага
Сергей
А если дебиан ?
grep -i "init_on" /boot/config-*
Ivan
в дебиановых ядрах нет такого
Denis
То есть проблемы именно на убунту ?
Ivan
и у тех, кто берёт убунтовые ядра
Denis
Понял ,спасибо
Сергей
Ждем)) Спасибо, Сергей
raid10, zvol, volblock=8k, compression=off, iod=256, numjobs=64: Run status group 0 (all jobs): READ: bw=437MiB/s (458MB/s), 437MiB/s-437MiB/s (458MB/s-458MB/s), io=55.0GiB WRITE: bw=187MiB/s (196MB/s), 187MiB/s-187MiB/s (196MB/s-196MB/s), io=23.6GiB Run status group 1 (all jobs): READ: bw=202MiB/s (212MB/s), 202MiB/s-202MiB/s (212MB/s-212MB/s), io=23.7GiB WRITE: bw=86.7MiB/s (90.9MB/s), 86.7MiB/s-86.7MiB/s (90.9MB/s-90.9MB/s), io=10.2GiB p.s. напоминаю: 1ая группа - это RandRW (70%/30%), 2ая группа - это RandRW (70/30) с опцией fsync=1
Ivan
а special на оптан выносить смыла нет в твоей конфигурации ?
Сергей
а special на оптан выносить смыла нет в твоей конфигурации ?
думаю что нет. Мелких файлов не так много, а для меты у меня много памяти (128Gb RAM)
Сергей
и у тех, кто берёт убунтовые ядра
кстати выставил эту опцию, сейчас ребутну и посмотрим повлияет ли на этот же тест при повторном запуске
Ivan
на глазок я изменений не заметил ) двукратный прирост сложно должно было бы не заметить.
Сергей
Сергей, что то не увидел инфу по iops
randReadWrite: (groupid=0, jobs=64): err= 0: pid=307688: Fri Oct 9 22:11:44 2020 read: IOPS=55.9k, BW=437MiB/s (458MB/s)(55.0GiB/129013msec) write: IOPS=23.0k, BW=187MiB/s (196MB/s)(23.6GiB/129013msec); 0 zone resets randReadWrite/sync: (groupid=1, jobs=64): err= 0: pid=1368835: Fri Oct 9 22:11:44 2020 read: IOPS=25.9k, BW=202MiB/s (212MB/s)(23.7GiB/120021msec) write: IOPS=11.1k, BW=86.7MiB/s (90.9MB/s)(10.2GiB/120021msec); 0 zone resets это из того же самого теста что выше было
Alexander
Не айс на нвме
Ivan
странно, у меня так же показывает на hdd+satassd
Ivan
хотя блинов 36 штук )
Сергей
странно, у меня так же показывает на hdd+satassd
IOD=256, NJ=64, COMPRESSION=OFF? Бросай сюда тесты
Ivan
🤦‍♂️, блин, я чет подумал что это тест https://t.me/ru_zfs/12403
Ivan
а латнеси при всём этом какое ?
Сергей
🤦‍♂️, блин, я чет подумал что это тест https://t.me/ru_zfs/12403
тест этот, но есть изменения в bench.fio: buffer_compress_percentage=30 buffer_pattern=0xdeadbeef size=64G и на самом датасете выключена компрессия. Starting 128 processes randReadWrite: (groupid=0, jobs=64): err= 0: pid=307688: Fri Oct 9 22:11:44 2020 read: IOPS=55.9k, BW=437MiB/s (458MB/s)(55.0GiB/129013msec) slat (usec): min=2, max=14413k, avg=1123.04, stdev=62970.79 clat (usec): min=5, max=16665k, avg=202454.62, stdev=1057396.30 lat (msec): min=13, max=16666, avg=203.58, stdev=1060.32 clat percentiles (msec): | 1.00th=[ 22], 5.00th=[ 25], 10.00th=[ 27], 20.00th=[ 31], | 30.00th=[ 36], 40.00th=[ 64], 50.00th=[ 79], 60.00th=[ 102], | 70.00th=[ 131], 80.00th=[ 155], 90.00th=[ 182], 95.00th=[ 230], | 99.00th=[ 2467], 99.50th=[ 9329], 99.90th=[16576], 99.95th=[16576], | 99.99th=[16711] bw ( KiB/s): min= 852, max=3125596, per=100.00%, avg=698471.14, stdev=9306.08, samples=9253 iops : min= 64, max=390673, avg=87280.64, stdev=1163.27, samples=9253 write: IOPS=23.0k, BW=187MiB/s (196MB/s)(23.6GiB/129013msec); 0 zone resets slat (usec): min=2, max=156037, avg=15.78, stdev=383.01 clat (msec): min=13, max=16666, avg=202.07, stdev=1054.17 lat (msec): min=13, max=16666, avg=202.09, stdev=1054.17 clat percentiles (msec): | 1.00th=[ 22], 5.00th=[ 25], 10.00th=[ 27], 20.00th=[ 31], | 30.00th=[ 36], 40.00th=[ 64], 50.00th=[ 79], 60.00th=[ 102], | 70.00th=[ 131], 80.00th=[ 155], 90.00th=[ 182], 95.00th=[ 230], | 99.00th=[ 2467], 99.50th=[ 9329], 99.90th=[16576], 99.95th=[16576], | 99.99th=[16711] bw ( KiB/s): min= 856, max=1340883, per=100.00%, avg=309314.58, stdev=3967.17, samples=8958 iops : min= 64, max=167585, avg=38635.83, stdev=495.91, samples=8958 lat (usec) : 10=0.01%, 20=0.01% lat (msec) : 20=0.43%, 50=36.15%, 100=22.96%, 250=35.60%, 500=2.91% lat (msec) : 750=0.19%, 1000=0.13%, 2000=0.36%, >=2000=1.27% cpu : usr=0.44%, sys=2.02%, ctx=4310847, majf=0, minf=949 IO depths : 1=0.1%, 2=0.1%, 4=0.1%, 8=0.1%, 16=0.1%, 32=0.1%, >=64=100.0% submit : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0% complete : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.1% issued rwts: total=7212996,3092076,0,0 short=0,0,0,0 dropped=0,0,0,0 latency : target=0, window=0, percentile=100.00%, depth=256
Сергей
fsync: randReadWrite/sync: (groupid=1, jobs=64): err= 0: pid=1368835: Fri Oct 9 22:11:44 2020 read: IOPS=25.9k, BW=202MiB/s (212MB/s)(23.7GiB/120021msec) slat (usec): min=3, max=40049, avg=367.04, stdev=397.22 clat (usec): min=3, max=643906, avg=440160.26, stdev=81748.28 lat (usec): min=1099, max=644169, avg=440527.74, stdev=81790.03 clat percentiles (msec): | 1.00th=[ 279], 5.00th=[ 309], 10.00th=[ 334], 20.00th=[ 363], | 30.00th=[ 388], 40.00th=[ 414], 50.00th=[ 439], 60.00th=[ 468], | 70.00th=[ 493], 80.00th=[ 518], 90.00th=[ 550], 95.00th=[ 567], | 99.00th=[ 600], 99.50th=[ 609], 99.90th=[ 634], 99.95th=[ 634], | 99.99th=[ 642] bw ( KiB/s): min=84321, max=301218, per=99.60%, avg=206375.42, stdev=564.69, samples=15342 iops : min=10537, max=37650, avg=25795.47, stdev=70.58, samples=15342 write: IOPS=11.1k, BW=86.7MiB/s (90.9MB/s)(10.2GiB/120021msec); 0 zone resets slat (usec): min=3, max=7751, avg=149.48, stdev=125.33 clat (msec): min=4, max=644, avg=440.48, stdev=81.77 lat (msec): min=4, max=644, avg=440.63, stdev=81.77 clat percentiles (msec): | 1.00th=[ 284], 5.00th=[ 309], 10.00th=[ 334], 20.00th=[ 363], | 30.00th=[ 388], 40.00th=[ 414], 50.00th=[ 443], 60.00th=[ 468], | 70.00th=[ 498], 80.00th=[ 518], 90.00th=[ 550], 95.00th=[ 567], | 99.00th=[ 600], 99.50th=[ 609], 99.90th=[ 634], 99.95th=[ 634], | 99.99th=[ 642] bw ( KiB/s): min=36203, max=137810, per=99.60%, avg=88455.70, stdev=266.77, samples=15342 iops : min= 4522, max=17225, avg=11054.08, stdev=33.35, samples=15342 lat (usec) : 4=0.01%, 10=0.01%, 20=0.01% lat (msec) : 4=0.01%, 10=0.01%, 20=0.01%, 50=0.01%, 100=0.06% lat (msec) : 250=0.26%, 500=71.91%, 750=27.76% fsync/fdatasync/sync_file_range: sync (nsec): min=20, max=954230, avg=262.04, stdev=1479.81 sync percentiles (nsec): | 1.00th=[ 70], 5.00th=[ 110], 10.00th=[ 151], 20.00th=[ 171], | 30.00th=[ 181], 40.00th=[ 191], 50.00th=[ 211], 60.00th=[ 231], | 70.00th=[ 262], 80.00th=[ 310], 90.00th=[ 442], 95.00th=[ 564], | 99.00th=[ 780], 99.50th=[ 876], 99.90th=[ 1192], 99.95th=[ 3472], | 99.99th=[11072] cpu : usr=0.52%, sys=18.95%, ctx=30526856, majf=0, minf=992 IO depths : 1=0.1%, 2=0.1%, 4=0.1%, 8=0.1%, 16=0.1%, 32=0.1%, >=64=199.5% submit : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0% complete : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.1% issued rwts: total=3108765,1332465,0,4424963 short=0,0,0,0 dropped=0,0,0,0 latency : target=0, window=0, percentile=100.00%, depth=256
Ivan
кстати, в ядре 5.8 или 5.9 улучшили многопоток
Ivan
iod128 и более должны больше попугаев выдавать
Сергей
на глазок я изменений не заметил ) двукратный прирост сложно должно было бы не заметить.
пока вижу где-то около 20% разницы в пользу с отключенной опцией
Ivan
не половина конечно, но тоже неплохо
Ivan
https://outflux.net/blog/archives/2019/11/14/security-things-in-linux-v5-3/ возможно в проксе так и оставят по дефлту безопасности ради
Сергей
это нагрузка при тесте при IOD=256 и NJ=64.
Alexander
это нагрузка при тесте при IOD=256 и NJ=64.
Не большевато ли латенси?
Сергей
разница с init_alloc на iod=256/nj=64 составила около 30% для теста без fsync. Для fsync разница совсем небольшая
Сергей
Не большевато ли латенси?
? это CPU, латенси я выше отправлял
Alexander
? это CPU, латенси я выше отправлял
Я видел, по нему и спросил
Ivan
Сергей
Я видел, по нему и спросил
ну если Иван захочет, то пусть на своём пуле проверит. Можно ограничить только комбинацией 256/64 чтобы быстрее тест прошёл. Но опции в bench.fio поменять и для тестируемого датасета выставить аналогичные параметры
Сергей
это всё настоящие ядра ?
AMD EPYC 7502P 32-Core Processor x 2
Alexander
? это CPU, латенси я выше отправлял
Там же если я правильно понял 500 милисек в 71%
Сергей
Там же если я правильно понял 500 милисек в 71%
про какую именно строку идёт речь? clat/slat/lat? для read/write? с вкл/выкл fsync?
Сергей
у меня проц слабоват, кстати. иногда некоторыя ядра в 100% уходят при тестировании fio.
ну по крайне будет с чем-то сравнить)), а то приходится сравнивать с ничем. И ничем побеждает!))
Alexander
fsync: randReadWrite/sync: (groupid=1, jobs=64): err= 0: pid=1368835: Fri Oct 9 22:11:44 2020 read: IOPS=25.9k, BW=202MiB/s (212MB/s)(23.7GiB/120021msec) slat (usec): min=3, max=40049, avg=367.04, stdev=397.22 clat (usec): min=3, max=643906, avg=440160.26, stdev=81748.28 lat (usec): min=1099, max=644169, avg=440527.74, stdev=81790.03 clat percentiles (msec): | 1.00th=[ 279], 5.00th=[ 309], 10.00th=[ 334], 20.00th=[ 363], | 30.00th=[ 388], 40.00th=[ 414], 50.00th=[ 439], 60.00th=[ 468], | 70.00th=[ 493], 80.00th=[ 518], 90.00th=[ 550], 95.00th=[ 567], | 99.00th=[ 600], 99.50th=[ 609], 99.90th=[ 634], 99.95th=[ 634], | 99.99th=[ 642] bw ( KiB/s): min=84321, max=301218, per=99.60%, avg=206375.42, stdev=564.69, samples=15342 iops : min=10537, max=37650, avg=25795.47, stdev=70.58, samples=15342 write: IOPS=11.1k, BW=86.7MiB/s (90.9MB/s)(10.2GiB/120021msec); 0 zone resets slat (usec): min=3, max=7751, avg=149.48, stdev=125.33 clat (msec): min=4, max=644, avg=440.48, stdev=81.77 lat (msec): min=4, max=644, avg=440.63, stdev=81.77 clat percentiles (msec): | 1.00th=[ 284], 5.00th=[ 309], 10.00th=[ 334], 20.00th=[ 363], | 30.00th=[ 388], 40.00th=[ 414], 50.00th=[ 443], 60.00th=[ 468], | 70.00th=[ 498], 80.00th=[ 518], 90.00th=[ 550], 95.00th=[ 567], | 99.00th=[ 600], 99.50th=[ 609], 99.90th=[ 634], 99.95th=[ 634], | 99.99th=[ 642] bw ( KiB/s): min=36203, max=137810, per=99.60%, avg=88455.70, stdev=266.77, samples=15342 iops : min= 4522, max=17225, avg=11054.08, stdev=33.35, samples=15342 lat (usec) : 4=0.01%, 10=0.01%, 20=0.01% lat (msec) : 4=0.01%, 10=0.01%, 20=0.01%, 50=0.01%, 100=0.06% lat (msec) : 250=0.26%, 500=71.91%, 750=27.76% fsync/fdatasync/sync_file_range: sync (nsec): min=20, max=954230, avg=262.04, stdev=1479.81 sync percentiles (nsec): | 1.00th=[ 70], 5.00th=[ 110], 10.00th=[ 151], 20.00th=[ 171], | 30.00th=[ 181], 40.00th=[ 191], 50.00th=[ 211], 60.00th=[ 231], | 70.00th=[ 262], 80.00th=[ 310], 90.00th=[ 442], 95.00th=[ 564], | 99.00th=[ 780], 99.50th=[ 876], 99.90th=[ 1192], 99.95th=[ 3472], | 99.99th=[11072] cpu : usr=0.52%, sys=18.95%, ctx=30526856, majf=0, minf=992 IO depths : 1=0.1%, 2=0.1%, 4=0.1%, 8=0.1%, 16=0.1%, 32=0.1%, >=64=199.5% submit : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0% complete : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.1% issued rwts: total=3108765,1332465,0,4424963 short=0,0,0,0 dropped=0,0,0,0 latency : target=0, window=0, percentile=100.00%, depth=256
В этом тесте lat да в принципе и тут среднее 440 милисек
Alexander
тест этот, но есть изменения в bench.fio: buffer_compress_percentage=30 buffer_pattern=0xdeadbeef size=64G и на самом датасете выключена компрессия. Starting 128 processes randReadWrite: (groupid=0, jobs=64): err= 0: pid=307688: Fri Oct 9 22:11:44 2020 read: IOPS=55.9k, BW=437MiB/s (458MB/s)(55.0GiB/129013msec) slat (usec): min=2, max=14413k, avg=1123.04, stdev=62970.79 clat (usec): min=5, max=16665k, avg=202454.62, stdev=1057396.30 lat (msec): min=13, max=16666, avg=203.58, stdev=1060.32 clat percentiles (msec): | 1.00th=[ 22], 5.00th=[ 25], 10.00th=[ 27], 20.00th=[ 31], | 30.00th=[ 36], 40.00th=[ 64], 50.00th=[ 79], 60.00th=[ 102], | 70.00th=[ 131], 80.00th=[ 155], 90.00th=[ 182], 95.00th=[ 230], | 99.00th=[ 2467], 99.50th=[ 9329], 99.90th=[16576], 99.95th=[16576], | 99.99th=[16711] bw ( KiB/s): min= 852, max=3125596, per=100.00%, avg=698471.14, stdev=9306.08, samples=9253 iops : min= 64, max=390673, avg=87280.64, stdev=1163.27, samples=9253 write: IOPS=23.0k, BW=187MiB/s (196MB/s)(23.6GiB/129013msec); 0 zone resets slat (usec): min=2, max=156037, avg=15.78, stdev=383.01 clat (msec): min=13, max=16666, avg=202.07, stdev=1054.17 lat (msec): min=13, max=16666, avg=202.09, stdev=1054.17 clat percentiles (msec): | 1.00th=[ 22], 5.00th=[ 25], 10.00th=[ 27], 20.00th=[ 31], | 30.00th=[ 36], 40.00th=[ 64], 50.00th=[ 79], 60.00th=[ 102], | 70.00th=[ 131], 80.00th=[ 155], 90.00th=[ 182], 95.00th=[ 230], | 99.00th=[ 2467], 99.50th=[ 9329], 99.90th=[16576], 99.95th=[16576], | 99.99th=[16711] bw ( KiB/s): min= 856, max=1340883, per=100.00%, avg=309314.58, stdev=3967.17, samples=8958 iops : min= 64, max=167585, avg=38635.83, stdev=495.91, samples=8958 lat (usec) : 10=0.01%, 20=0.01% lat (msec) : 20=0.43%, 50=36.15%, 100=22.96%, 250=35.60%, 500=2.91% lat (msec) : 750=0.19%, 1000=0.13%, 2000=0.36%, >=2000=1.27% cpu : usr=0.44%, sys=2.02%, ctx=4310847, majf=0, minf=949 IO depths : 1=0.1%, 2=0.1%, 4=0.1%, 8=0.1%, 16=0.1%, 32=0.1%, >=64=100.0% submit : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0% complete : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.1% issued rwts: total=7212996,3092076,0,0 short=0,0,0,0 dropped=0,0,0,0 latency : target=0, window=0, percentile=100.00%, depth=256
Да и тут среднее 202 запись 203 чтение
Сергей
В этом тесте lat да в принципе и тут среднее 440 милисек
да, всё верно - 440мсек. среднее арифметическое. Но лучше смотреть перцентили, так что скорее даже 600мс. Это 64 одновременных задания, глубина очереди на каждое 256.
Ivan
тонкий ?
Сергей
тонкий ?
zfs create zpool/fio -V 256G
Ivan
-o compression=off ?
Сергей
Наверное стоит поменьше эти параметры задать)))
там есть и меньше. Только толку тогда? Я не смогу эти диски нагрузить одиночной задачей
Сергей
Ivan
да
оке, запустил с вышеприведенными поправками в bench.fio
Ivan
вспомнил. 55киопс у меня на чисто чтении было )
Сергей
Ну с такими задержками , мне кажется тоже не айс
ну тогда наверное и не 64Гб читать/писать? А типа 2-4Гб? Или сколько сделать? Давайте желаемые IOD/NJ и я с ними сделаю
Ivan
я обычно пытаюсь подобрать depth таким, чтоб не вываливаться за 5мс. и уже смотрю сколько иопсов будет.
Ivan
но вообще можно всё измерять и в абсолютных значениях
Ivan
главное всё одними тестами сравнивать же
Ivan
так понятно кто кого быстрее
Сергей
Есть IOD16/NJ8
Сергей
А вы что тестируете? Просто загрузить диск на все 100%?
да. просто проверяю что можно получить при разных типах нагрузки с разных видов датасетов
Alexander
ну тогда наверное и не 64Гб читать/писать? А типа 2-4Гб? Или сколько сделать? Давайте желаемые IOD/NJ и я с ними сделаю
Читать можно и больше, у вас в арк вроде как чуть более 80 гигов выделено - или нет?
Сергей
root@hz:~/fio# arcstat time read miss miss% dmis dm% pmis pm% mmis mm% arcsz c 23:26:11 196 0 0 0 0 0 0 0 0 54G 62G
Сергей
Читать можно и больше, у вас в арк вроде как чуть более 80 гигов выделено - или нет?
для 64 заданий это не играет роли. Мне нужно будет прочесть 64x64G. Так что памяти всяко не хватит
George
zfs create zpool/fio -V 256G
zvol кстати стоит тестить и после 100% заполнения, когда он пустой он сильно быстрее
Ivan
Ivan
надо еще mitigations выключить было
Сергей
надо еще mitigations выключить было
я его первым делом отключаю)
Ivan
тест значит заново запускать ? )
Сергей
тест значит заново запускать ? )
можно. и оставить в скрипте только одно значение для IOD(256) и NJ(64). чтобы всё остальное скипнуть
Сергей
можно. и оставить в скрипте только одно значение для IOD(256) и NJ(64). чтобы всё остальное скипнуть
ну или 32(IDO)/16(NJ). Я хочу у себя такую комбинацию сделать и размер файла например 2Гб, а не 64.