двухпроцессорный сервер и 24 NVMe накопителя в нём.
Сколько требуется ядер процессора для работы всех накопителей на максимально возможной скорости?
да хрен его знает. samsung 980 pro не выдаёт максимальный IOPS в сентетических тестах на 4-х ядрах 8 потоках. то есть все 4 ядра грузятся в 100% а IOPS не тот, который бы хотелось бы
На 24 накопителя нужно от 96 до 192 линий PCI-E
Ответ банально простой: на каждый накопитель требуется одно процессорное ядро. Например у нас сервер 2Uи в нем 24 накопителя - потребуется только 24 ядра на обеспечение работы накопителей, для достижения максимальной производительности с накопителями
И да, этот ответ — полная и абсолютная херня. Вы рассуждаете о вещах, в которых непонимаете строго ничего.
Это почему я ничего не понимаю? Объясните мне тогда как работает сервер на аппаратном уровне.
Проверил календарь. Вроде не пятница.
Конкретно в случае nvme — процэссор формирует поток команд для nvme в памяти, и отправляет ссылку на них диску. Диск отрабатывает команды, и рапортует о завершэнии прерыванием. Если писать всё в рамках спорта высоких достижэний — то эти акторы будут работать со скоростью памяти практически без занятия процэссора. А если перейти к реалистичным задачам, а не к спортивным — то мало какая задача сейчас можэт прямо так взять, и одним ядром нагрузить 3.5 гигабайта в секунду NVMe. Вот постгрес, допустим — не можэт почти никак, дажэ если всё там по индэксу ищется. Потому теоретически — все эти 24 NVMe загружаются некоторой частью одного ядра, притом не очень сложным кодом. А практически — два процэссора во-первых скорее всего не будут иметь шыну на 24 NVMe, во-вторых — задача всё равно окажэтся CPU-bound, без большых вопросов к IO.
Но мы наблюдаем дерьмо в случае синхры ут и бух при таком железе
Спасибо. Я почитаю информацию...
Обсуждают сегодня