SlideShare a Scribd company logo
1 of 23
Download to read offline
Вещание видео
на 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

More Related Content

What's hot

Использование ленточных технологий для сокращения стоимости файловых хранилищ
Использование ленточных технологий для сокращения стоимости файловых хранилищИспользование ленточных технологий для сокращения стоимости файловых хранилищ
Использование ленточных технологий для сокращения стоимости файловых хранилищAlexander Reytman
 
Nutanix Acropolis - облако на базе KVM под ключ, Максим Шапошников (Nutanix)
Nutanix Acropolis - облако на базе KVM под ключ, Максим Шапошников (Nutanix)Nutanix Acropolis - облако на базе KVM под ключ, Максим Шапошников (Nutanix)
Nutanix Acropolis - облако на базе KVM под ключ, Максим Шапошников (Nutanix)Ontico
 
Виртуализированный highload (NFV), Александр Шалимов (ЦПИКС)
Виртуализированный highload (NFV), Александр Шалимов (ЦПИКС)Виртуализированный highload (NFV), Александр Шалимов (ЦПИКС)
Виртуализированный highload (NFV), Александр Шалимов (ЦПИКС)Ontico
 
Использование Hadoop в Badoo, Валерий Старынин (Badoo)
Использование Hadoop в Badoo, Валерий Старынин (Badoo)Использование Hadoop в Badoo, Валерий Старынин (Badoo)
Использование Hadoop в Badoo, Валерий Старынин (Badoo)Ontico
 
Кирилл Науменко. "Выжать максимум". IT-пятница, сентябрь 2018.
Кирилл Науменко. "Выжать максимум". IT-пятница, сентябрь 2018.Кирилл Науменко. "Выжать максимум". IT-пятница, сентябрь 2018.
Кирилл Науменко. "Выжать максимум". IT-пятница, сентябрь 2018.GigaCloud
 
Скорость с доставкой до пользователя
Скорость с доставкой до пользователяСкорость с доставкой до пользователя
Скорость с доставкой до пользователяAnatoliy Orlov
 
Платформа для видео сроком в квартал. Александр Тоболь.
Платформа для видео сроком в квартал. Александр Тоболь.Платформа для видео сроком в квартал. Александр Тоболь.
Платформа для видео сроком в квартал. Александр Тоболь.odnoklassniki.ru
 
Кадры решают все, или стриминг видео в «Одноклассниках». Александр Тоболь
Кадры решают все, или стриминг видео в «Одноклассниках». Александр ТобольКадры решают все, или стриминг видео в «Одноклассниках». Александр Тоболь
Кадры решают все, или стриминг видео в «Одноклассниках». Александр Тобольodnoklassniki.ru
 
Как обслужить миллиард пользователей и отдать терабит трафика
Как обслужить миллиард пользователей и отдать терабит трафикаКак обслужить миллиард пользователей и отдать терабит трафика
Как обслужить миллиард пользователей и отдать терабит трафикаIgor Vasiliev CCIE #19895
 
Containers in real world презентация
Containers in real world презентацияContainers in real world презентация
Containers in real world презентацияPavel Odintsov
 
Тюним память и сетевой стек в Linux: история перевода высоконагруженных серве...
Тюним память и сетевой стек в Linux: история перевода высоконагруженных серве...Тюним память и сетевой стек в Linux: история перевода высоконагруженных серве...
Тюним память и сетевой стек в Linux: история перевода высоконагруженных серве...odnoklassniki.ru
 
Как не надо писать приложения, основанные на протоколе TCP (Артём Гавриченков)
Как не надо писать приложения, основанные на протоколе TCP (Артём Гавриченков)Как не надо писать приложения, основанные на протоколе TCP (Артём Гавриченков)
Как не надо писать приложения, основанные на протоколе TCP (Артём Гавриченков)Ontico
 
NVMf: 5 млн IOPS по сети своими руками / Андрей Николаенко (IBS)
NVMf: 5 млн IOPS по сети своими руками / Андрей Николаенко (IBS)NVMf: 5 млн IOPS по сети своими руками / Андрей Николаенко (IBS)
NVMf: 5 млн IOPS по сети своими руками / Андрей Николаенко (IBS)Ontico
 
