Один терабайт видео в час - сетевые ограничения?
Предположим, что в час пик есть 100000 пользователей, которые хотят смотреть видео, и что в среднем они потребляют 10 мегабайт на просмотр видео. Может быть больше, может быть меньше. Для простоты, скажем, 1 терабайт должен быть подан в этот час. Это обеспечило бы постоянную скорость 2222 мегабит в секунду.
Видео не нужно передавать с помощью специальных инструментов, мы планируем использовать псевдопоток nginx/lighttpd. Так как они дорогие по такой цене, мы не хотим использовать CDN.
Сколько серверов нам нужно (только для сетевого трафика), если говорить в терминах четырехъядерных серверов Xeon с подключением 1 Гбит / с? Какой максимум на гигабитном соединении?
Редактировать:
Чтобы дать вам более подробную информацию: в этот час пик, возможно, есть дюжина видео, которые доступны. Фактический HTML-код, содержащий проигрыватель и т. Д., Записывается в кэше. У нас уже было столько трафика, так что эта часть работает. Нам "просто" нужно сделать это с видео сейчас, не увеличивая расходы.
1 ответ
Один четырехъядерный процессор Xeon с одним сокетом и сетевым адаптером 10 Гбит / с на базе PCIe x8 сможет легко обеспечить пропускную способность 2,2 Гбит / с, используя Windows или Linux, без проблем. Конечно, это если у вас полоса пропускания более 1 Гбит / с - вы ограничиваете себя в этом сценарии, имея только 1 Гбит / с, так что это стена, на которую вы попадете.
Сложный бит приходит, если эти 100 тыс. Просмотров приходят из библиотеки тысяч видеоклипов, так как именно эта часть хранилища должна идти в ногу с цепочкой CPU/bus/NIC.
Таким образом, это отвечает на этот вопрос, но теперь вы должны сообщить нам метрики хранилища, и мы можем поработать над этим для вас.
- общий объем памяти
- Макс. номер видео
- минимальный / средний / максимальный размер видео
- в идеале используется кодекс / с
- память на сервере
- Характер этих 100 000 игр - то есть разделение на количество сохраненных видео