Как смоделировать высокую полезную нагрузку видео для тестирования SSD?
Я пытаюсь оценить некоторые SSD для варианта использования видео по запросу. Мы провели несколько тестов на них, но нам хотелось бы получить представление о количестве видеопотоков, которые они могут поддерживать, с помощью более реалистичного нагрузочного теста, чем обычные инструменты тестирования.
Пока что я сделал это:
- заполнить SSD файлами фильмов
- удаленно смонтировать этот SSD на других серверах
- запустите сценарий с этих других серверов, который случайным образом запускает группу VLC в цикле на одном из этих файлов. (Примечание: экземпляры VLC работают с опциями
--vout dummy --aout dummy --codec dummy
чтобы он постоянно запрашивал файл, но не декодировал его, чтобы сэкономить на процессоре)
У меня также есть приставка, которая декодирует с того же SSD. Идея состоит в том, чтобы увидеть, сможем ли мы визуально заметить, когда производительность SSD начинает падать.
Я получаю приличные результаты, но главная проблема заключается в том, что нагрузка на серверы достигает предела (в диапазоне 700-800 с 10-12 ГБ ОЗУ) в количестве потоков, которые они могут захватить. Похоже, что это происходит из-за большого количества обменов, происходящих одновременно, толкая iowait
высоко в небе и делает сервер почти безразличным.
Короче говоря, мои вопросы:
- эта настройка имеет смысл?
- Можете ли вы придумать другой способ сделать это?
- Вы можете думать о твиках, чтобы серверы нагрузки не реагировали на запросы после определенного количества потоков? (Я немного поиграл с
/proc/sys/vm/swappiness
но, похоже, ничего не изменилось)
Спасибо,
Тим
2 ответа
Я работаю с видео по требованию, и ничто не может заменить написание кода, который точно отображает реальные характеристики воспроизведения. Мы написали тот, который мы называем "VODBasher", он использует точный транспортный механизм, который мы действительно используем на реальной платформе, и мы запускаем его из реальных мест повсюду. Это помогло нам понять, где мы увидим проблемы, а где нет. Все остальное - шутки.
Кажется вполне разумным, что на самом деле вам не хватит оперативной памяти на ваших "нагрузочных серверах" (действующих в этом сценарии в качестве клиентов) с 700-800 копиями VLC. Это просто 12-17 МБ оперативной памяти, используемой для каждого экземпляра, и там ваши 10-12 ГБ. (Так что неудивительно, что подстройка подкачки не продвинет вас слишком далеко).
Есть ли какая-то конкретная причина действительно загружать фильм с помощью vlc (даже с фиктивным выводом), а не просто сбрасывать его в /dev/null
?