Вадим «Дым» Илларионов ☭
Причём, в обе стороны.
Vladislav
Я бы лучше проверил через fio запись и чтение
Ivan
Я бы лучше проверил через fio запись и чтение
А можете написать запрос с fio, какой запустить? Просто много разных видел и через фио по разному можно оценивать результаты
Vladislav
А можете написать запрос с fio, какой запустить? Просто много разных видел и через фио по разному можно оценивать результаты
fio 100% linear read - для отдающего fio 100% linear write - для принимащего fio 100% rng 4k read - для отдающего fio 100% rng 4k write - для принимащего
Andrey
Я бы проверил source копированием на одиночный SSD. Просто для старта. Малоли
Andrey
Чтобы понимать на чьей стороне проблема
Ivan
Тоже про иперф3 хотел следом написать. :)
Так по поводу iperf, тут все вроде ок В одну сторону 40 Гигабит [ ID] Interval Transfer Bitrate Retr Cwnd [ 5] 0.00-1.00 sec 4.60 GBytes 39.5 Gbits/sec 0 2.87 MBytes [ 5] 1.00-2.00 sec 4.51 GBytes 38.8 Gbits/sec 0 3.02 MBytes [ 5] 2.00-3.00 sec 4.40 GBytes 37.8 Gbits/sec 0 3.02 MBytes [ 5] 3.00-4.00 sec 4.44 GBytes 38.2 Gbits/sec 0 3.02 MBytes [ 5] 4.00-5.00 sec 4.40 GBytes 37.8 Gbits/sec 0 3.02 MBytes [ 5] 5.00-6.00 sec 4.34 GBytes 37.3 Gbits/sec 0 3.02 MBytes [ 5] 6.00-7.00 sec 4.45 GBytes 38.2 Gbits/sec 0 3.02 MBytes [ 5] 7.00-8.00 sec 4.32 GBytes 37.1 Gbits/sec 0 3.02 MBytes [ 5] 8.00-9.00 sec 4.43 GBytes 38.1 Gbits/sec 0 3.02 MBytes [ 5] 9.00-10.00 sec 4.33 GBytes 37.2 Gbits/sec 0 3.02 MBytes И в обратку тоже [ ID] Interval Transfer Bitrate [ 5] 0.00-1.00 sec 4.58 GBytes 39.4 Gbits/sec [ 5] 1.00-2.00 sec 4.65 GBytes 40.0 Gbits/sec [ 5] 2.00-3.00 sec 4.72 GBytes 40.5 Gbits/sec [ 5] 3.00-4.00 sec 4.58 GBytes 39.3 Gbits/sec [ 5] 4.00-5.00 sec 4.60 GBytes 39.5 Gbits/sec [ 5] 5.00-6.00 sec 4.55 GBytes 39.1 Gbits/sec [ 5] 6.00-7.00 sec 4.54 GBytes 39.0 Gbits/sec [ 5] 7.00-8.00 sec 4.57 GBytes 39.3 Gbits/sec [ 5] 8.00-9.00 sec 4.62 GBytes 39.7 Gbits/sec [ 5] 9.00-10.00 sec 4.60 GBytes 39.5 Gbits/sec - - - - - - - - - - - - - - - - - - - - - - - - -
Ivan
Вот что показывает iotop на сорц машине (с которой идет чтение файлов)
Ivan
А вот что показывает таргет-машина (на которую идет запись)
Ivan
Все эти данные записывал соотвественно когда шло копирование с сорц машины на таргет машину
Ivan
Что скажете други?
Andrew
во время копирования стОит посмотреть atop и iostat с двух сторон. будет красненьким выделяться то, куда упирается. это если глазками. стОит поставить заббикс какой-нибудь, чтобы отслеживать загруженность хоста, в т.ч. дисковой подсистемы. и так, из общих соображений, там 3 raidz2, соответственно, IOPS'ов будет плюс/минус как у 3х одиночных дисков в Raid0, при условии, что все они одинаковые. паттерн будет, скорее всего, random read. сколько IOPS'ов на чтение даёт исходный массив? сколько throughput при копировании в /dev/null с исходного массива? через zfs send/receive ситуация не улучшится? ну и совет про fio уже был дан.
Vladislav
А вот что показывает таргет-машина (на которую идет запись)
Iotop никакой инфы не даст, это ТЕКУЩАЯ нагрузка, но не пиковая возможная
Vladislav
Ivan
Щас будет
Ivan
fio тест где?
Итак, постарался сделать разные тесты Команда общая была такая fio --filename=/mnt/RAID/test.img --size=50G --direct=1 --rw=read --bs=4k --ioengine=libaio --iodepth=64 --runtime=120 --numjobs=20 --time_based --group_reporting --name=throughput-test-job для каждого теста менял только парамметры —rw на read, write, randread, randwrite и —bs на 4k и 256k Результаты вышли следующие Отдающая машина: --bs=4k READ bw=3388 MiB/s (3553 MB/s) IOPs=867k clat: avg=1.45 ms --bs=256k READ bw=6827 MiB/s (7159 MB/s) IOPs=27.3k clat: avg=46.11 ms --bs=4k RAND READ bw=2230 KiB/s (2283 KB/s) IOPs=557 clat: avg=2242.29 ms --bs=256k RAND READ bw=113 MiB/s (118 MB/s) IOPs=451 clat: avg=2757.27 ms --bs=4k WRITE bw=1245 MiB/s (1306 MB/s) IOPs=319k clat: avg=3.95 ms --bs=256k WRITE bw=6541 MiB/s (6859 MB/s) IOPs=26.2k clat: avg=48.15 ms --bs=4k RAND WRITE bw=11.3 MiB/s (11.9 MB/s) IOPs=2894 clat: avg=435.04 ms --bs=256k RAND WRITE bw=1071 MiB/s (1123 MB/s) IOPs=4283 clat: avg=294.05 ms Принимающая машина: --bs=4k READ bw=4658 MiB/s (4884 GB/s) IOPs=1192k clat: avg=1.06 ms --bs=256k READ bw=12.2 GiB/s (13.1 GB/s) IOPs=50.0k clat: avg=25.18 ms --bs=4k RAND READ bw=5656 KiB/s (5792 KB/s) IOPs=1414 clat: avg=886.22 ms --bs=256k RAND READ bw=262 MiB/s (275 MB/s) IOPs=1047 clat: avg=1193.51 ms --bs=4k WRITE bw=1556 MiB/s (1631 MB/s) IOPs=398k clat: avg=3.17 ms --bs=256k WRITE bw=8163 MiB/s (8560 MB/s) IOPs=32.7k clat: avg=38.58 ms --bs=4k RAND WRITE bw=89.9 MiB/s (94.3 MB/s) IOPs=23.0k clat: avg=54.73 ms --bs=256k RAND WRITE bw=1449 MiB/s (1519 MB/s) IOPs=5794 clat: avg=217.35 ms
Ivan
Что я точно заметил сразу, и думаю из результатов тестов это хорошо видно, что при использовании —bs=256k результаты тестов выше в разы
Vladislav
Итак, постарался сделать разные тесты Команда общая была такая fio --filename=/mnt/RAID/test.img --size=50G --direct=1 --rw=read --bs=4k --ioengine=libaio --iodepth=64 --runtime=120 --numjobs=20 --time_based --group_reporting --name=throughput-test-job для каждого теста менял только парамметры —rw на read, write, randread, randwrite и —bs на 4k и 256k Результаты вышли следующие Отдающая машина: --bs=4k READ bw=3388 MiB/s (3553 MB/s) IOPs=867k clat: avg=1.45 ms --bs=256k READ bw=6827 MiB/s (7159 MB/s) IOPs=27.3k clat: avg=46.11 ms --bs=4k RAND READ bw=2230 KiB/s (2283 KB/s) IOPs=557 clat: avg=2242.29 ms --bs=256k RAND READ bw=113 MiB/s (118 MB/s) IOPs=451 clat: avg=2757.27 ms --bs=4k WRITE bw=1245 MiB/s (1306 MB/s) IOPs=319k clat: avg=3.95 ms --bs=256k WRITE bw=6541 MiB/s (6859 MB/s) IOPs=26.2k clat: avg=48.15 ms --bs=4k RAND WRITE bw=11.3 MiB/s (11.9 MB/s) IOPs=2894 clat: avg=435.04 ms --bs=256k RAND WRITE bw=1071 MiB/s (1123 MB/s) IOPs=4283 clat: avg=294.05 ms Принимающая машина: --bs=4k READ bw=4658 MiB/s (4884 GB/s) IOPs=1192k clat: avg=1.06 ms --bs=256k READ bw=12.2 GiB/s (13.1 GB/s) IOPs=50.0k clat: avg=25.18 ms --bs=4k RAND READ bw=5656 KiB/s (5792 KB/s) IOPs=1414 clat: avg=886.22 ms --bs=256k RAND READ bw=262 MiB/s (275 MB/s) IOPs=1047 clat: avg=1193.51 ms --bs=4k WRITE bw=1556 MiB/s (1631 MB/s) IOPs=398k clat: avg=3.17 ms --bs=256k WRITE bw=8163 MiB/s (8560 MB/s) IOPs=32.7k clat: avg=38.58 ms --bs=4k RAND WRITE bw=89.9 MiB/s (94.3 MB/s) IOPs=23.0k clat: avg=54.73 ms --bs=256k RAND WRITE bw=1449 MiB/s (1519 MB/s) IOPs=5794 clat: avg=217.35 ms
....
Vladislav
Итак
Vladislav
Было необходимо 4 теста
Vladislav
4 простых теста, с параметрами по умолчанию
Vladislav
Итак, постарался сделать разные тесты Команда общая была такая fio --filename=/mnt/RAID/test.img --size=50G --direct=1 --rw=read --bs=4k --ioengine=libaio --iodepth=64 --runtime=120 --numjobs=20 --time_based --group_reporting --name=throughput-test-job для каждого теста менял только парамметры —rw на read, write, randread, randwrite и —bs на 4k и 256k Результаты вышли следующие Отдающая машина: --bs=4k READ bw=3388 MiB/s (3553 MB/s) IOPs=867k clat: avg=1.45 ms --bs=256k READ bw=6827 MiB/s (7159 MB/s) IOPs=27.3k clat: avg=46.11 ms --bs=4k RAND READ bw=2230 KiB/s (2283 KB/s) IOPs=557 clat: avg=2242.29 ms --bs=256k RAND READ bw=113 MiB/s (118 MB/s) IOPs=451 clat: avg=2757.27 ms --bs=4k WRITE bw=1245 MiB/s (1306 MB/s) IOPs=319k clat: avg=3.95 ms --bs=256k WRITE bw=6541 MiB/s (6859 MB/s) IOPs=26.2k clat: avg=48.15 ms --bs=4k RAND WRITE bw=11.3 MiB/s (11.9 MB/s) IOPs=2894 clat: avg=435.04 ms --bs=256k RAND WRITE bw=1071 MiB/s (1123 MB/s) IOPs=4283 clat: avg=294.05 ms Принимающая машина: --bs=4k READ bw=4658 MiB/s (4884 GB/s) IOPs=1192k clat: avg=1.06 ms --bs=256k READ bw=12.2 GiB/s (13.1 GB/s) IOPs=50.0k clat: avg=25.18 ms --bs=4k RAND READ bw=5656 KiB/s (5792 KB/s) IOPs=1414 clat: avg=886.22 ms --bs=256k RAND READ bw=262 MiB/s (275 MB/s) IOPs=1047 clat: avg=1193.51 ms --bs=4k WRITE bw=1556 MiB/s (1631 MB/s) IOPs=398k clat: avg=3.17 ms --bs=256k WRITE bw=8163 MiB/s (8560 MB/s) IOPs=32.7k clat: avg=38.58 ms --bs=4k RAND WRITE bw=89.9 MiB/s (94.3 MB/s) IOPs=23.0k clat: avg=54.73 ms --bs=256k RAND WRITE bw=1449 MiB/s (1519 MB/s) IOPs=5794 clat: avg=217.35 ms
Зачем вот это все?
Ivan
Я их и сделал
Vladislav
....numjobs Нахера 20?
Vladislav
Iodepth нахера 64?
Vladislav
У Вас в 20 потоков копия идёт с машины на машину?
Vladislav
У Вас 64 глубина очереди на копирование? (Сразу скажу, что нет)
Ivan
Ок, тогда вопрос, что подразумевалось под параметрами по умолчанию?)
Vladislav
Ivan
Владимир, можете написать команду с теми параметрами которые нужно?
Vladislav
Ок, тогда вопрос, что подразумевалось под параметрами по умолчанию?)
Наверно, параметр по умолчанию это параметр по умолчанию
Vladislav
Логично, что блок 256к линейного чтения в 20 ОДИНАКОВЫХ потоков даст Вам нихуевую производительность, у Вас буквально он весь в Арк кэше сел
Vladislav
Владимир, можете написать команду с теми параметрами которые нужно?
Я не Владимир, поэтому не могу. Обращайтесь к Владимиру
Vladislav
@владимир
Vladislav
@Wladimi
Vladislav
Во
Vladislav
Удачи
Vladislav
#лучшие_моменты_этого_чата
Ivan
Удачи
Я не настолько знаю утилиту fio. Подскажите, если можете, с какими параметрами мне запустить тесты и я это сделаю.
Ivan
Я не Владимир, поэтому не могу. Обращайтесь к Владимиру
Извиняюсь, просто в ночи не так прочитал)
Ivan
Ну собственно меня попросили вот эти результаты тестов дать. Но поскольку я не специалист по фио то я естественно начал гуглить, и взял команды с сайта oracle. Но оказалось, что это не то что нужно))
Ivan
fio 100% linear read - для отдающего fio 100% linear write - для принимащего fio 100% rng 4k read - для отдающего fio 100% rng 4k write - для принимащего
Ivan
Какие запросы нужно написать для fio, чтобы вот эти данные получить? Потому что в инете вариантов работы с fio масса
Ivan
iperf между машинами я проверил, в обе стороны по 40 гигабит есть
Andrey
зарусти iftop в момент копирования и посмотри с такой ом скоростью сеть работает
Maksym
Друзі,  хто  зна щоб не шукати як в трунас в тунаблосах обмежити рам для зиефес? Я знав але забув. Напишіть будь ласка наприклад я хочу щоб зфс брав тільки 1ГБ. Дякую!
Vladislav
Georg🎞️🎥
Циферки нужны поставь 👋 Жмякаешь «add” …
Ivan
зарусти iftop в момент копирования и посмотри с такой ом скоростью сеть работает
Андрей, вот. Запустил iftop во время копирования. Копирую с vfxstorage01 на vfxstorage02
Ivan
И если я правильно понимаю цифирьки, то скорость плюс минус норм порядка 2.5Гб/c летит?
Ivan
Что-то не так? )
Aleksandr
Гифка пережата
Ivan
Ааа, сорри
Ivan
Ivan
Вот
Ivan
Ivan
На всякий случай еще раз проверил
Ivan
iftop запускал на принимающей машине
Ivan
Други, что скажете? Куда дальше копать?
Ivan
fio я так понимаю, но нужна ваша помощь, чтобы дал точный тестовый запрос
Ivan
Други, что скажете? Куда дальше копать?
линейную скорость чтения проверить на источнике. линейную скорость записи на приемнике.
Ivan
Иван, Вот тут нужна помощь с fio ))
Ivan
да даже через dd чекнуть можно, если сжатия нет при записи.
Andrey
копируешь с пула в /dev/null копируешь с пула через сеть на другом хосте в /dev/null копируешь с пула через сеть на другом хосте в пул анализируешь и думаешь что дальше делать Только нужно понимать как приклад читает/пишет данные данные. Чтение блоками/запись блоками по 512 байт это отличается по скорости при работе например блоками 1Мб. Какими блоками читает/пишет приклад данные? Что быстрее запишется на флешку - много мелких файлов или один большой, в который затарили эти мелкие файлы?
Ivan
....numjobs Нахера 20?
А сколько нужно для простого теста линейного чтения и записи?
Ivan
Iodepth нахера 64?
И вот этот параметр тоже, сколько нужно для обычного теста линейного чтения записи?