Практический опыт применения виртуализации для web-систем
Практический опыт применения виртуализации для web-системПрактический опыт применения виртуализации для web-систем
Практический опыт применения виртуализации для web-системAlex Chistyakov
 
High performance computing принципы проектирования сети
High performance computing принципы проектирования сетиHigh performance computing принципы проектирования сети
High performance computing принципы проектирования сетиMUK Extreme
 
20100307 virtualization igotti_lecture04
20100307 virtualization igotti_lecture0420100307 virtualization igotti_lecture04
20100307 virtualization igotti_lecture04Computer Science Club
 
Cпецкурс 2014, занятие 7. Web-приложения
Cпецкурс 2014, занятие 7. Web-приложенияCпецкурс 2014, занятие 7. Web-приложения
Cпецкурс 2014, занятие 7. Web-приложения7bits
 
1. Sartakov. Virtualization. June 01, 2013
1. Sartakov. Virtualization. June 01, 20131. Sartakov. Virtualization. June 01, 2013
1. Sartakov. Virtualization. June 01, 2013ru-fedora-moscow-2013
 

What's hot (18)

Использование ленточных технологий для сокращения стоимости файловых хранилищ
Использование ленточных технологий для сокращения стоимости файловых хранилищИспользование ленточных технологий для сокращения стоимости файловых хранилищ
Использование ленточных технологий для сокращения стоимости файловых хранилищ
 
Nutanix Acropolis - облако на базе KVM под ключ, Максим Шапошников (Nutanix)
Nutanix Acropolis - облако на базе KVM под ключ, Максим Шапошников (Nutanix)Nutanix Acropolis - облако на базе KVM под ключ, Максим Шапошников (Nutanix)
Nutanix Acropolis - облако на базе KVM под ключ, Максим Шапошников (Nutanix)
 
Виртуализированный highload (NFV), Александр Шалимов (ЦПИКС)
Виртуализированный highload (NFV), Александр Шалимов (ЦПИКС)Виртуализированный highload (NFV), Александр Шалимов (ЦПИКС)
Виртуализированный highload (NFV), Александр Шалимов (ЦПИКС)
 
Использование Hadoop в Badoo, Валерий Старынин (Badoo)
Использование Hadoop в Badoo, Валерий Старынин (Badoo)Использование Hadoop в Badoo, Валерий Старынин (Badoo)
Использование Hadoop в Badoo, Валерий Старынин (Badoo)
 
Кирилл Науменко. "Выжать максимум". IT-пятница, сентябрь 2018.
Кирилл Науменко. "Выжать максимум". IT-пятница, сентябрь 2018.Кирилл Науменко. "Выжать максимум". IT-пятница, сентябрь 2018.
Кирилл Науменко. "Выжать максимум". IT-пятница, сентябрь 2018.
 
Скорость с доставкой до пользователя
Скорость с доставкой до пользователяСкорость с доставкой до пользователя
Скорость с доставкой до пользователя
 
Платформа для видео сроком в квартал. Александр Тоболь.
Платформа для видео сроком в квартал. Александр Тоболь.Платформа для видео сроком в квартал. Александр Тоболь.
Платформа для видео сроком в квартал. Александр Тоболь.
 
Кадры решают все, или стриминг видео в «Одноклассниках». Александр Тоболь
Кадры решают все, или стриминг видео в «Одноклассниках». Александр ТобольКадры решают все, или стриминг видео в «Одноклассниках». Александр Тоболь
Кадры решают все, или стриминг видео в «Одноклассниках». Александр Тоболь
 
Как обслужить миллиард пользователей и отдать терабит трафика
Как обслужить миллиард пользователей и отдать терабит трафикаКак обслужить миллиард пользователей и отдать терабит трафика
Как обслужить миллиард пользователей и отдать терабит трафика
 
Containers in real world презентация
Containers in real world презентацияContainers in real world презентация
Containers in real world презентация
 
Тюним память и сетевой стек в Linux: история перевода высоконагруженных серве...
Тюним память и сетевой стек в Linux: история перевода высоконагруженных серве...Тюним память и сетевой стек в Linux: история перевода высоконагруженных серве...
Тюним память и сетевой стек в Linux: история перевода высоконагруженных серве...
 
