-1

Мне нужна скорость записи данных ~ 1 ГБ / сек в течение ~ 1 часа. Данные поступают через этот фрейм-граббер PCIe x4. Мне нужно передать всю его пропускную способность на диск.

У меня нет опыта работы с RAID, но, насколько я могу судить, RAID 0 с максимально возможным количеством оборотов в минуту - это ответ. Я также понял, что дискретные RAID-контроллеры намного быстрее и надежнее, чем любые встроенные в материнские платы.

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

  • RAID-контроллер: LSI MegaRAID 9280-16i4e
  • Жесткие диски: 11x Western Digital Black Caviar 2 ТБ SATA III 7200 об / мин, 64 МБ
  • Кабели: 3ware CBL-SFF8087OCF-10M SFF-8087 Серийный ATA Разветвительный кабель
  • Материнская плата: Gigabyte GA-Z77X-UD3H LGA 1155 Intel Z77
  • Источник питания: Silverstone Strider Gold Evolution SST-ST1200-G 1200 Вт v2.3 80 PLUS GOLD
  • Корпус: Rosewill RSV-L4411 4U, 12 отсеков для горячей замены

Мой вопрос: как мне добиться максимальной устойчивой производительности последовательной записи на диск?

Хороший ответ будет касаться следующего:

  • Какие функции / спецификации мне нужно искать в RAID-контроллере и жестких дисках для самой быстрой последовательной записи?
  • Будет ли скорость записи не зависеть от процессора? (IE, как я могу обеспечить использование DMA?) Есть ли способ для пути данных даже обойти ОЗУ? Будет ли иметь значение Quad vs двухканальная RAM?
  • Есть ли какие-либо узкие места на материнской плате, то есть мосты север / юг? Если так, то как бы я обнаружил / избежал такой проблемы?
  • В последовательной последовательной записи релевантны ли какие-либо кэши (на контроллере, жестких дисках, процессоре и т.д.)?
  • Как убедиться, что блок питания подходит для всех этих дисков? Я понимаю, что мне, возможно, придется что-то беспокоиться о силовых нагрузках на рельсах? Будут ли недостатки здесь проявляться как проблемы с производительностью / случайные сбои, или это будет просто работать / не работать?
  • Тот же вопрос, что и выше, в отношении охлаждения.
  • Будет ли преимущество в использовании внешнего диска? Соединение с ними налагает узкое место?
  • Какие настройки BIOS важны для этого приложения? AHCI и т.д?
  • Какая файловая система лучше? Все драйверы камеры / фрейм-граббера - Windows, поэтому я застрял в win7. Я предполагаю, что 64 против 32 бит улучшит пропускную способность?
  • Какой тюнинг я должен ожидать сделать?

Предыдущая версия этого вопроса была удалена за "слишком широкую":

«Есть слишком много возможных ответов, или хорошие ответы будут слишком длинными для этого формата. Пожалуйста, добавьте детали, чтобы сузить набор ответов или выделить проблему, на которую можно ответить в нескольких параграфах. "

