Сергей
Alexander
по сравнению с чем?
С ssd🤷‍♂️ну может у меня руки кривоваты
Сергей
Можно потом еще конфиг zfs
pool: zpool state: ONLINE scan: scrub repaired 0B in 0 days 00:14:58 with 0 errors on Sun Sep 13 00:38:59 2020 config: NAME STATE READ WRITE CKSUM zpool ONLINE 0 0 0 mirror-0 ONLINE 0 0 0 nvme-KXD51RUE960G_TOSHIBA_10CS102IT7PM ONLINE 0 0 0 nvme-SAMSUNG_MZQLB960HAJR-00007_S437NA0N507772 ONLINE 0 0 0 mirror-1 ONLINE 0 0 0 nvme-KXD51RUE960G_TOSHIBA_60DS10CLT7PM ONLINE 0 0 0 nvme-KXD51RUE960G_TOSHIBA_60DS10CQT7PM ONLINE 0 0 0 logs mirror-2 ONLINE 0 0 0 nvme-INTEL_SSDPED1D480GA_PHMB746200U0480DGN-part5 ONLINE 0 0 0 nvme-INTEL_SSDPE21D480GA_PHM2809000EU480BGN-part5 ONLINE 0 0 0
Alexander
Правда у меня 2 nvme
Alexander
Было
Сергей
NAME USED RATIO LUSED AVAIL LOGBIAS SYNC ATIME PRIMARYCACHE COMPRESS RECSIZE VOLBLOCK MOUNTPOINT zpool/pg-rep-gcp 457G 1.72x 786G 1.23T latency standard off all on 128K - none zpool/pg-rep-gcp/main 457G 1.72x 786G 1.23T latency standard off all on 16K - /var/lib/postgresql/12/main
Сергей
это я сейчас тестирую на zpool/pg-rep-gcp/main, где RECSIZE=16K. Все остальные параметры по умолчанию
Evgenii
Почему?
Из за особенностей записи на ssd, trim, внутренний cow постраничный и тд А если qlc память внутри то скорость жестких дисков покажется супербыстрой, стоит дать длительную нагрузку, чтобы ячейки начали уплотняться из однобитового в трехбитовый режим
Evgenii
От диска многое зависит короче, мало какие подойдут, если нужна скорость
Evgenii
Zfs дает двойную нагрузку на запись, если нет отдельного slog насколько я понимаю И настройки по умолчанию sync - требовательнее к диску чем обычные файловые системы
George
ещё интересно померять redundant_metadata=most , копеечку может ещё дать сверху. На дешёвых nvme и асинхронной записи у меня разницы не давало
Сергей
а без сжатия как?
не проверял. Это 64 job при depth=256.
Сергей
у меня только два вида тестов: randRW и randRW/sync.
Сергей
а сейчас тест идёт чисто на оптанах (зеркало). Это iotop показывает мгновенную скорость
Сергей
@gmelikov, как мне лучше нагрузить на чтение? Может размер файла сделать побольше? сейчас 32G. Но мне кажется что можно больше выжать
Сергей
Маловато(((
а можно увидеть этот же тест в вашем кейсе?
Alexander
Ждал лучшего((
Сергей
У меня еще меньше((
насколько меньше?
Nikita
А можно обнаглеть и попросить прямо строку всю для запуска теста?
Alexander
насколько меньше?
Могу с понедельника замеры повторить
Сергей
А можно обнаглеть и попросить прямо строку всю для запуска теста?
можно даже не всю строку, а набор файлов который я использую. минуту
Nikita
Спасибо огромное
Nikita
Интересно насколько у меня всё плохо
Сергей
в bench.sh поправить путь к месту где будет проходить тест
Сергей
Сергей
Сергей
результатом будет 9 файлов, сочетание для IOD=1,16,256 и NUMJOBS=1,8,64
Alexander
можно даже не всю строку, а набор файлов который я использую. минуту
Но как было правильно замеченно у меня их всего 2 , поэтому было без logs
Сергей
в bench.sh поправить путь к месту где будет проходить тест
я тестировал пока скорость filesystem. Сейчас сделаю zvol на 100-200Гб и прогоню скорость zvol
George
@gmelikov, как мне лучше нагрузить на чтение? Может размер файла сделать побольше? сейчас 32G. Но мне кажется что можно больше выжать
если хочется тестить worst case, то отключить кеширование data в arc, после этого размер файла не сильно важен, я бы хотя бы 50ГБ сделал бы, nvme как никак
George
для nvme ещё можно крутить zfs_vdev_sync_read_max_active и аналогичные, в зависимости от конкретного диска
George
сжатие на nvme я бы отключил. Увы, на оптанах zfs сейчас имеет узкие места, а сжатие латенси только ухудшит
Alexander
Не только оптан
George
оптаны просто наиболее быстрые)
George
для nvme пилят сейчас полноценную поддержку o_direct, чтобы arc по минимуму использовать
Сергей
сжатие на nvme я бы отключил. Увы, на оптанах zfs сейчас имеет узкие места, а сжатие латенси только ухудшит
я думаю что на том сервере вкл/выкл сжатие не играет роли, там 64 ядра на amd epyc. Вряд ли это даст какой-то существенный прирост. Но прогоню ещё раз.
George
если у кого убунта кстати, init_on_alloc=0 ставьте в параметры ядра (https://github.com/openzfs/zfs/issues/10141)
George
эм, buffer_compress_percentage закомменчен? пока выглядит так, что со сжатием такое нормальные результаты не покажет, оно же нули пишет
George
я сжатие обычно с таким тестю buffer_compress_percentage=15 refill_buffers buffer_pattern=0xdeadbeef процент по вкусу, не менее 13, 12.5 и меньше zfs сейчас отбросит и запишет не сжатое
George
refill_buffers наверное даже убрать можно
Alexander
refill_buffers наверное даже убрать можно
Я так понимаю , если оптан использовать под logs тоже профита особого не будет?
Сергей
Сергей
даже с nvme. (если конечно весь пул из оптанов не собран)
Alexander
даже с nvme. (если конечно весь пул из оптанов не собран)
Вернее не так)) пул на ssd а оптаны в logs
Сергей
Вернее не так)) пул на ssd а оптаны в logs
вот как раз я у себя и делал оптан под slog для пула из nvme. Пока что ни один из обычных nvme/ssd не имеет latency как у оптанов. А для slog важна именно latency
Evgenii
u2 - это разъем по моему, а не протокол
Alexander
u2 - это разъем по моему, а не протокол
Да, у интел просто они все оптаны и u2 и pci то про что Сергей говорит
Sergey
Есть еще оптаны nvdimm)
Сергей
я думаю что низкая скорость чтения у меня из-за recsize=16k, это я для PG затачивал датасет. На 128К всё должно быть по-другому
Evgenii
Да, у интел просто они все оптаны и u2 и pci то про что Сергей говорит
да я к тому, что без разницы какой разъем, это все NVME
Alexander
да я к тому, что без разницы какой разъем, это все NVME
Да не скажите, если использовать оптан nvdimm))как и сказал Сергей латенси будет явно думаю меньше
Evgenii
Да не скажите, если использовать оптан nvdimm))как и сказал Сергей латенси будет явно думаю меньше
Ну это понятно, там шина не PCI-E, напрямую в контроллер памяти в процессоре подключается
Evgenii
остальные разъемы - соединяют диск с PCI-E шиной
Сергей
это уже другие оптаны. У интел целое семейство разных типов памяти называются оптаны. Это по сути обычная память, которая сохраняется при отключении. У меня обычные 900p вот сравнение первоначального теста (результирующий итог IOD=256, NUMJOBS=64): RAID-10 (4x960GB NVMe + 2x900p как SLOG (разделы по 32Гб)) Run status group 0 (all jobs): READ: bw=729MiB/s (765MB/s), 729MiB/s-729MiB/s (765MB/s-765MB/s), io=85.5GiB (91.8GB), WRITE: bw=313MiB/s (328MB/s), 313MiB/s-313MiB/s (328MB/s-328MB/s), io=36.6GiB (39.3GB), Run status group 1 (all jobs): READ: bw=476MiB/s (500MB/s), 476MiB/s-476MiB/s (500MB/s-500MB/s), io=55.8GiB (59.9GB), WRITE: bw=204MiB/s (214MB/s), 204MiB/s-204MiB/s (214MB/s-214MB/s), io=23.9GiB (25.7GB), Тот же самый тест только на обычном mirror из двух 900p (два раздела по 250Гб), SLOG не сделан: Run status group 0 (all jobs): READ: bw=311MiB/s (326MB/s), 311MiB/s-311MiB/s (326MB/s-326MB/s), io=36.5GiB (39.2GB) WRITE: bw=133MiB/s (140MB/s), 133MiB/s-133MiB/s (140MB/s-140MB/s), io=15.6GiB (16.8GB) Run status group 1 (all jobs): READ: bw=284MiB/s (298MB/s), 284MiB/s-284MiB/s (298MB/s-298MB/s), io=33.3GiB (35.8GB) WRITE: bw=122MiB/s (128MB/s), 122MiB/s-122MiB/s (128MB/s-128MB/s), io=14.3GiB (15.3GB) RAID10 win) p.s. остальные тесты в пути)
Alexander
это уже другие оптаны. У интел целое семейство разных типов памяти называются оптаны. Это по сути обычная память, которая сохраняется при отключении. У меня обычные 900p вот сравнение первоначального теста (результирующий итог IOD=256, NUMJOBS=64): RAID-10 (4x960GB NVMe + 2x900p как SLOG (разделы по 32Гб)) Run status group 0 (all jobs): READ: bw=729MiB/s (765MB/s), 729MiB/s-729MiB/s (765MB/s-765MB/s), io=85.5GiB (91.8GB), WRITE: bw=313MiB/s (328MB/s), 313MiB/s-313MiB/s (328MB/s-328MB/s), io=36.6GiB (39.3GB), Run status group 1 (all jobs): READ: bw=476MiB/s (500MB/s), 476MiB/s-476MiB/s (500MB/s-500MB/s), io=55.8GiB (59.9GB), WRITE: bw=204MiB/s (214MB/s), 204MiB/s-204MiB/s (214MB/s-214MB/s), io=23.9GiB (25.7GB), Тот же самый тест только на обычном mirror из двух 900p (два раздела по 250Гб), SLOG не сделан: Run status group 0 (all jobs): READ: bw=311MiB/s (326MB/s), 311MiB/s-311MiB/s (326MB/s-326MB/s), io=36.5GiB (39.2GB) WRITE: bw=133MiB/s (140MB/s), 133MiB/s-133MiB/s (140MB/s-140MB/s), io=15.6GiB (16.8GB) Run status group 1 (all jobs): READ: bw=284MiB/s (298MB/s), 284MiB/s-284MiB/s (298MB/s-298MB/s), io=33.3GiB (35.8GB) WRITE: bw=122MiB/s (128MB/s), 122MiB/s-122MiB/s (128MB/s-128MB/s), io=14.3GiB (15.3GB) RAID10 win) p.s. остальные тесты в пути)
Понял, спс. А можно 4 к в fio и на запись))
Сергей
Alexander
не понял. сделать recsize=4k?
Да мелким блоком и посмотреть iops на запись
Сергей
Да мелким блоком и посмотреть iops на запись
разве такой мелкий блок имеет смысл? дефолтный размер для zvol=8k, для filesystem=128k. Для СУБД рекомендуют 8к. А почему именно 4к?
Сергей
Можно и 8k
filesystem или zvol?
Сергей
Zvol
ок. это у меня как раз скоро начнёт тестироваться. будет с отключенной компрессией и с включенной (тестовые данные могут быть сжаты на 30%, хотя на реальных данных сжимается выше)
Sergey
это уже другие оптаны. У интел целое семейство разных типов памяти называются оптаны. Это по сути обычная память, которая сохраняется при отключении. У меня обычные 900p вот сравнение первоначального теста (результирующий итог IOD=256, NUMJOBS=64): RAID-10 (4x960GB NVMe + 2x900p как SLOG (разделы по 32Гб)) Run status group 0 (all jobs): READ: bw=729MiB/s (765MB/s), 729MiB/s-729MiB/s (765MB/s-765MB/s), io=85.5GiB (91.8GB), WRITE: bw=313MiB/s (328MB/s), 313MiB/s-313MiB/s (328MB/s-328MB/s), io=36.6GiB (39.3GB), Run status group 1 (all jobs): READ: bw=476MiB/s (500MB/s), 476MiB/s-476MiB/s (500MB/s-500MB/s), io=55.8GiB (59.9GB), WRITE: bw=204MiB/s (214MB/s), 204MiB/s-204MiB/s (214MB/s-214MB/s), io=23.9GiB (25.7GB), Тот же самый тест только на обычном mirror из двух 900p (два раздела по 250Гб), SLOG не сделан: Run status group 0 (all jobs): READ: bw=311MiB/s (326MB/s), 311MiB/s-311MiB/s (326MB/s-326MB/s), io=36.5GiB (39.2GB) WRITE: bw=133MiB/s (140MB/s), 133MiB/s-133MiB/s (140MB/s-140MB/s), io=15.6GiB (16.8GB) Run status group 1 (all jobs): READ: bw=284MiB/s (298MB/s), 284MiB/s-284MiB/s (298MB/s-298MB/s), io=33.3GiB (35.8GB) WRITE: bw=122MiB/s (128MB/s), 122MiB/s-122MiB/s (128MB/s-128MB/s), io=14.3GiB (15.3GB) RAID10 win) p.s. остальные тесты в пути)
Скорей наоборот это обычные оптаны которые могут прикидываться памятью)