LINUX.ORG.RU

Сообщения rcSergey

 

ZFS низкая производительность, глубина очереди (queue depth).

Форум — Admin

Приветствую многоуважаемые! Осваиваю ZFS. Есть несколько серверов виртуализации KVM где хотелось бы применить силу ZFS в снапшотах, дистанционный incremental send.

Сейчас для тестов имеется следующий сервер: 2x2680v4, 8x32Gb DDR4 Reg, Карта бифуркации 16 на 4 NVMe SSD. В ней на время тестирования два Samsung 970 Evo Plus на 1Tb.

Чистый Debian 11. Из contrib установлена ZFS 2.0.3

Собран пул: зеркало из двух SSD, ashift=12. На глаз производительность не впечатлила. Начал копать. Настройки пула изменены минимально от дефолтовых.

zp_ssd recordsize 16K local

zp_ssd compression off default

zp_ssd atime off local

zp_ssd primarycache metadata local

zp_ssd secondarycache metadata local

zp_ssd sync standard default

В продакшене будет совсем по-другому, сейчас хочется понять «worst case» когда все читается с дисков, без ARC кэша, удачной компрессии.

Немного освоил fio. Начал с тестов на чтение. Обнаружил пренеприятную особенность. ZFS никак не реагирует на параметр iodepth. Зато великолепно реагирует на numjobs.

Набросал такой fio тест:

( читать дальше... )

Меняя в этом тесте только один параметр numjobs получаются абсолютно разные результаты в ZFS:

При numjobs=1 все совсем грустно:

  1. READ: bw=820MiB/s (860MB/s), 820MiB/s-820MiB/s (860MB/s-860MB/s), io=8200MiB (8598MB)
  2. READ: bw=820MiB/s (860MB/s), 820MiB/s-820MiB/s (860MB/s-860MB/s), io=8205MiB (8604MB)
  3. READ: bw=24.1MiB/s (25.3MB/s), 24.1MiB/s-24.1MiB/s (25.3MB/s-25.3MB/s), io=241MiB (253MB)
  4. READ: bw=23.7MiB/s (24.8MB/s), 23.7MiB/s-23.7MiB/s (24.8MB/s-24.8MB/s), io=237MiB (248MB)

При numjobs=16 цифры начинают радовать, но разницы между 1-2 и 2-3 (где меняется iodepth нет):

  1. READ: bw=8205MiB/s (8603MB/s), 8205MiB/s-8205MiB/s (8603MB/s-8603MB/s), io=80.1GiB (86.1GB)
  2. READ: bw=9483MiB/s (9944MB/s), 9483MiB/s-9483MiB/s (9944MB/s-9944MB/s), io=92.6GiB (99.5GB)
  3. READ: bw=385MiB/s (404MB/s), 385MiB/s-385MiB/s (404MB/s-404MB/s), io=3851MiB (4038MB)
  4. READ: bw=383MiB/s (402MB/s), 383MiB/s-383MiB/s (402MB/s-402MB/s), io=3834MiB (4021MB)

Убиваю пул, форматирую в ext4 один диск. Получаю такие показатели:

При numjobs=1:

  1. READ: bw=3150MiB/s (3303MB/s), 3150MiB/s-3150MiB/s (3303MB/s-3303MB/s), io=30.8GiB (33.0GB)
  2. READ: bw=2405MiB/s (2522MB/s), 2405MiB/s-2405MiB/s (2522MB/s-2522MB/s), io=23.5GiB (25.2GB)
  3. READ: bw=921MiB/s (965MB/s), 921MiB/s-921MiB/s (965MB/s-965MB/s), io=9207MiB (9654MB)
  4. READ: bw=63.5MiB/s (66.6MB/s), 63.5MiB/s-63.5MiB/s (66.6MB/s-66.6MB/s), io=636MiB (666MB)

При numjobs=16:

  1. READ: bw=3159MiB/s (3313MB/s), 3159MiB/s-3159MiB/s (3313MB/s-3313MB/s), io=30.0GiB (33.3GB)
  2. READ: bw=3155MiB/s (3308MB/s), 3155MiB/s-3155MiB/s (3308MB/s-3308MB/s), io=30.8GiB (33.1GB)
  3. READ: bw=2417MiB/s (2534MB/s), 2417MiB/s-2417MiB/s (2534MB/s-2534MB/s), io=23.6GiB (25.3GB)
  4. READ: bw=887MiB/s (930MB/s), 887MiB/s-887MiB/s (930MB/s-930MB/s), io=8871MiB (9302MB)

Ext4 прекрасно реагирует и на numjobs и на iodepth.

Прошу помочь.

 ,

rcSergey
()

AMD Ryzen KVM проброс видеокарты = низкая производительность

Форум — Linux-hardware

Всем доброго дня. Ситуация: Дома исправно трудился комп на ubuntu server с Z77 + i7 3770. Пара видеокарт + пара usb контролеров с мат. платы были проброшены в виртуалки. Работало почти идеально и поиграть и параллельно семье фильмы посмотреть или с документами поработать хватало. Из проблем было только то что иногда на второй видеокарте звук начинал скрежетать - решалось перезагрузкой. Да и одна из карт 1070 GTX не раскрывала своих возможностей, на некоторых «игорах». 3770 уже пятилетний старичок и было решено систему обновлять.

Прошлый опыт такой виртуализации был настолько гладок, что ошибочно предполагалось что это норма и все залетит в виртуалки так же легко.

Выбор пал на AMD, из за приемлемой цены за 8 ядер. Куплено: Ryzen 1700 + Asus X370 Pro Prime обновлен биос до 0803 (Beta BIOS with AGESA 1.0.0.6) Первая радость двумя щелчками поднялся с 3.0 до 3.7 Ghz на всех ядрах и стабильно работал. Выдавая 1600 очков в Cinebench (Старый i7 - 660 очков) Дешевая ОЗУ доступная в наших краях завелась на 2933 Mhz.

А вот результаты с виртуализацией - дичь : 1 - USB) . не удалось пробросить usb контролер даже один из трех что есть на мат плате. Лучший результат: тот контроллер что в самой небольшой iommu группе пробросился и работает. Но не долго минуты 2-3 после загрузки гостевого Windows 10. Потом отваливается и в диспетчере устройств висит с ошибкой. Два других в iommu группе с sata контролером и еще с десятком устройств. Выходить из группы и пробрасыватся не хотят. Слышал об ACS патче ядра. Но не знаю как это сделать ? Может ли кто описать действия для нубов как как сделать патч ядра в ubuntu server на примере этого патча ?

2 - Производительность) карта проброшена, usb проброшены как отдельные устройства. И все зря. Производительность отвратительная. В сравнении со старой сборкой где виртуалки ничем не отличались от реального железа. Тут все работает с дикими лагами. FPS в доте 2 на 1070 GTX в 1440p = 30 кадров. Второй пример взять окошко браузера за уголок порезайзить его быстрыми движениями мышки и виден каждый кадр потому что их немного. На старой сборке, это же действие отрисовывалось гладко как шёлк. Поиском найдено много тем в зарубежном нете о плохой производительности Ryzen в KVM. Вот пример: https://www.reddit.com/r/VFIO/comments/63igfa/horrible_amd_ryzen_performance/ Вроде все что рекомендовалось в подобных темах испробовано, но без результатов. (ntp=0 и немного других ключей в запуск) Причем как я понял даже на прошлых поколениях AMD ставили ntp=0.

3 - проброс второй карты) Вторую карту пробросить пока не удалось, как я понял за нее цепляется ubuntu. Виртуалка стартует экран моргает и тухнет. Картинки на экране нет. По этому вопросу пока сильно не копал, так как второй вопрос сильно опечалил. Даже если и получится пробросить вторую карту с такой производительностью оно не нужно.

Основной вопрос: есть ли у кого успешный опыт в виртуализации с AMD в таком направлении ? Ryzen или прошлые серии. Так чтобы виртуалка не отличалось от голого железа ? (учитывая что 2-5% глазом не заметить) Есть ли смысл ждать апдейтов ядра + биосов или с моря погоды или у AMD так всегда было и для них это норма ? И лучшим вариантом будет продать эту сборку и вернуться к синим ?

 , , ,

rcSergey
()

Ubuntu KVM виртуализация SSD PCIe

Форум — Linux-hardware

Ubuntu 16.04 server используется для KVM виртуализации в небольшом офисе. Одна из виртуалок терминальный сервер Win + 1C. База 1С файловая, размер > 10 гб. Чтоб база работала не скучно, ей был куплен PCIe SSD Kingston Predator.

Раньше гипервизор был Hyper-V 2012. Скорость всех устраивала, была как на голом железе. После смены Hyper-V на KVM. Cильно упала скорость проведения документов в 1С (-40%).

Crystal disk mark показывает сильные проседание в производительности в 4k random. (а это то что нужно файловой 1С) Линейные результаты почти как без виртуализации.

Пробовались такие варианты (virtio):

1) qcow2 поверх ext4

2) raw поверх ext4

3) /dev/sda -> в вм.

Пока из за нехватки времени, когда сервер можно настраивать, не получилось pcie -> в виртуалку. На домашнем есть положительный опыт с видеокартой.

Уважаемые гуру виртуализации KVM, есть еще какие нибудь варианты куда можно копнуть, не сильно глубоко, линукс только начал осваивать. Или обратно на Hyper-V где из коробки работало.

 , , ,

rcSergey
()

RSS подписка на новые темы