Но мой вопрос очень специфичен, представляет общий интерес, и я привел детали, которые позволяют дать эффективный ответ в одном абзаце, а не в «целой книге». Все мои подробные вопросы просто гарантируют, что ответы являются исчерпывающими относительно потенциальных узких мест, которые должны быть затронуты кем-то для этой единственной проблемы: быстрых последовательных последовательных записей. Никому не было бы полезно разбить вопрос на 32 отдельных вопроса, как предложил пользователь 50-3. Вот пример ответа, который показывает форму того, что я ожидаю (я понятия не имею, верна ли фактическая информация, это мое лучшее предположение):

  • RAID 0 с дисками с высоким числом оборотов в минуту - это действительно способ обеспечить наиболее быструю непрерывную последовательную запись (при условии, что вы используете режим потокового захвата фрейм-граббера). SSD не годятся для этого, потому что они резко замедляют время записи с использованием из-за обработки, требуемой для "выравнивания" (предотвращая использование одного местоположения больше, чем других).
  • Чтобы поддерживать 1 ГБ / с в течение неопределенного времени, вам нужно> 3 7200 об / мин дисков SATA 6 Гбит / с (6 Гбит / с * 1/8 ГБ / ГБ = 0,75 ГБ / с / диск без запаса). Большее количество дисков будет линейно увеличивать запас пропускной способности, но насыщать после ширины данных вашей шины (32 или 64).
  • SATA - самая экономичная технология HDD, SAS не имеет заметных преимуществ для быстрой последовательной записи. SAS лучше для поиска времени в случайных местах и надежности. Более быстрое число оборотов в SAS увеличило бы скорость последовательной записи, но этому препятствует меньшая плотность / емкость.
  • Любые достойные драйверы для фрейм-грабберов / RAID-карт используют DMA (те, о которых вы упоминаете), поэтому процессор не имеет значения. Путь данных всегда будет включать системную память. Запись на диск будет намного медленнее, чем в вашей оперативной памяти, поэтому вам не нужно ничего экзотического (подойдет любой DDR3). Объем оперативной памяти (и размер кэшей на контроллере, жестких дисках, процессоре) не имеет значения, поскольку буферы быстро заполняются во время длительной записи.
  • Северный / южный мост на любой материнской плате PCIe 2.0 не будет узким местом. Все, что вам нужно, - это отдельный RAID-контроллер> = PCIe 2.0, в котором достаточно подключений SATA для ваших накопителей. Внешние подключения к корпусу являются узким местом только в том случае, если используются расширители, из-за которых диски совместно используют пропускную способность. Вам нужна карта с большим количеством линий PCIe, чем 4 на фрейм-граббере, поэтому шина PCIe не будет узким местом. 9280 будет в порядке, но это слишком много для вашей цели; 9240 8i будет меньше, чем половина стоимости и адекватной. Контроллеры LSI являются одними из самых дорогих, но имеют тенденцию быть быстрее / надежнее / меньше хлопот во время устранения ошибок, чем более дешевые бренды Highpoint / Areca.
  • Вам нужен блок питания с достаточной мощностью для всех ваших приводов и контроллера (9280 потребляет 15 Вт, а каждый WD - 10 Вт). Каждый диск имеет пиковое потребление тока ~ 1А, и вам необходимо ограничить число в каждой цепи ("рейке") блока питания. 1200G имеет одну шину с 100A, поэтому у вас не будет проблем. Перерасход будет отображаться как случайные сильные сбои (возможно повреждение дисков и других компонентов), так же как и при перегреве.
  • Охлаждение, встроенное в корпус с 12 отсеками для горячей замены, должно быть достаточным для почти постоянных нагрузок непоследовательных чтений, которые выделяют больше тепла, чем ваши последовательные записи. Чтобы убедиться, что вам не нужно дополнительное охлаждение, следите за температурой (google HDDTemp) после многих минут непрерывной записи.
  • AHCI - единственная настройка BIOS, относящаяся к быстрой последовательной записи (также включите SMART). Установите оба из них перед установкой Windows.
  • Файловая система Windows NTFS будет в порядке (альтернативы нет в любом случае).
  • У вас будет лучшая производительность последовательной записи с win64 по сравнению с win32, потому что пропускная способность DMA для контроллера raid будет в два раза больше.
  • Вам не нужно делать никаких настроек; размер блока по умолчанию и т. д., установленный вашим raid-контроллером, должен быть адекватным. Большие блоки будут быстрее, но более подвержены коррупции и не нужны.

Если вы по-прежнему считаете этот вопрос «слишком широким», пожалуйста, укажите точно, почему, и предложите, как его можно сузить, при этом предоставляя исчерпывающий ответ людям, заинтересованным в достижении максимальной устойчивой производительности последовательной записи. Этот вопрос относится к Superuser больше, чем к Serverfault, потому что он не относится к корпоративным ИТ.

1 ответ1

4

Вы составили очень длинный список, на который я не собираюсь отвечать один за другим. Однако я хочу прояснить эти вещи:

1) PCI не может поддерживать эти скорости. PCI Express может, это совершенно другая технология с двухточечными соединениями (называемыми линиями) вместо общей шины. Карта, к которой вы привязаны, называется «PCIe x4». Дополнительное e очень актуально.

2) Полосы (RAID 0, RAID10 и т.д.) Вполне возможны. Либо с десяток высокопроизводительных дисков. Или вы можете использовать обычные диски. Офисный угловой магазин, оснащенный стандартным жестким диском SATA 7200 об / мин, будет работать со скоростью около 100 МБ / с. Таким образом, вам понадобится по крайней мере дюжина из них (поскольку вещи никогда не будут достаточно совершенными).

3) Будут работать HW RAID, программный RAID и Fake RAID (программный RAID с поддержкой BIOS, например, Intel IRSST).

Программный RAID не рекомендуется, если вы не выполняете много вычислений (например, RAID6) и вам нужна высокая производительность или медленный процессор.

Аппаратный RAID будет отличаться. Хорошая HW RAID-карта это здорово. Плохой может работать довольно плохо по сравнению с хорошим решением SW RAID. Хорошему HW RAID часто требуется кэш с резервным питанием от батареи или флэш-память для включения быстрых режимов.

4) SATA II или III (3,0 или 6,0 ГБ / с) или SAS 3 ГБИТ / с, SAS 6 ГБИТ SEC, ... не имеет значения. И отдельный вращающийся диск не пропитает ни одну из этих ссылок. Нынешние потребительские диски SATA работают с максимальной скоростью около 100 МБ / с. Высокопроизводительные корпоративные диски SAS могут получать до 200 МБ / с. Обе скорости ниже, чем 3,0 ГБ / с.

5) RAID0 не очень безопасен. Если один диск выходит из строя, вы теряете все. Это может быть приемлемо, если вам просто нужно что-то проверить и сохранить данные. И они немедленно сохраняют это где-нибудь безопасное, чтобы обработать это. Однако чем больше дисков вы используете, тем больше дисков может выйти из строя.

RAID обычно связан с избыточностью. RAID0 нет, речь идет исключительно о производительности.

6) И, наконец, для полноты картины: SSD по сути не плох для этого. Для этого большого количества данных они будут дороги и, возможно, не нужны, но SSD не нужно замедлять. Просто полностью вытрите SSD (например, удалите все разделы или удалите его), прежде чем добавить его в массив записи. Как только он заполнится, он может замедлиться. Но правильно подготовьте его и запустите для одного сеанса, и все должно быть в порядке.

7)

AHCI - единственная настройка BIOS, относящаяся к быстрой последовательной записи (также включите SMART).

Вы не можете включить или выключить SMART. Он всегда включен на диске. Опция в BIOS просто означает «читать SMART-данные дисков при выполнении POST, а если что-то не так, предупредить пользователя. Обычно с одной строкой, такой как «SMART: DISK FAILURE IMMINENT. Нажмите F1, чтобы продолжить!». Это не влияет на производительность.

Установите оба из них перед установкой Windows.

Для стабильной работы: установите ОС на свой диск. Храните отдельные тома для ОС и для данных.

8)

Чтобы поддерживать 1 ГБ / сек неограниченно, вам нужно> 3 7200 об / мин дисков SATA 6 Гбит / с (6 Гбит / с * 1/8 ГБ / ГБ = 0,75 ГБ / сек / без места).

Нет.

Накопитель SATA со скоростью передачи данных 6 Гбит / с сможет передавать примерно 300 МБ / с между диском и контроллером / картой RAID. (6.0 делится на 8 для битов в байтах, но есть также некоторые издержки и /10 более реалистично).

Во-вторых, накопитель сможет получать данные довольно быстро, но запись его на диск будет выполняться медленнее. Реальным значением для современного диска SATA 7200 об / мин является скорость записи 100 МБ / с.

Это означает, что вам нужно как минимум 10 таких дисков. И только если все отлично масштабируется.

Большее количество дисков будет линейно увеличивать запас пропускной способности, но насыщать после ширины данных вашей шины (32 или 64).

Правда для PCI. Но, несмотря на написание PCI, OP означал PCI-e, который намного быстрее. 4 полосы PCI-e v2 - до 10 Гбит / с. Этого должно быть достаточно (хотя запас мощности невелик).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .