Мне нужна скорость записи данных ~ 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, потому что он не относится к корпоративным ИТ.