Как не надо писать приложения, основанные на протоколе TCP (Артём Гавриченков)
Как не надо писать приложения, основанные на протоколе TCP (Артём Гавриченков)Как не надо писать приложения, основанные на протоколе TCP (Артём Гавриченков)
Как не надо писать приложения, основанные на протоколе TCP (Артём Гавриченков)
 
NVMf: 5 млн IOPS по сети своими руками / Андрей Николаенко (IBS)
NVMf: 5 млн IOPS по сети своими руками / Андрей Николаенко (IBS)NVMf: 5 млн IOPS по сети своими руками / Андрей Николаенко (IBS)
NVMf: 5 млн IOPS по сети своими руками / Андрей Николаенко (IBS)
 
Практический опыт применения виртуализации для web-систем
Практический опыт применения виртуализации для web-системПрактический опыт применения виртуализации для web-систем
Практический опыт применения виртуализации для web-систем
 
High performance computing принципы проектирования сети
High performance computing принципы проектирования сетиHigh performance computing принципы проектирования сети
High performance computing принципы проектирования сети
 
20100307 virtualization igotti_lecture04
20100307 virtualization igotti_lecture0420100307 virtualization igotti_lecture04
20100307 virtualization igotti_lecture04
 
Cпецкурс 2014, занятие 7. Web-приложения
Cпецкурс 2014, занятие 7. Web-приложенияCпецкурс 2014, занятие 7. Web-приложения
Cпецкурс 2014, занятие 7. Web-приложения
 
1. Sartakov. Virtualization. June 01, 2013
1. Sartakov. Virtualization. June 01, 20131. Sartakov. Virtualization. June 01, 2013
1. Sartakov. Virtualization. June 01, 2013
 

Similar to Максим Лапшин, Erlyvideo

Особенности передачи и обработки видео данных. Приправа из кодеков или с чем ...
Особенности передачи и обработки видео данных. Приправа из кодеков или с чем ...Особенности передачи и обработки видео данных. Приправа из кодеков или с чем ...
Особенности передачи и обработки видео данных. Приправа из кодеков или с чем ...DotNetConf
 
Devpoint2 video in internet
Devpoint2 video in internetDevpoint2 video in internet
Devpoint2 video in internetMax Lapshin
 
Евгений Потапов, АйТиСумма
Евгений Потапов, АйТиСуммаЕвгений Потапов, АйТиСумма
Евгений Потапов, АйТиСуммаOntico
 
«Сетевые протоколы для веб разработчика — выжимаем максимум»
«Сетевые протоколы для веб разработчика — выжимаем максимум» «Сетевые протоколы для веб разработчика — выжимаем максимум»
«Сетевые протоколы для веб разработчика — выжимаем максимум» Гузель Рахимова
 
Видео+Конференция 2015: ВКС на миллион зрителей: видеотрансляции, их тонкости...
Видео+Конференция 2015: ВКС на миллион зрителей: видеотрансляции, их тонкости...Видео+Конференция 2015: ВКС на миллион зрителей: видеотрансляции, их тонкости...
Видео+Конференция 2015: ВКС на миллион зрителей: видеотрансляции, их тонкости...TrueConf
 
Видео+Конференция 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
 

Similar to Максим Лапшин, Erlyvideo (20)

Особенности передачи и обработки видео данных. Приправа из кодеков или с чем ...
Особенности передачи и обработки видео данных. Приправа из кодеков или с чем ...Особенности передачи и обработки видео данных. Приправа из кодеков или с чем ...
Особенности передачи и обработки видео данных. Приправа из кодеков или с чем ...
 
Devpoint2 video in internet
Devpoint2 video in internetDevpoint2 video in internet
Devpoint2 video in internet
 
Евгений Потапов, АйТиСумма
Евгений Потапов, АйТиСуммаЕвгений Потапов, АйТиСумма
Евгений Потапов, АйТиСумма
 
