На сколько оперативная быстрее nvme

1 23
B
На сайте с 21.10.2010
Offline
94
#21
По поводу NVMe, если это дешевое хоум решение, то под реальной нагрузкой, в продакшене, вы захотите вернутся обратно на обычные SSD, даже не Enterprise. Так как производительность будет падать как самолет уходит в пике, синтетические тесты этого не показывают.

fio всё прекрасно показывает, зря вы так)

дешевые домашние nvme неплохо выдерживают долговременное чтение - на них отлично укладывать какие-нибудь большие и редкоменяемые куски кеша или "холодные" данные - например на intel 760p мы разложили шарды greenplum (чтения там много, запись же может и потерпеть)

но "для всего" и "под серьёзную нагрузку" решение плохое - тут даже спорить не буду

У нас один нагруженный сервер субд может нести в себе до трёх типов дисков:

1) intel optane или хорошие nvme (pm963, p4600, p35xx) - под wal и горячие данные

2) sata ssd enterprise (pm863, s3510) - под индексы холодных данных и тёплые данные

3) sata ssd desktop / nvme desktop (что найдётся) - под холодные или редкоменяемые данные

Дела должны делаться
Андрей
На сайте с 30.09.2009
Offline
482
#22

Bananzz, fio показывает отличную производительность домашних NVMe, да и под маленькой нагрузкой производительность хорошая. А дай им хорошую нагрузку, разместив high load проект, и их цена становится совершенно неоправданной.

Если нужно производительно тогда Enterprise SSD, а если недорого то простые SSD. А хоум NVMe дороже, но выжать из них больше не получится. Это другой интерфейс, но не более.

EuroHoster.org ( https://eurohoster.org/ru/ ) - территория быстрых серверов. Выделенные серверы, VPS, SSL, домены и VPN.
ENELIS
На сайте с 29.08.2008
Offline
194
#23

NVMe просто расширяет интерфейс для работы с данными без костылей для жестких дисков и вешает его на PCIE шину, что ускоряет до ширины шины. Однако еще и зависит что за шина и какой версии. Например если версия 3 и ширина x4 то повесив 2 хороших NVMe диска в raid0 и они зальют шину.

При этом замедление будет не линейным, а довольно хаотичным.

С Уважением, ServerAstra.ru (https://serverastra.com) - VPS и выделенные сервера в Будапеште по выгодным ценам!
B
На сайте с 21.10.2010
Offline
94
#24

Bananzz, fio показывает отличную производительность домашних NVMe, да и под маленькой нагрузкой производительность хорошая. А дай им хорошую нагрузку, разместив high load проект, и их цена становится совершенно неоправданной.
Если нужно производительно тогда Enterprise SSD, а если недорого то простые SSD. А хоум NVMe дороже, но выжать из них больше не получится. Это другой интерфейс, но не более.

Зависит от времени теста. На коротких тестах в минуту-две они себя показывают молодцами.

На долгих тестах всё зависит от характера нагрузки (write-тесты весь десктоп не сливает и это нормально) и качества охлаждения тестового стенда.

По опыту работы с хайлоад проектами (2k+ rps в бэкэнды) - там очень разнородные данные и куда как важнее качество сети внутри кластера - чтобы не лагали десятки серверов мемкеша и всё такое :)

Но, да, на тех масштабах о десктопах речь не идёт и счет памяти в серверах БД идёт уже далеко не на десятки гигабайт.

На текущих проектах (до 500 rps) можно использовать декстопное железо, но это надо делать с умом. И это позволяет серьёзно экономить не выбиваясь из целевого аптайма.


NVMe просто расширяет интерфейс для работы с данными без костылей для жестких дисков и вешает его на PCIE шину, что ускоряет до ширины шины. Однако еще и зависит что за шина и какой версии. Например если версия 3 и ширина x4 то повесив 2 хороших NVMe диска в raid0 и они зальют шину.

Формально вы правы.

На деле же надо очень постараться чтобы повесить пару нвмех на Pcie-x4. Да и дисков (шта? они уже даже не круглые :D) которые Pcie-x4 в состоянии уложить в полку не очень много, стоят они серьёзных бабок и обычно ставятся в серверные платформы, где х4 линий хватает всем.

Другое дело что софтварный рейд из хороших NVMe портит одну из их самых вкусных и дорогих характеристик - низкую латентность, позволяя получить прирост bandwidth (ну и ещё и CPU потратить, ага).

Мы обычно не строим рейды, а собираем lvm поверх нескольких дисков - просто потому что от lvm нам никуда не деться из-за особенностей гипервизора.

ENELIS
На сайте с 29.08.2008
Offline
194
#25
Bananzz:
Формально вы правы.
На деле же надо очень постараться чтобы повесить пару нвмех на Pcie-x4. Да и дисков (шта? они уже даже не круглые :D) которые Pcie-x4 в состоянии уложить в полку не очень много, стоят они серьёзных бабок и обычно ставятся в серверные платформы, где х4 линий хватает всем.
Другое дело что софтварный рейд из хороших NVMe портит одну из их самых вкусных и дорогих характеристик - низкую латентность, позволяя получить прирост bandwidth (ну и ещё и CPU потратить, ага).
Мы обычно не строим рейды, а собираем lvm поверх нескольких дисков - просто потому что от lvm нам никуда не деться из-за особенностей гипервизора.

PCIe-x4 особенно какой-нибудь "шаренный" на домашней мамке Hetznerовского EX возможно без проблем.

Например PX у них мамки идут с шиной PCIe-x4 3.0 что равняется 3.94 ГБ/с, Samsung 970 PRO выедает 3.5 ГБ/с. Хоть какая-нибудь мелочь, чуть кривой биос и такой быстрый NVMe начнет занижать скорость, причем не очень опрятно.

Учитывая, что это мы рассмотрели премиум линейку, что творится в EX я даже сказать не могу.

На самом деле встречал не раз когда NVMe портов 2, а ведут в одну шину PCIe-x4 или даже 3 порта.

B
На сайте с 21.10.2010
Offline
94
#26
ENELIS:
PCIe-x4 особенно какой-нибудь "шаренный" на домашней мамке Hetznerовского EX возможно без проблем.
Например PX у них мамки идут с шиной PCIe-x4 3.0 что равняется 3.94 ГБ/с, Samsung 970 PRO выедает 3.5 ГБ/с. Хоть какая-нибудь мелочь, чуть кривой биос и такой быстрый NVMe начнет занижать скорость, причем не очень опрятно.

Учитывая, что это мы рассмотрели премиум линейку, что творится в EX я даже сказать не могу.

На самом деле встречал не раз когда NVMe портов 2, а ведут в одну шину PCIe-x4 или даже 3 порта.

я так подозреваю, 970про такое выедает только в синтетических тестах с адской глубиной очереди и большими блоками и очень недолго :)

