Мы планируем построить машину для воспроизведения в реальном времени с использованием Linux и RAID (5 или 10). Текущая настройка выглядит так:
Я запустил Bonnie ++ и iozone, чтобы провести тест с разными настройками рейда (5 и 10), с другим типом fs (ext4 и xfs) и разным размером полосы. К сожалению, кажется, что я не могу получить желаемую скорость (всегда <200 МБ / с).
Другой тест, который я провел, был непосредственно в программе воспроизведения (RV - http://www.tweaksoftware.com/products/rv), но не смог заставить его играть со скоростью более 20 кадров в секунду (ищу 24 кадра в секунду) с более чем 3 последовательностями.
Эти детали воспроизведения немного бесполезны, я просто хочу знать, что было бы лучше всего, чтобы получить что-то вроде скорости чтения ~ 700 МБ / с? Является ли это возможным?
Я читал совсем немного, вроде бы аппаратный контроллер мог бы быть лучше. Также я полагаю, что 7200 об / мин недостаточно. 10 или 15к может быть лучше? А как насчет SSD?
У меня есть еще одно ограничение, связанное с этим проектом: эта машина будет хранить все последовательности для всех проектов, поэтому плотность имеет значение (я уверен, что получить такой же объем хранилища с SSD-дисками будет намного дороже, чем у стандартного диска 10k об / мин).
Мы будем благодарны за любые предложения или советы, чтобы получить лучшую скорость чтения / объем памяти.
Спасибо!
Редактировать: Просто наткнись на это http://www.fusionio.com/products/iodrive/. У кого-нибудь есть опыт работы с этой картой?
Если вам нужно иметь возможность поддерживать несколько последовательных потоков, вам понадобится либо набор действительно быстрых дисков (15 КБ), либо пара слитных карт ввода-вывода или другие твердотельные накопители корпоративного класса. Чем быстрее диски, тем лучше, потому что даже эти видеофайлы находятся на диске последовательно, как только вы начинаете потоковую передачу двух или более из них, это теперь случайная рабочая нагрузка, с которой ОЧЕНЬ трудно справиться жестким дискам. Особенно, если у вас их 3 или больше.
Если вам нужно обрабатывать видеопотоки, вам нужно кое-что получить путь лучше, чем вы указали. Даже если у вас достаточно дисков SATA для получения желаемой пропускной способности 700 МБ / с (что должно быть легко выполнимо на современном оборудовании потребительского класса), у вас могут возникнуть серьезные проблемы с задержкой.
Что хорошего в вашем решении для хранения, если вы можете разогнать даже 1 ГБ / с, но для выполнения каждого ввода-вывода требуется около 500 мс? Вы говорите о видео, поэтому вам нужно что-то, что может обеспечить достаточный ввод-вывод, чтобы позаботиться о вашей максимальной задержке в 40 мс (25 кадров в секунду) для извлечения ваших кадров.
Возможно, вы также захотите взглянуть на специализированные файловые системы для приложений потокового видео. Hitachi Data Systems (HDS) продает один, например, также XFS имеет расширение реального времени, которое было разработано для мультимедийных приложений.
Аппаратный рейд получит больше выгоды от чтения от raid1, чем от raid5, но программный рейд IIRC не увидит выгоды от чтения. Кто-нибудь поправит меня, если мои знания о mdadm устарели.
Ищите крупных поставщиков систем хранения, таких как EMC, IBM или даже Dell. У них будут статьи о размерах решений для хранения на своих сайтах, а иногда даже простые веб-приложения для этого. Очевидно, они хотят продавать вам вещи, но вы можете использовать их страницы размеров, чтобы определить, сколько дисков с какой скоростью они предлагают, чтобы получить желаемую пропускную способность.
Наилучшая общая производительность чтения для того же количества и типа жестких дисков будет без массивов, но ваше программное обеспечение должно учитывать эту конфигурацию.
один жесткий диск 7200 об / мин дает 80–120 МБ / с при последовательном вводе-выводе.
В вашем случае для достижения 700 МБ / с вам потребуется 700/80 = (8,75) = 9 жестких дисков. Чтобы добавить избыточность, вам понадобится 18 жестких дисков в конфигурации RAID10. с дисковой полкой и контроллером он будет стоить около 4000 долларов.
С SSD вы можете получить 200-300 МБ / с с одним диском SATA. чтобы получить 700, вам понадобится RAID10 из 6 твердотельных накопителей SATA. Цена будет около 3000 долларов (но у вас будет меньше места на диске, чем с HDD)
Карта FusionIO способна обеспечить скорость 700 МБ / с, но только при наличии нескольких потоков ввода-вывода. Согласно тестам, одиночный поток будет получать 140–150 МБ / с.