хабраиндекс
58,54

Как это работает


Сегодня мы предлагаем всем слушателям Frodio, и тем, кто еще не ознакомился с лучшей радиовещательной системой в Интернете, окунуться в мир технических подробностей и узнать, как, кем, и какие возможности используются пользователями нашей платформы.

Стоит начать с того, что Frodio целиком работает на инфраструктуре компании Selectel. Все серверы расположены на виртуальных облачных машинах Селектела, соотношение цена/качество которых выгодно отличается от предложений конкурентов.

Нами используются следующие технологии: Nginx + Starman + Mojolicious + Perl + MySQL.
Вещание осуществляется с помощью Icecast и Liquidsoap.

Вся система делится на несколько частей:
1. Сервер ядра системы и БД
2. Сервер вещания
3. Сервер генерации потоков

Расскажем о каждом из них поподробнее.

Сервер ядра системы и базы данных, на котором расположен движок системы, сайт Frodio.com, а так же СУБД.
Технические характеристики: 2 Гб ОЗУ, 8 ядер CPU, 20Гб занимаемого места на HDD.

Средние дневные расходы в облаке Селектел:
Машинное время 98,76 руб. / 98.760 час.
Потребление памяти 24,41 руб. / 49.134 ГБ * час.
Диск: запросов на чтение 1,61 руб. / 0.483 млн. шт.
Диск: запросов на запись 5,81 руб. / 1.743 млн. шт.
Диск: прочитанный объём 1,03 руб. / 10.300 ГБ
Диск: записанный объём 2,56 руб. / 25.600 ГБ
Диск: хранение 6,00 руб. / 1.201 ТБ * час
Сеть: получено 14,01 руб. / 70.050 ГБ
Сеть: отправлено 24,31 руб. / 24.310 ГБ
Итого 178,50 руб.


Сервер вещания осуществляет broadcasting с помощью Icecast.
Технические характеристики: 2Гб ОЗУ, 8 ядер CPU, 1.5Гб занимаемого места на HDD.

Средние дневные расходы в облаке Селектел:
Машинное время 4,08 руб. / 4.080 час.
Потребление памяти 24,42 руб. / 49.154 ГБ * час.
Диск: запросов на чтение 0,02 руб. / 0.006 млн. шт.
Диск: запросов на запись 0,33 руб. / 0.099 млн. шт.
Диск: прочитанный объём 0,00 руб. / 0.000 ГБ
Диск: записанный объём 0,07 руб. / 0.700 ГБ
Диск: хранение 1,92 руб. / 0.384 ТБ * час
Сеть: получено 22,93 руб. / 114.650 ГБ
Сеть: отправлено 397,71 руб. / 397.710 ГБ
Итого 451,48 руб.


Сервер генерации потоков “Frodio Transmitter” выполняет следующие функции: вещание станций (включая микширования треков, crossfading, amplify, normalize, подготовка и вещание плейлистов, ротация по заданному алгоритму треков/джинглов/рекламных роликов, генерация потоков в mp3/aac+/ogg), ретрансляции сторонних потоков (apmlify, normalize, перекодирование в любой формат потока mp3/aac+/ogg, смена id3-тэгов, вещание резервных потоков), создание live-включений в вещательные и ретрансляционные потоки.
Технические характеристики: 4Гб ОЗУ, 8 ядер CPU, 164Гб занимаемого места на HDD.

Средние дневные расходы в облаке Селектел:
Машинное время 104,33 руб. / 104.330 час.
Потребление памяти 48,84 руб. / 98.308 ГБ * час.
Диск: запросов на чтение 1,45 руб. / 0.435 млн. шт.
Диск: запросов на запись 1,02 руб. / 0.306 млн. шт.
Диск: прочитанный объём 1,68 руб. / 16.800 ГБ
Диск: записанный объём 0,35 руб. / 3.500 ГБ
Диск: хранение 32,39 руб. / 6.482 ТБ * час
Сеть: получено 13,84 руб. / 69.200 ГБ
Сеть: отправлено 105,02 руб. / 105.020 ГБ
Итого 308,92 руб.


Как видите, каждый день существования Frodio обходится нам в среднем в 940 рублей, что, учитывая сегодняшние расценки на подобную инфраструктуру, достаточно скромно. Конечно, с ростом пользовательской базы, увеличиваются и наши расходы, но тот факт, что мы можем легко масштабироваться (конкретно — сервер генерации потоков) при увеличении количества радиостанций, делает облако выгодным для нас, и удобным для пользователей Frodio.

Несмотря на то, что Селектел — молодая компания, мы используем эту платформу и для других наших проектов. Как известно, в любой бочке меда есть ложка дегтя, и вот моменты, которые хотелось бы видеть в хорошо проработанном состоянии (мы уверены в том что представители компании обратят на это внимание):
  • Динамическое увеличение размера файловой система из панели управления, без вмешательства клиента в структуру разбивки разделов диска;
  • Нет возможности использовать общий диск для нескольких виртуальных машин (как это реализовано у Amazon EC2);
  • Иногда случаются случаи отбора системных ресурсов в пользу более «прожорливых» клиентов;
  • Не хватает общих хранилищ данных, аналогичных Amazon S3;
  • Нет возможности делать копии виртуальных серверов из snapshot'ов.

Нам хочется верить, что компания справится с этими временными проблемами, и будет предоставлять отличный конкурентоспособный продукт, на мировом уровне.

Тем не менее — продолжим обсуждение платформы Frodio, где еще много интересных подробностей. Несколько графиков показывают общую загруженность платформы:

1. Количество пользователей онлайн (об этом подробнее чуть ниже)

2. Количество запросов к БД MySQL


Собственно, рассмотрим в деталях аудиторию Frodio – уважаемых радиослушателей, которых становится больше с каждым днем.



В настоящее время среднее количество слушателей — 427 в день, из них 130 пользуются для этого веб-интерфейсом Frodio.com. Пиковые показатели: 450 слушателей в день, из них 165 с сайта.

Всего же на Frodio зарегистрировано почти 5 000 пользователей, из 49 стран мира. Лидируют Россия и Украина, но и за рубежом, в США, Великобритании и Европе тоже слушают интерактивное радио.



У нас было два основных периода новых регистраций: в конце октября прошлого года пришло более 500 человек, что было связано с открытием бета-версии, и еще 500 человек — в конце прошлого месяца, когда мы впервые рассказали о Frodio на Хабрахабре.

Почти 1100 человек установили себе iOS-приложение Frodio и залогинилось в аккаунт, став постоянными слушателями наших радиостанций.

За все время существования платформы Frodio было сделано 15 710 лайков уникальных треков (всего же лайков более 60 000), и более 3 000 уникальных треков получили комментарии пользователей (всего в системе более 10 000 комментариев).

Социальные сети, которые соединяют пользователи Frodio с аккаунтом, в порядке популярности:
Facebook – 1134
Вконтакте — 1000
Twitter – 778

Last.fm – 554 (что интересно, если раньше скробблинг осуществлялся в 324 аккаунта, то сейчас их стало всего 10 — на лицо потеря популярности Last.fm)
Soundcloud – 188
Google Buzz – 95
LinkedIn — 50


Из Frodio-же в социальные сети было опубликовано около 35 000 лайков и статусов:
Last.fm – 14 214
Twitter – 9261
Facebook – 6854
Google Buzz – 4109


Так выглядит пользовательская статистика Frodio в цифрах, а вот она в графиках:




Но кроме пользователей, у нас есть еще одна «лакмусовая бумажка» Frodio, а именно — радиостанции.

Сейчас у нас 47 станций, из которых 6 вещаются Frodio (Станция 2.0, ХХФМ, Букварио, Этногенез, Z, Кураж Бамбей), а остальные ретранслируются. Еще 9 станций работает в тестовом режиме.