960про тоже вроде был кошерный и классный, только нифига под боевыми нагрузками не мог

в ЕХ свежих стоят MSI Z370 Gaming

декстопные процессоры от интелов не умеют Pcie старше 3.0 (смотри ark) и несут всего по 16 линий Pcie в процессор, z370 ещё нормально добавляет (+24 линии)

Думаю, что даже там всё будет работать нормально :)

Промышленный U.2 реализует также 4 линии pcie (как и любой типовой nvme-диск), и пока почему-то даже интелы на дорогущих мамках под много xeon scalable это не меняют, хотя туда втыкают как раз правильные и дорогие p4600.

Даже там в bandwidth не упираются.

Всё потому что NVME ценнен показателями tps и латентностью в первую очередь.

Не гигабайты в секунду надо сравнивать)

ENELIS
На сайте с 29.08.2008
Offline
194
#27

Гигабайты в секунду тоже важны. Быстрее сброс данных быстрее работа.

Латентность, иопсы и гигабайты/с взаимосвязаны, считать их отдельно особо смысла не имеет.

Насколько я вижу (https://www.msi.com/Motherboard/Z370-GAMING-PLUS/Specification#) там шаринг тоже идет.

B
На сайте с 21.10.2010
Offline
94
#28
ENELIS:
Гигабайты в секунду тоже важны. Быстрее сброс данных быстрее работа.
Латентность, иопсы и гигабайты/с взаимосвязаны, считать их отдельно особо смысла не имеет.

Насколько я вижу (https://www.msi.com/Motherboard/Z370-GAMING-PLUS/Specification#) там шаринг тоже идет.

давайте мы всё-таки будем точны: существует размер блока и глубина очереди

а также вопросы о буферизации (принудительном или отложенном sync при) записи

Дальше - чем больше блок и выше глубина очереди (при той же латенси), тем большую вы получаете производительность в KBps.

Латентность диска является ключевой, так как именно она показывает _сколько времени заняла операция_. Не суть важно какая и какого размера. И на какой глубине очереди.

Меньше латенси - больше успели сделать. Больше латенси - больше ждали завершения операции и меньше сделали.

Байты в секуду вытекают прямо из показателя латентности. Самый жёсткий способ проверить запись диска - пописать в него с принудительной синхронизацией и глубиной очереди 1 (=журнальный режим; fio --ioengine=libaio --sync 1 --direct=1 --name=test --bs=4k --iodepth=1 --readwrite=write --runtime 60 --filename=/dev/sdXX)

--

По поводу "шаринга" Pcie-lanes. Мне неизвестно как подобное может реализовываться. Pcie-lane используется в режиме "точка-точка". То есть соединяет напрямую устройства (либо устройство и коммутатор).

На любой матплате pcie-линии есть у процессора и у чипсета. (Сколько и каких - смотрите спеку чипсета и проца соответственно).

Дальше начинаются детали. Иногда разъёмов распаяно больше, чем у нас умеет система. Это значит что линий в разъём подано меньше (и в х16 разъёме 4 линии или даже одна) или же есть Pcie-hub (он же - коммутатор).

Соединение проц-чипсет занимает линии. Соединение проц-память также занимает линии. Коммутатор - это отдельная микруха, которая стоит денег. Просто так её никто не ставит.

И дальше есть вопрос топологии - не все линии одинаково полезны (линии от процессора с ТЗ процессора лучше, так как меньше задержка) а самые "плохие" - линии из хаба, потому как до процессора (который данные и молотит) ехать дольше всего.

Но я на геймерских платах не видел хабов вообще :)

К какому коммутатору (устройству) подключен какой разъём - есть вопрос. Каждый производитель решает это по-своему.

Соответственно, можно стать жертвой маркетолога и использовать х16 дырку в режиме х1 - но это значит что кто-то не ходил в биос и не настраивал ничего и хорошо бы почитать матчасть :)

С м.2 налажать по линиям невозможно.

1 23

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий