SlideShare una empresa de Scribd logo
1 de 23
Descargar para leer sin conexión
Вещание видео
на 10 гбит/с
Макс Лапшин,
CTO Flussonic LLC.

Sunday, October 27, 13
Стриминг видеофайлов
•
•
•
•
•
Sunday, October 27, 13

Пользователь хочет посмотреть видео
Надо показать ему в реальном времени
Пользователь хочет управлять просмотром
Уникальные данные для каждого пользователя
Для каждого из 10 000 пользователей онлайн
Седая древность в IPTV
•
•
•
•
•
Sunday, October 27, 13

Constant bitrate
каждая секунда — фиксированное количество байт
легкая перемотка и т.п.
планирование capacity сервиса (на всех 50 абонентов)
многие так живут до сих пор
Хайтек от IPTV (RTSP)
•
•
•
•
Sunday, October 27, 13

Контроль по TCP с поддержкой реконнекта
Данные по UDP с возможностью ретрансмита
Энтерпрайзно и неподъёмно
Доживает свой век у 3G операторов
Псевдостриминг
•
•
•
•
•
•
Sunday, October 27, 13

variable bitrate в видео и аудио
примитивный flv контейнер и ещё примитивнее flash player
mod_flv в nginx — основное средство вещания
никакого мультибитрейта или мультиязыка
примитивное управление проигрыванием
популярно и сегодня (весь «html5 video»)
Хайтек от Адоби (RTMP)
•
•
•
•
•
Sunday, October 27, 13

Закрытый недокументированный протокол

Не получилось ничего

Попытка решить и риалтайм доставку и широковещание
Сумрачный индусский гений придумал делать уникальный поток
для каждого пользователя

Адоб закрыли программу RTMP, но не все ещё догадались
Потребности сегодня
•
•
•
•
Sunday, October 27, 13

FullHD, а следовательно и мультибитрейт
Выбор языков, субтитров. За что и любим torrents.ru
Управление проигрыванием (пауза, перемотка и т.п.)
3D, больше FPS и т.п.
Возможности сегодня
•
•
•
•
Sunday, October 27, 13

Процессоры за 5 лет особо быстрее не стали
Подешевели 10G линки (до 200 тыс рублей в месяц)
SSD бегут по планете и спотыкаются об трупы HDD
Стремительный переход на HTTP стриминг (HDS/HLS)
Экономика проблемы
•
•
•
•
•
Sunday, October 27, 13

1G линк — 25 000 рублей в месяц
10G линк — 200 000 рублей в месяц
сервер — 10-20 000 рублей в месяц
каждый сервер требует обслуживания
больше линков, меньше серверов
Цифры при 10G вещании
•
•
•
•
Sunday, October 27, 13

1 мбит/с контент
10 000 онлайн пользователей
5 000 запросов в секунду за 200 Кб сегментами
ощущаются проседания на международных каналах
Проблемы с железом
•
•
•
•
Sunday, October 27, 13

дисковая подсистема
сетевая подсистема
процессор
память
Память
•
•
•
•
Sunday, October 27, 13

Под кеш всё равно не хватит
LRU пищит и всё портит
Изредка влезает самый свежак, но всё ломает LRU
32 Гб за глаза хватает под сетевые буферы
Процессор
•
•
•

Sunday, October 27, 13

Хватит масштабироваться, работать надо
Гигагерцы лучше ядер
Одного процессора хватает для чтения, перепаковки, посылки и
учета пользователей на 10 Гбит/с
Сеть
•
•
•

Sunday, October 27, 13

Intel, как будто бы есть другие варианты
Самые свежие драйвера
Балансировка прерываний по ядрам
Диски
•
•
•
•
•
Sunday, October 27, 13

Основная нагруженная часть
10 Гбит без SSD не потянуть, но HDD дешевле
Лучше меньше да больше: у SSD есть предел скорости
Аппаратные рейды оставьте продавцам
Спасибо Unix за удобное управление очередью диска
Проблемы с софтом
•
•
•
•
•
Sunday, October 27, 13

Псевдостриминг дает перерасход трафика до 30%
Для переключения контента нужен стриминг, причем HTTP
HDS/HLS для флеш-плеера и остальных
Предсегментация ломает префетч и перерасходует диск
Сегментация на лету — вариант
Выбранные решения
•
•
•
•
•
•
Sunday, October 27, 13

JBOD HDD для хранения контента
или HTTP сетевое хранилище (Swift)
SSD для промежуточного кеша
старые новые рекомендации по упаковке mp4
сегментация на лету
постоянный самоконтроль
Flussonic
(эрливидео)

•
•
•
•
Sunday, October 27, 13

Быстрое mp4 чтение: распаковка индекса только на лету
Никакого покадрового чтения: только GOP
Агрегация дисковых запросов
Контроль за использованием ресурсов
Дисковое чтение
•
•
•
•
Sunday, October 27, 13

Открытый файл держит в памяти весь moov (индекс данных)
У каждого файла плавающий пул воркеров на чтение
Все воркеры проходят через единую очередь чтения с диска
На любом запросе может прийти HTTP 503 Overloaded
Нерешенные проблемы
•
•
•
•
Sunday, October 27, 13

Правильное вычисление дискового устройства по имени файла
Автобалансировка между HDD при чтении одного файла
Кластерная балансировка пользователей
40G
Резюме
•
•
•
•
•
Sunday, October 27, 13

Вещание более 2G с сервера стало рентабельным
Старые техники не годятся, нужны новые (HTTP стриминг, SSD)
Новые подходы есть, отлажены и пинают трупы старых
Важно не только работать, но и не перерабатывать
Flussonic (эрливидео) прекрасно справляется
Вопросы?
Макс Лапшин
max@flussonic.com

Sunday, October 27, 13
Sunday, October 27, 13

Más contenido relacionado

La actualidad más candente

РИФ 2016, Tarantool – кейсы использования
РИФ 2016, Tarantool – кейсы использованияРИФ 2016, Tarantool – кейсы использования
РИФ 2016, Tarantool – кейсы использованияТарасов Константин
 
Видео + Конференция. Сетевые технологии ВКС. Стас Солдатов
Видео + Конференция. Сетевые технологии ВКС. Стас СолдатовВидео + Конференция. Сетевые технологии ВКС. Стас Солдатов
Видео + Конференция. Сетевые технологии ВКС. Стас СолдатовTrueConf__
 
Использование Hadoop в Badoo, Валерий Старынин (Badoo)
Использование Hadoop в Badoo, Валерий Старынин (Badoo)Использование Hadoop в Badoo, Валерий Старынин (Badoo)
Использование Hadoop в Badoo, Валерий Старынин (Badoo)Ontico
 
Скорость с доставкой до пользователя
Скорость с доставкой до пользователяСкорость с доставкой до пользователя
Скорость с доставкой до пользователяAnatoliy Orlov
 
Анатомия веб сервиса (HighLoad-2014)
Анатомия веб сервиса (HighLoad-2014)Анатомия веб сервиса (HighLoad-2014)
Анатомия веб сервиса (HighLoad-2014)Andrey Smirnov
 
NVMf: 5 млн IOPS по сети своими руками / Андрей Николаенко (IBS)
NVMf: 5 млн IOPS по сети своими руками / Андрей Николаенко (IBS)NVMf: 5 млн IOPS по сети своими руками / Андрей Николаенко (IBS)
NVMf: 5 млн IOPS по сети своими руками / Андрей Николаенко (IBS)Ontico
 