Как выглядит статистика самых популярных радиостанций:
Станции 2.0 (пик – 310, сейчас – 167)
Z (пик – 76, сейчас – 21)
Кураж Бамбей (пик – 67, сейчас 8)
ХХФМ (пик – 55, сейчас 31)
Revoice (пик – 55, сейчас 10)
NCRadio (пик 34, сейчас 6)
LoungeProject (пик 33, сейчас 9)
K-Rock (пик 31, сейчас 5)
DnBHeaven (пик 31, сейчас 14)
Kiss FM (пик 28, сейчас 18)
EL Station (пик 24)
Этногенез (пик 22)
Alter Radio (пик 22)
Букварио (пик 20)
16bit (пик 19)


Что касается различных исполнителей, то за время существования Frodio наши слушатели услышали: 48 153 различных исполнителя, исполнивших 167 934 треков. Всего же, на всех станциях, мы имеем более 2 069 011 ротаций треков.

На этом данные, касающиеся внутренней работы Frodio, почти подходят к концу. Но это не значит, что нам больше нечего рассказать, заходите на Frodio.com – включайте радиостанцию и наслаждайтесь!

Отдельно хочется отметить наш укорачиватель ссылок frd.io, которым активно пользуются и за время его жизни было сокращено более 20 000 различных ссылок — в основном это внутренние ссылки с Frodio.com

462 человека написали нам в обратную связь, за что мы говорим отдельно «Спасибо!» каждому из них. Мы только начинаем развиваться, и приводить область интерактивного радиовещания к тому виду, который мы себе представляем, поэтому каждое мнение играет для нас важную роль.

И напоследок, большой кусок инфографики, столь любимой юзернеймами, который наглядно показывает как устроено Frodio. Тем, кто хочет узнать больше подробностей из первых уст, мы можем предложить прослушать подкаст с одним из наших разработчиков на Хабрахабре.

image

Больше чем радио, лучше чем радио — только Frodio.
+53
5 мая 2011, 15:53
23
Shapelez 170,6 G+

комментарии (56)

+2
poizon #
в mysql хорошо кеш работает!
+3
sharifulin #
Мы старались этого добиться :)
0
JinJi #
Мне кажется малый показатель скроблинга в last.fm из-за того, что большинство слушает потоки из плееров, которые не умеют скроблить потоки (a'la iTunes). Сам слушаю через сайт теперь только из-за скроблинга
+2
sharifulin #
Да, так и есть. Нужно переходить на веб-интерфейс :)
Скоро планируем запустить скробблинг из iOS-приложения и в целом будет доступен через API.
0
Tiradoir #
Видимо на #Android поддержку AAC+ сделаете летом/осенью, а скробблинг дай бог до НГ.
+3
sharifulin #
AAC+ уже сделан, скробблинг тоже, так что вы ошибаетесь)
Опубликуем позже.
0
JinJi #
Приложеньку под мак бы;)
0
pimenov #
будет, ищем программиста
+4
sharifulin #
Если кому-то интересен подкаст, то вот ссылка habrahabr.ru/blogs/perl/117665/
0
Tiradoir #
Интересный подкаст
0
TheAlien #
Слушаю :)
0
sharifulin #
А вот и первый рекорд, сейчас онлайн слушателей Frodio.com – 499
0
HidX #
Главное что бы до хабраэфекта не дошло :)
0
sharifulin #
В прошлый раз не дошло, смотрим, что сегодня будет)
0
HidX #
Уже пару раз Server 500 вываливалось :))
0
sharifulin #
Масштабируем веб-приложение под хабраэффект, сейчас норм)
+1
bimcom #
А можно об этом по подробнее?
Как масштабируете?
Что это значит в условиях данного облака?
+2
sharifulin #
Сейчас был затык в БД, вместо 600 запросов в секунду, пришло 1.1+k
Увеличив количество воркеров, пожертвовав немного CPU и памятью, мы вышли на нормальную работу.