«Сетевые протоколы для веб разработчика — выжимаем максимум»
«Сетевые протоколы для веб разработчика — выжимаем максимум» «Сетевые протоколы для веб разработчика — выжимаем максимум»
«Сетевые протоколы для веб разработчика — выжимаем максимум»
 
Видео+Конференция 2015: ВКС на миллион зрителей: видеотрансляции, их тонкости...
Видео+Конференция 2015: ВКС на миллион зрителей: видеотрансляции, их тонкости...Видео+Конференция 2015: ВКС на миллион зрителей: видеотрансляции, их тонкости...
Видео+Конференция 2015: ВКС на миллион зрителей: видеотрансляции, их тонкости...
 
Видео+Конференция 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
 

More from Ontico

One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...
One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...
One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...Ontico
 
Масштабируя DNS / Артем Гавриченков (Qrator Labs)
Масштабируя DNS / Артем Гавриченков (Qrator Labs)Масштабируя DNS / Артем Гавриченков (Qrator Labs)
Масштабируя DNS / Артем Гавриченков (Qrator Labs)Ontico
 
Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)
Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)
Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)Ontico
 
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...Ontico
 
Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...
Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...
Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...Ontico
 
PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)
PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)
PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)Ontico
 
Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...
Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...
Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...Ontico
 
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...Ontico
 
ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)
ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)
ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)Ontico
 
MySQL Replication — Advanced Features / Петр Зайцев (Percona)
MySQL Replication — Advanced Features / Петр Зайцев (Percona)MySQL Replication — Advanced Features / Петр Зайцев (Percona)
MySQL Replication — Advanced Features / Петр Зайцев (Percona)Ontico
 
Внутренний open-source. Как разрабатывать мобильное приложение большим количе...
Внутренний open-source. Как разрабатывать мобильное приложение большим количе...Внутренний open-source. Как разрабатывать мобильное приложение большим количе...
Внутренний open-source. Как разрабатывать мобильное приложение большим количе...Ontico
 
Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...
Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...
Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...Ontico
 
Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...
Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...
Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...Ontico
 
Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)
Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)
Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)Ontico
 
И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)
И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)
И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)Ontico
 
Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)
Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)
Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)Ontico
 
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)Ontico
 
100500 способов кэширования в Oracle Database или как достичь максимальной ск...
100500 способов кэширования в Oracle Database или как достичь максимальной ск...100500 способов кэширования в Oracle Database или как достичь максимальной ск...
100500 способов кэширования в Oracle Database или как достичь максимальной ск...Ontico
 
Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...
Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...
Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...Ontico
 
Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...
Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...
Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...Ontico
 

More from Ontico (20)

One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...
One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...
One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...
 
Масштабируя DNS / Артем Гавриченков (Qrator Labs)
Масштабируя DNS / Артем Гавриченков (Qrator Labs)Масштабируя DNS / Артем Гавриченков (Qrator Labs)
Масштабируя DNS / Артем Гавриченков (Qrator Labs)
 
Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)
Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)
Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)
 
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
 
Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...
Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...
Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...
 
PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)
PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)
PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)
 
Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...
Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...
Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...
 
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...
 
ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)
ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)
ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)
 
MySQL Replication — Advanced Features / Петр Зайцев (Percona)
MySQL Replication — Advanced Features / Петр Зайцев (Percona)MySQL Replication — Advanced Features / Петр Зайцев (Percona)
MySQL Replication — Advanced Features / Петр Зайцев (Percona)
 
Внутренний open-source. Как разрабатывать мобильное приложение большим количе...
Внутренний open-source. Как разрабатывать мобильное приложение большим количе...Внутренний open-source. Как разрабатывать мобильное приложение большим количе...
Внутренний open-source. Как разрабатывать мобильное приложение большим количе...
 
Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...
Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...
Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...
 
Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...
Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...
Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...
 
Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)
Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)
Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)
 
И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)
И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)
И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)
 
Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)
Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)
Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)
 
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)
 
100500 способов кэширования в Oracle Database или как достичь максимальной ск...
100500 способов кэширования в Oracle Database или как достичь максимальной ск...100500 способов кэширования в Oracle Database или как достичь максимальной ск...
100500 способов кэширования в Oracle Database или как достичь максимальной ск...
 
Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...
Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...
Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...
 
Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...
Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...
Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...
 

Максим Лапшин, Erlyvideo

  • 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 (эрливидео) прекрасно справляется