Twisted Framework - фреймворк для написания сетевых приложений на Python (Анд...
Twisted Framework - фреймворк для написания сетевых приложений на Python (Анд...Twisted Framework - фреймворк для написания сетевых приложений на Python (Анд...
Twisted Framework - фреймворк для написания сетевых приложений на Python (Анд...Ontico
 
Containers in real world презентация
Containers in real world презентацияContainers in real world презентация
Containers in real world презентацияPavel Odintsov
 
Cdn hosting решения для drupal (medium)
Cdn hosting   решения для drupal (medium)Cdn hosting   решения для drupal (medium)
Cdn hosting решения для drupal (medium)DrupalCamp Kyiv Рысь
 
Юрий Насретдинов, Badoo
Юрий Насретдинов, BadooЮрий Насретдинов, Badoo
Юрий Насретдинов, BadooOntico
 
ekbpy'2012 - Данила Штань - Распределенное хранилище
ekbpy'2012 - Данила Штань - Распределенное хранилищеekbpy'2012 - Данила Штань - Распределенное хранилище
ekbpy'2012 - Данила Штань - Распределенное хранилищеit-people
 
Виртуализированные сетевые сервисы на line rate в серверном окружении / Алекс...
Виртуализированные сетевые сервисы на line rate в серверном окружении / Алекс...Виртуализированные сетевые сервисы на line rate в серверном окружении / Алекс...
Виртуализированные сетевые сервисы на line rate в серверном окружении / Алекс...Ontico
 
Платформа для видео сроком в квартал. Александр Тоболь.
Платформа для видео сроком в квартал. Александр Тоболь.Платформа для видео сроком в квартал. Александр Тоболь.
Платформа для видео сроком в квартал. Александр Тоболь.odnoklassniki.ru
 
Как не надо писать приложения, основанные на протоколе TCP (Артём Гавриченков)
Как не надо писать приложения, основанные на протоколе TCP (Артём Гавриченков)Как не надо писать приложения, основанные на протоколе TCP (Артём Гавриченков)
Как не надо писать приложения, основанные на протоколе TCP (Артём Гавриченков)Ontico
 
Кадры решают все, или стриминг видео в «Одноклассниках». Александр Тоболь
Кадры решают все, или стриминг видео в «Одноклассниках». Александр ТобольКадры решают все, или стриминг видео в «Одноклассниках». Александр Тоболь
Кадры решают все, или стриминг видео в «Одноклассниках». Александр Тобольodnoklassniki.ru
 
Cпецкурс 2014, занятие 7. Web-приложения
Cпецкурс 2014, занятие 7. Web-приложенияCпецкурс 2014, занятие 7. Web-приложения
Cпецкурс 2014, занятие 7. Web-приложения7bits
 
Микросервисы: опыт использования в нагруженном проекте / Вадим Мадисон (М-Тех)
Микросервисы: опыт использования в нагруженном проекте / Вадим Мадисон (М-Тех)Микросервисы: опыт использования в нагруженном проекте / Вадим Мадисон (М-Тех)
Микросервисы: опыт использования в нагруженном проекте / Вадим Мадисон (М-Тех)Ontico
 
Как собирать gps треки раз в секунду, экономя траффик
Как собирать gps треки раз в секунду, экономя траффикКак собирать gps треки раз в секунду, экономя траффик
Как собирать gps треки раз в секунду, экономя траффикAndrew Minkin
 

La actualidad más candente (18)

РИФ 2016, Tarantool – кейсы использования
РИФ 2016, Tarantool – кейсы использованияРИФ 2016, Tarantool – кейсы использования
РИФ 2016, Tarantool – кейсы использования
 
Видео + Конференция. Сетевые технологии ВКС. Стас Солдатов
Видео + Конференция. Сетевые технологии ВКС. Стас СолдатовВидео + Конференция. Сетевые технологии ВКС. Стас Солдатов
Видео + Конференция. Сетевые технологии ВКС. Стас Солдатов
 
Использование Hadoop в Badoo, Валерий Старынин (Badoo)
Использование Hadoop в Badoo, Валерий Старынин (Badoo)Использование Hadoop в Badoo, Валерий Старынин (Badoo)
Использование Hadoop в Badoo, Валерий Старынин (Badoo)
 
Скорость с доставкой до пользователя
Скорость с доставкой до пользователяСкорость с доставкой до пользователя
Скорость с доставкой до пользователя
 
Анатомия веб сервиса (HighLoad-2014)
Анатомия веб сервиса (HighLoad-2014)Анатомия веб сервиса (HighLoad-2014)
Анатомия веб сервиса (HighLoad-2014)
 
NVMf: 5 млн IOPS по сети своими руками / Андрей Николаенко (IBS)
NVMf: 5 млн IOPS по сети своими руками / Андрей Николаенко (IBS)NVMf: 5 млн IOPS по сети своими руками / Андрей Николаенко (IBS)
NVMf: 5 млн IOPS по сети своими руками / Андрей Николаенко (IBS)
 
Twisted Framework - фреймворк для написания сетевых приложений на Python (Анд...
Twisted Framework - фреймворк для написания сетевых приложений на Python (Анд...Twisted Framework - фреймворк для написания сетевых приложений на Python (Анд...
Twisted Framework - фреймворк для написания сетевых приложений на Python (Анд...
 
Containers in real world презентация
Containers in real world презентацияContainers in real world презентация
Containers in real world презентация
 
Cdn hosting решения для drupal (medium)
Cdn hosting   решения для drupal (medium)Cdn hosting   решения для drupal (medium)
Cdn hosting решения для drupal (medium)
 
Юрий Насретдинов, Badoo
Юрий Насретдинов, BadooЮрий Насретдинов, Badoo
Юрий Насретдинов, Badoo
 
ekbpy'2012 - Данила Штань - Распределенное хранилище
ekbpy'2012 - Данила Штань - Распределенное хранилищеekbpy'2012 - Данила Штань - Распределенное хранилище
ekbpy'2012 - Данила Штань - Распределенное хранилище
 
Виртуализированные сетевые сервисы на line rate в серверном окружении / Алекс...
Виртуализированные сетевые сервисы на line rate в серверном окружении / Алекс...Виртуализированные сетевые сервисы на line rate в серверном окружении / Алекс...
Виртуализированные сетевые сервисы на line rate в серверном окружении / Алекс...
 
Платформа для видео сроком в квартал. Александр Тоболь.
Платформа для видео сроком в квартал. Александр Тоболь.Платформа для видео сроком в квартал. Александр Тоболь.
Платформа для видео сроком в квартал. Александр Тоболь.
 
Как не надо писать приложения, основанные на протоколе TCP (Артём Гавриченков)
Как не надо писать приложения, основанные на протоколе TCP (Артём Гавриченков)Как не надо писать приложения, основанные на протоколе TCP (Артём Гавриченков)
Как не надо писать приложения, основанные на протоколе TCP (Артём Гавриченков)
 
Кадры решают все, или стриминг видео в «Одноклассниках». Александр Тоболь
Кадры решают все, или стриминг видео в «Одноклассниках». Александр ТобольКадры решают все, или стриминг видео в «Одноклассниках». Александр Тоболь
Кадры решают все, или стриминг видео в «Одноклассниках». Александр Тоболь
 
Cпецкурс 2014, занятие 7. Web-приложения
Cпецкурс 2014, занятие 7. Web-приложенияCпецкурс 2014, занятие 7. Web-приложения
Cпецкурс 2014, занятие 7. Web-приложения
 
Микросервисы: опыт использования в нагруженном проекте / Вадим Мадисон (М-Тех)
Микросервисы: опыт использования в нагруженном проекте / Вадим Мадисон (М-Тех)Микросервисы: опыт использования в нагруженном проекте / Вадим Мадисон (М-Тех)
Микросервисы: опыт использования в нагруженном проекте / Вадим Мадисон (М-Тех)
 
Как собирать gps треки раз в секунду, экономя траффик
Как собирать gps треки раз в секунду, экономя траффикКак собирать gps треки раз в секунду, экономя траффик
Как собирать gps треки раз в секунду, экономя траффик
 

Destacado

Максим Лапшин, Erlyvideo
Максим Лапшин, ErlyvideoМаксим Лапшин, Erlyvideo
Максим Лапшин, ErlyvideoOntico
 
Микросервисы: откуда столько шума?
Микросервисы: откуда столько шума?Микросервисы: откуда столько шума?
Микросервисы: откуда столько шума?Ivan Evtukhovich
 
Там, где Rails не справляются
Там, где Rails не справляютсяТам, где Rails не справляются
Там, где Rails не справляютсяMax Lapshin
 
Pulsedb — система хранения временных рядов
Pulsedb — система хранения временных рядовPulsedb — система хранения временных рядов
Pulsedb — система хранения временных рядовMax Lapshin
 
Развитие DevOps/NoOps инструментов. Что было, что есть, что будет.
Развитие DevOps/NoOps инструментов.  Что было, что есть, что будет.Развитие DevOps/NoOps инструментов.  Что было, что есть, что будет.
Развитие DevOps/NoOps инструментов. Что было, что есть, что будет.Ivan Evtukhovich
 
Flussonic IPTV OTT
Flussonic IPTV OTTFlussonic IPTV OTT
Flussonic IPTV OTTMax Lapshin
 
Rails, Eventmachine, Erlang
Rails, Eventmachine, ErlangRails, Eventmachine, Erlang
Rails, Eventmachine, ErlangMax Lapshin
 
Erlang railsclub - 1
Erlang   railsclub - 1Erlang   railsclub - 1
Erlang railsclub - 1Max Lapshin
 

Destacado (8)

Максим Лапшин, Erlyvideo
Максим Лапшин, ErlyvideoМаксим Лапшин, Erlyvideo
Максим Лапшин, Erlyvideo
 
Микросервисы: откуда столько шума?
Микросервисы: откуда столько шума?Микросервисы: откуда столько шума?
Микросервисы: откуда столько шума?
 
Там, где Rails не справляются
Там, где Rails не справляютсяТам, где Rails не справляются
Там, где Rails не справляются
 
Pulsedb — система хранения временных рядов
Pulsedb — система хранения временных рядовPulsedb — система хранения временных рядов
Pulsedb — система хранения временных рядов
 
Развитие DevOps/NoOps инструментов. Что было, что есть, что будет.
Развитие DevOps/NoOps инструментов.  Что было, что есть, что будет.Развитие DevOps/NoOps инструментов.  Что было, что есть, что будет.
Развитие DevOps/NoOps инструментов. Что было, что есть, что будет.
 
Flussonic IPTV OTT
Flussonic IPTV OTTFlussonic IPTV OTT
Flussonic IPTV OTT
 
Rails, Eventmachine, Erlang
Rails, Eventmachine, ErlangRails, Eventmachine, Erlang
Rails, Eventmachine, Erlang
 
Erlang railsclub - 1
Erlang   railsclub - 1Erlang   railsclub - 1
Erlang railsclub - 1
 

Similar a Видеостриминг на 10 ГБит/с

Особенности передачи и обработки видео данных. Приправа из кодеков или с чем ...
Особенности передачи и обработки видео данных. Приправа из кодеков или с чем ...Особенности передачи и обработки видео данных. Приправа из кодеков или с чем ...
Особенности передачи и обработки видео данных. Приправа из кодеков или с чем ...DotNetConf
 
Devpoint2 video in internet
Devpoint2 video in internetDevpoint2 video in internet
Devpoint2 video in internetMax Lapshin
 
Евгений Потапов, АйТиСумма
Евгений Потапов, АйТиСуммаЕвгений Потапов, АйТиСумма
Евгений Потапов, АйТиСуммаOntico
 
Видео+Конференция 2015: ВКС на миллион зрителей: видеотрансляции, их тонкости...
Видео+Конференция 2015: ВКС на миллион зрителей: видеотрансляции, их тонкости...Видео+Конференция 2015: ВКС на миллион зрителей: видеотрансляции, их тонкости...
Видео+Конференция 2015: ВКС на миллион зрителей: видеотрансляции, их тонкости...TrueConf
 
Колёса: Раньше и сейчас. Как поменять архитектуру высоконагруженного проекта
Колёса: Раньше и сейчас. Как поменять архитектуру высоконагруженного проектаКолёса: Раньше и сейчас. Как поменять архитектуру высоконагруженного проекта
Колёса: Раньше и сейчас. Как поменять архитектуру высоконагруженного проектаITCrowd Almaty
 
HPC file systems (160761)
HPC file systems (160761)HPC file systems (160761)
HPC file systems (160761)Vsevolod Shabad
 
Применение блокчейна в RTB. Можно ли масштабировать децентрализованную базу д...
Применение блокчейна в RTB. Можно ли масштабировать децентрализованную базу д...Применение блокчейна в RTB. Можно ли масштабировать децентрализованную базу д...
Применение блокчейна в RTB. Можно ли масштабировать децентрализованную базу д...Ontico
 
Андрей Николаенко, IBS. NVMf: 5 млн IOPS по сети своими руками
Андрей Николаенко, IBS. NVMf: 5 млн IOPS по сети своими рукамиАндрей Николаенко, IBS. NVMf: 5 млн IOPS по сети своими руками
Андрей Николаенко, IBS. NVMf: 5 млн IOPS по сети своими рукамиIBS
 
Как считать и анализировать сотни гигабит трафика в секунду, Станислав Николо...
Как считать и анализировать сотни гигабит трафика в секунду, Станислав Николо...Как считать и анализировать сотни гигабит трафика в секунду, Станислав Николо...
Как считать и анализировать сотни гигабит трафика в секунду, Станислав Николо...Ontico
 
СХД DEPO Storage 4600 для консолидации данных в современной IT-инфраструктуре
СХД DEPO Storage 4600 для консолидации данных в современной IT-инфраструктуреСХД DEPO Storage 4600 для консолидации данных в современной IT-инфраструктуре
СХД DEPO Storage 4600 для консолидации данных в современной IT-инфраструктуреDEPO Computers
 
Эволюция программно-аппаратного обеспечения хранения фотографий в Badoo / Дми...
Эволюция программно-аппаратного обеспечения хранения фотографий в Badoo / Дми...Эволюция программно-аппаратного обеспечения хранения фотографий в Badoo / Дми...
Эволюция программно-аппаратного обеспечения хранения фотографий в Badoo / Дми...Ontico
 
Окончательное решение вопроса трансляции видео в интернете (Макс Лапшин)
Окончательное решение вопроса трансляции видео в интернете (Макс Лапшин)Окончательное решение вопроса трансляции видео в интернете (Макс Лапшин)
Окончательное решение вопроса трансляции видео в интернете (Макс Лапшин)Ontico
 
Александр Тоболь, "Одноклассники"
Александр Тоболь, "Одноклассники"Александр Тоболь, "Одноклассники"
Александр Тоболь, "Одноклассники"Ontico
 
Системный администратор Vkontakte. Как? / Антон Кирюшкин (Vkontakte)
Системный администратор Vkontakte. Как? / Антон Кирюшкин (Vkontakte)Системный администратор Vkontakte. Как? / Антон Кирюшкин (Vkontakte)
Системный администратор Vkontakte. Как? / Антон Кирюшкин (Vkontakte)Ontico
 
Макс Лапшин Erlyvideo
Макс Лапшин   ErlyvideoМакс Лапшин   Erlyvideo
Макс Лапшин ErlyvideoSiel01
 
Ускоряем и разгружаем веб-сервер, прозрачно кэшируя на SSD, Станислав Николов...
Ускоряем и разгружаем веб-сервер, прозрачно кэшируя на SSD, Станислав Николов...Ускоряем и разгружаем веб-сервер, прозрачно кэшируя на SSD, Станислав Николов...
Ускоряем и разгружаем веб-сервер, прозрачно кэшируя на SSD, Станислав Николов...Ontico
 
Спасение 6 млн файлов в условиях полного хецнера (Даниил Подольский, Дмитрий ...
Спасение 6 млн файлов в условиях полного хецнера (Даниил Подольский, Дмитрий ...Спасение 6 млн файлов в условиях полного хецнера (Даниил Подольский, Дмитрий ...
Спасение 6 млн файлов в условиях полного хецнера (Даниил Подольский, Дмитрий ...Ontico
 

Similar a Видеостриминг на 10 ГБит/с (20)

Особенности передачи и обработки видео данных. Приправа из кодеков или с чем ...
Особенности передачи и обработки видео данных. Приправа из кодеков или с чем ...Особенности передачи и обработки видео данных. Приправа из кодеков или с чем ...
Особенности передачи и обработки видео данных. Приправа из кодеков или с чем ...
 
Devpoint2 video in internet
Devpoint2 video in internetDevpoint2 video in internet
Devpoint2 video in internet
 
Евгений Потапов, АйТиСумма
Евгений Потапов, АйТиСуммаЕвгений Потапов, АйТиСумма
Евгений Потапов, АйТиСумма
 
Видео+Конференция 2015: ВКС на миллион зрителей: видеотрансляции, их тонкости...
Видео+Конференция 2015: ВКС на миллион зрителей: видеотрансляции, их тонкости...Видео+Конференция 2015: ВКС на миллион зрителей: видеотрансляции, их тонкости...
Видео+Конференция 2015: ВКС на миллион зрителей: видеотрансляции, их тонкости...
 
Distributed systems
Distributed systemsDistributed systems
Distributed systems
 
Колёса: Раньше и сейчас. Как поменять архитектуру высоконагруженного проекта
Колёса: Раньше и сейчас. Как поменять архитектуру высоконагруженного проектаКолёса: Раньше и сейчас. Как поменять архитектуру высоконагруженного проекта
Колёса: Раньше и сейчас. Как поменять архитектуру высоконагруженного проекта
 
HPC file systems (160761)
HPC file systems (160761)HPC file systems (160761)
HPC file systems (160761)
 
Hl Nekoval
Hl NekovalHl Nekoval
Hl Nekoval
 
Применение блокчейна в RTB. Можно ли масштабировать децентрализованную базу д...
Применение блокчейна в RTB. Можно ли масштабировать децентрализованную базу д...Применение блокчейна в RTB. Можно ли масштабировать децентрализованную базу д...
Применение блокчейна в RTB. Можно ли масштабировать децентрализованную базу д...
 
Андрей Николаенко, IBS. NVMf: 5 млн IOPS по сети своими руками
Андрей Николаенко, IBS. NVMf: 5 млн IOPS по сети своими рукамиАндрей Николаенко, IBS. NVMf: 5 млн IOPS по сети своими руками
Андрей Николаенко, IBS. NVMf: 5 млн IOPS по сети своими руками
 
Как считать и анализировать сотни гигабит трафика в секунду, Станислав Николо...
Как считать и анализировать сотни гигабит трафика в секунду, Станислав Николо...Как считать и анализировать сотни гигабит трафика в секунду, Станислав Николо...
Как считать и анализировать сотни гигабит трафика в секунду, Станислав Николо...
 
СХД DEPO Storage 4600 для консолидации данных в современной IT-инфраструктуре
СХД DEPO Storage 4600 для консолидации данных в современной IT-инфраструктуреСХД DEPO Storage 4600 для консолидации данных в современной IT-инфраструктуре
СХД DEPO Storage 4600 для консолидации данных в современной IT-инфраструктуре
 
Эволюция программно-аппаратного обеспечения хранения фотографий в Badoo / Дми...
Эволюция программно-аппаратного обеспечения хранения фотографий в Badoo / Дми...Эволюция программно-аппаратного обеспечения хранения фотографий в Badoo / Дми...
Эволюция программно-аппаратного обеспечения хранения фотографий в Badoo / Дми...
 
Окончательное решение вопроса трансляции видео в интернете (Макс Лапшин)
Окончательное решение вопроса трансляции видео в интернете (Макс Лапшин)Окончательное решение вопроса трансляции видео в интернете (Макс Лапшин)
Окончательное решение вопроса трансляции видео в интернете (Макс Лапшин)
 
Александр Тоболь, "Одноклассники"
Александр Тоболь, "Одноклассники"Александр Тоболь, "Одноклассники"
Александр Тоболь, "Одноклассники"
 
apparatnoe_obespechenie
apparatnoe_obespechenieapparatnoe_obespechenie
apparatnoe_obespechenie
 
Системный администратор Vkontakte. Как? / Антон Кирюшкин (Vkontakte)
Системный администратор Vkontakte. Как? / Антон Кирюшкин (Vkontakte)Системный администратор Vkontakte. Как? / Антон Кирюшкин (Vkontakte)
Системный администратор Vkontakte. Как? / Антон Кирюшкин (Vkontakte)
 
Макс Лапшин Erlyvideo
Макс Лапшин   ErlyvideoМакс Лапшин   Erlyvideo
Макс Лапшин Erlyvideo
 
Ускоряем и разгружаем веб-сервер, прозрачно кэшируя на SSD, Станислав Николов...
Ускоряем и разгружаем веб-сервер, прозрачно кэшируя на SSD, Станислав Николов...Ускоряем и разгружаем веб-сервер, прозрачно кэшируя на SSD, Станислав Николов...
Ускоряем и разгружаем веб-сервер, прозрачно кэшируя на SSD, Станислав Николов...
 
Спасение 6 млн файлов в условиях полного хецнера (Даниил Подольский, Дмитрий ...
Спасение 6 млн файлов в условиях полного хецнера (Даниил Подольский, Дмитрий ...Спасение 6 млн файлов в условиях полного хецнера (Даниил Подольский, Дмитрий ...
Спасение 6 млн файлов в условиях полного хецнера (Даниил Подольский, Дмитрий ...
 

Más de Max Lapshin

Code generation in Erlang
Code generation in ErlangCode generation in Erlang
Code generation in ErlangMax Lapshin
 
Erlang for Yandex
Erlang for YandexErlang for Yandex
Erlang for YandexMax Lapshin
 
Что и почему писать на Erlang
Что и почему писать на ErlangЧто и почему писать на Erlang
Что и почему писать на ErlangMax Lapshin
 
Erlyvideo — сервер потокового видео.
Erlyvideo — сервер потокового видео.Erlyvideo — сервер потокового видео.
Erlyvideo — сервер потокового видео.Max Lapshin
 
Отличие Erlang от объектных языков
Отличие Erlang от объектных языковОтличие Erlang от объектных языков
Отличие Erlang от объектных языковMax Lapshin
 
кеширование в бд
кеширование в бдкеширование в бд
кеширование в бдMax Lapshin
 

Más de Max Lapshin (9)

Code generation in Erlang
Code generation in ErlangCode generation in Erlang
Code generation in Erlang
 
Erlang for Yandex
Erlang for YandexErlang for Yandex
Erlang for Yandex
 
Http streaming
Http streamingHttp streaming
Http streaming
 
Erlang&rails
Erlang&railsErlang&rails
Erlang&rails
 
Что и почему писать на Erlang
Что и почему писать на ErlangЧто и почему писать на Erlang
Что и почему писать на Erlang
 
Erlyvideo — сервер потокового видео.
Erlyvideo — сервер потокового видео.Erlyvideo — сервер потокового видео.
Erlyvideo — сервер потокового видео.
 
Отличие Erlang от объектных языков
Отличие Erlang от объектных языковОтличие Erlang от объектных языков
Отличие Erlang от объектных языков
 
Erlyvideo
ErlyvideoErlyvideo
Erlyvideo
 
кеширование в бд
кеширование в бдкеширование в бд
кеширование в бд
 

Видеостриминг на 10 ГБит/с

  • 1. Вещание видео на 10 гбит/с Макс Лапшин, CTO Flussonic LLC. Sunday, October 27, 13
  • 2. Стриминг видеофайлов • • • • • Sunday, October 27, 13 Пользователь хочет посмотреть видео Надо показать ему в реальном времени Пользователь хочет управлять просмотром Уникальные данные для каждого пользователя Для каждого из 10 000 пользователей онлайн
  • 3. Седая древность в IPTV • • • • • Sunday, October 27, 13 Constant bitrate каждая секунда — фиксированное количество байт легкая перемотка и т.п. планирование capacity сервиса (на всех 50 абонентов) многие так живут до сих пор
  • 4. Хайтек от IPTV (RTSP) • • • • Sunday, October 27, 13 Контроль по TCP с поддержкой реконнекта Данные по UDP с возможностью ретрансмита Энтерпрайзно и неподъёмно Доживает свой век у 3G операторов
  • 5. Псевдостриминг • • • • • • Sunday, October 27, 13 variable bitrate в видео и аудио примитивный flv контейнер и ещё примитивнее flash player mod_flv в nginx — основное средство вещания никакого мультибитрейта или мультиязыка примитивное управление проигрыванием популярно и сегодня (весь «html5 video»)
  • 6. Хайтек от Адоби (RTMP) • • • • • Sunday, October 27, 13 Закрытый недокументированный протокол Не получилось ничего Попытка решить и риалтайм доставку и широковещание Сумрачный индусский гений придумал делать уникальный поток для каждого пользователя Адоб закрыли программу RTMP, но не все ещё догадались
  • 7. Потребности сегодня • • • • Sunday, October 27, 13 FullHD, а следовательно и мультибитрейт Выбор языков, субтитров. За что и любим torrents.ru Управление проигрыванием (пауза, перемотка и т.п.) 3D, больше FPS и т.п.
  • 8. Возможности сегодня • • • • Sunday, October 27, 13 Процессоры за 5 лет особо быстрее не стали Подешевели 10G линки (до 200 тыс рублей в месяц) SSD бегут по планете и спотыкаются об трупы HDD Стремительный переход на HTTP стриминг (HDS/HLS)
  • 9. Экономика проблемы • • • • • Sunday, October 27, 13 1G линк — 25 000 рублей в месяц 10G линк — 200 000 рублей в месяц сервер — 10-20 000 рублей в месяц каждый сервер требует обслуживания больше линков, меньше серверов
  • 10. Цифры при 10G вещании • • • • Sunday, October 27, 13 1 мбит/с контент 10 000 онлайн пользователей 5 000 запросов в секунду за 200 Кб сегментами ощущаются проседания на международных каналах
  • 11. Проблемы с железом • • • • Sunday, October 27, 13 дисковая подсистема сетевая подсистема процессор память
  • 12. Память • • • • Sunday, October 27, 13 Под кеш всё равно не хватит LRU пищит и всё портит Изредка влезает самый свежак, но всё ломает LRU 32 Гб за глаза хватает под сетевые буферы
  • 13. Процессор • • • Sunday, October 27, 13 Хватит масштабироваться, работать надо Гигагерцы лучше ядер Одного процессора хватает для чтения, перепаковки, посылки и учета пользователей на 10 Гбит/с
  • 14. Сеть • • • Sunday, October 27, 13 Intel, как будто бы есть другие варианты Самые свежие драйвера Балансировка прерываний по ядрам
  • 15. Диски • • • • • Sunday, October 27, 13 Основная нагруженная часть 10 Гбит без SSD не потянуть, но HDD дешевле Лучше меньше да больше: у SSD есть предел скорости Аппаратные рейды оставьте продавцам Спасибо Unix за удобное управление очередью диска
  • 16. Проблемы с софтом • • • • • Sunday, October 27, 13 Псевдостриминг дает перерасход трафика до 30% Для переключения контента нужен стриминг, причем HTTP HDS/HLS для флеш-плеера и остальных Предсегментация ломает префетч и перерасходует диск Сегментация на лету — вариант
  • 17. Выбранные решения • • • • • • Sunday, October 27, 13 JBOD HDD для хранения контента или HTTP сетевое хранилище (Swift) SSD для промежуточного кеша старые новые рекомендации по упаковке mp4 сегментация на лету постоянный самоконтроль
  • 18. Flussonic (эрливидео) • • • • Sunday, October 27, 13 Быстрое mp4 чтение: распаковка индекса только на лету Никакого покадрового чтения: только GOP Агрегация дисковых запросов Контроль за использованием ресурсов
  • 19. Дисковое чтение • • • • Sunday, October 27, 13 Открытый файл держит в памяти весь moov (индекс данных) У каждого файла плавающий пул воркеров на чтение Все воркеры проходят через единую очередь чтения с диска На любом запросе может прийти HTTP 503 Overloaded
  • 20. Нерешенные проблемы • • • • Sunday, October 27, 13 Правильное вычисление дискового устройства по имени файла Автобалансировка между HDD при чтении одного файла Кластерная балансировка пользователей 40G
  • 21. Резюме • • • • • Sunday, October 27, 13 Вещание более 2G с сервера стало рентабельным Старые техники не годятся, нужны новые (HTTP стриминг, SSD) Новые подходы есть, отлажены и пинают трупы старых Важно не только работать, но и не перерабатывать Flussonic (эрливидео) прекрасно справляется