В настоящее время моя установка - это 1 главный сервер, на котором хранятся все видео mp4, и 3 других сервера, на которых хранятся части этого видео. Процесс таков: когда пользователь загружает видео, оно сохраняется на главном сервере, а затем синхронизируется (rsync) на одном из трех серверов. Таким образом, главный сервер действует как сервер хранения для синхронизации этих видео с соответствующими серверами. На подчиненных серверах установлено 12 жестких дисков с конфигурацией raid 10. Максимальная пропускная способность достигает 2 Гбит / с на каждый сервер на выделенной линии 10 Гбит / с. Я считаю, что это узкое место жесткого диска, потому что мой iowait увеличивается до 40% в часы пик. Когда жесткие диски настроены на 2048 опережающих чтений, я могу поддерживать iowait ниже 5%.
Я планирую заменить жесткие диски на твердотельные, но отказаться от настройки рейда. Вместо этого используйте кучу SSD для каждого сервера. Будет ли это лучше, чем моя установка для рейда 10? в настоящее время только 7200 жестких дисков. Другой вопрос, почему установка упреждающего чтения жесткого диска на 2048 так сильно снижает iowait и не влияет на всю пропускную способность? он по-прежнему в среднем такой же или даже лучше, чем чтение вперед со значением по умолчанию 128 КБ.
Каждый подчиненный сервер имеет похожие / одинаковые характеристики:
Во-первых, имейте в виду, что канал 10 Гбит / с - это гигабиты, а не гигабайты. Передача 2–2,5 гигабайт в секунду в значительной степени является максимальной для объединенного двойного канала 10 Гбит / с. Я собираюсь продолжить отвечать на вопрос, предполагая, что это не так, и вы имели в виду, что вы не получаете полную пропускную способность по сети.
Вы должны получить достаточную пропускную способность на конце подчиненного сервера с таким количеством дисков в рейде 10. Убедитесь, что ваш аппаратный контроллер поддерживает 3 Гбит / с для используемых вами дисков (вы не хотите ограничиваться 1,5 Гбит / с или меньше) и что интерфейс контроллера работает на полную полосу пропускания (я видел, что слоты PCIe ограничены до x4, когда карта поддерживает x8).
У вас довольно хороший объем оперативной памяти на каждом подчиненном сервере. Вы можете рассмотреть возможность создания большого RAM-диска (75-100 ГБ) и копирования на него данных в качестве тестового примера. Если вы получаете аналогичные скорости передачи, значит, подчиненные серверы не виноваты; вам нужно больше скорости чтения на главном сервере. В этом может помочь 4 или 6 SSD raid 10 на этом сервере.
Если вы хотите перейти на твердотельные накопители, вам также следует убедиться, что ваш контроллер будет работать со скоростью до 6 ГБ / с на диск.