Имеет смысл настроить кеширование определенных данных, сократив запросы к БД.
Но что-то мне подсказывает, что такого наплыва пользователей в обычном режиме, не будет.
+2
sharifulin #
Вот хабраэффект, запросы к nginx frd.io/g1f
0
TheAlien #
Краcиво :)
0
pimenov #
это точно :)
0
mcrey #
Таки дошло :) 10 минут не могу добраться до прослушивания музыки, постоянно 500 — Internal Server Error
0
Zidannd #
Это только начало!)
0
Tiradoir #
Сегодня кстати Frodio падал минут на 20, неприятны эти падения как раз когда релиз нового сета на радио пускаешь.
0
sharifulin #
Это облако Селектела подвисло на 10 минут в районе 12 часов.
Мы хорошо их тестируем, а вы – нас.
0
SvirkoT #
от куда инфо что именно Frodio? По моим данным никаких сбоев.
+3
SvirkoT #
Мы на Frodio сидим плотно)
+1
HidX #
Мы тоже подсели на Frodio ) Ещё со времён Uplifto :)
+2
bimcom #
Вот тебе и облака…
Error 500
Internal Server Error, wait a moment
А как красиво расписано было
серв. 1: 2 Гб ОЗУ, 8 ядер CPU
серв. 2: 2 Гб ОЗУ, 8 ядер CPU
серв. 3: 4 Гб ОЗУ, 8 ядер CPU
Или дело не в облаке?
+1
SvirkoT #
Ну ребяты… усе работает!
0
Tiradoir #
Дело в хабре
+3
SvirkoT #
фуф… а то я об графики глаза сломала
+1
sharifulin #
Да, дело в наплыве единовременных «слушателей».
Сейчас подстроимся и под текущую нагрузку.
+2
Tiradoir #
Слушаю на Frodio Apsagand: Sociopath Stream, лучше Dubstep потока я там не видел, жаль что в топ не вошла, так как поток новый
apsagand.frodio.com/#/
0
pokesh #
KISS FM почему то не попал в лидеры…
0
pimenov #
где не попал?
0
pokesh #
Я просмотрел — попал :)
0
firstrow #
Хороший сервис. Я постоянный слушатель. Успехов.
0
dzhe #
Может быть, не совсем в тему (не про технику), но очень интересно — откуда берется контент? Он как-то лицензируется?

Например, всякие детские песенки — они откуда? Мы тоже хотели бы такой контент где-то легально (но недорого) брать.
0
pimenov #
По российском законадательству вещатели (радиостанции) могут вещать любые песенки и потом платить 8% от прибыли в РАО.
0
dzhe #
А поскольку пока что все free, то платить ничего не надо? Удобно.
0
pimenov #
Типа того ;) + в законе нет понятия интернет-радио.
0
vladimir661 #
Tак же у нас есть несколько специально отобранных (ретранслируемых) и «нативных» станций — целиком с авторским контентом.

Например: Kazantip, Модель для сборки, Этногенез, Fonarev — это «нативные.

И мы так же специально сотрудничаем с некоммерческими станциями из разных стран, которые лицензируют свои потоки по открытым лицензиям.
Например: El-Station (Польша), Tunguska EMS (Россия), Start FM (Литва).
0
RZimin #
Ребят, а вот какой вопрос. Даже два:
1. Окупается?
2. Будет окупаться?
0
pimenov #
1. Нет, пока ничего не продаём, всё free
2. Обязательно, у нас нет выбора :)
0
erlioniel #
Задам еще вопрос, как крайне заинтересованный пользователь :)
3. А как будет? Что планируется ввести в формулу к «free» чтобы окупалось?
0
pimenov #
3. SaaS — полный комплекс для создания и поддержки интернет-радио
0
shifttstas #
Еще б десктопное приложение под разные платформы и было бы айс )
0
pimenov #
Есть в планах у нас
0
shifttstas #
А на сколько далеки планы, еще вроде бы в твиттере читал что хотите с опсосами договариться что бы трафик был бесплатный, получилось?
0
pimenov #
Сроков пока не, с трафиком тоже пока нет
0
shifttstas #
Жаль
0
qweewq #
используете cacti? :)
0
sharifulin #
Нет, это munin-графики для мониторинга серверов
+3
sharifulin #
Мы любим Perl, не PHP (но это тема отдельного разговора :)

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.