Обновления января

Долго мы не выкладывали свежих новостей о нашем проекте. Делимся с вами важной информацией по изменению в алгоритмах работы платформы.

Что изменилось в алгоритмах работы Reyden-X

С 16 января у нас работает новый алгоритм показа просмотров, из-за чего повысился их расход. Мы сделали это вынужденно по нескольким причинам.

Во-первых, API Twitch передает информацию о количестве зрителей с задержкой от 40 секунд, до 2-х минут, а фактически на счетчике в Твиче изменяются каждые 10-30 секунд. То есть Твич дает нам изначально не актуальные данные по онлайну, когда сам обновляет их в своей системе чаще. К чему это приводило в реальности, рассмотрим на примере.

Стример выставил в заказе 50 зрителей. Своих собственных у него, например, 20. Следовательно наша система получила через API количество его зрителей (20) и начинает делать 30 просмотров, чтобы увеличить число зрителей до 50. Если трафика хватает, и 30 просмотров производятся менее чем за 1 минуту, стример получает 50 зрителей на счетчик.

Но, как вы знаете, пре-ролл без закрытия у нас длится 30 секунд, следовательно, через 30 секунд у вас все равно “отвалится” часть зрителей и на счетчике станет, допустим уже не 50, а 30. Наша система обращается к API Твича, и нам все равно приходит ответ “50”, хотя по факту у вас на счетчике уже 30. В связи с этим, часто можно было наблюдать “недобор” до нужной цифры зрителей, даже не в часы пик, когда у нас трафика предостаточно.

Во-вторых, согласно пользовательскому соглашению Twitch мы можем получить число зрителей на канале только по API, поэтому нам пришлось пересмотреть формулу расхода просмотров.

Ранее после получения от Twitch ответа о количестве зрителей, системе ставилась задача произвести 30 просмотров (чтобы стало 50), а спустя минуту вновь проверялся онлайн по API (который был, кстати, фактически не совсем верный из-за задержки) и после проверки опять производились недостающие просмотры. Но, как показала практика, в таком случае реальная цифра зрителей очень редко достигалась установленному в заказе. А в часы пик разрыв между реальным онлайном и требуемым в заказе, был колоссальный.

Мы проанализировали данные за последние несколько месяцев, и пришли к выводу, что нам необходимо пересмотреть схему расходования просмотров, чтобы добиться стабильности выполнения заказов. Раз мы ограничены в получении достоверной информации по количеству зрителей на канале, то пришлось разработать специальную формулу, согласно которой, просмотры начисляются каждые 10 секунд по определенной схеме, которая учитывает процент “отваливающихся” зрителей после окончания показа пре-ролла. Чтобы поддерживать требуемый онлайн, фактически за минуту, для того, чтобы дать 50 зрителей по нашему примеру, система будет делать не 30 просмотров, а 35-50. Итоговое значение плавающее, т.к. ответ от API Твича приходит с разной периодичностью. В основном расход просмотров повышен в начале активации заказа, чтобы дать стримеру необходимый онлайн. Для поддержки онлайна расход более оптимизирован.

По итогу расход просмотров увеличился, а набор нужного количества онлайна стал более стабильным. Однако, опять же, в часы пик (это примерно с 17 ч. до 22 ч. по МСК) у нас в системе становится очень много активных заказов. Есть стримеры, которые ставят онлайн 25-50, но немало и таких, кто ставит 1-2 тыс. зрителей. В связи с этим приоритет расхода просмотров стоит у тех стримеров, кто поставил наибольшее число зрителей. И основной трафик идет на их каналы. Остаточный трафик распределяется по стримерам с небольшим онлайном.