Как контролировать скорость загрузки контента
В EdgeCDN появилась новая опция — ограничение скорости загрузки. Она позволяет уменьшить скорость отдачи контента пользователям.
Рассказываем, для чего нужна эта опция, как она работает и как её подключить.
Зачем ограничивать скорость загрузки
Это актуально для тех, кто использует CDN для потоковой передачи видео. Лимит позволяет уменьшить объём потребляемой полосы пропускания, чтобы сократить затраты.
Максимальная скорость требуется, только когда видео запускается на устройстве пользователя: нужно как можно быстрее передать достаточное количество фрагментов, чтобы плеер начал воспроизведение.
Пока проигрываются первые фрагменты видео, остальные загружаются в буфер. И здесь уже не нужна столь высокая скорость загрузки, при этом видео продолжает передаваться максимально быстро. В буфер добавляется всё больше фрагментов, несмотря на то что для воспроизведения их уже достаточно. Получается, что часть оплаченных ресурсов используется зря.
Но если после запуска видео ограничить скорость до оптимальной, то у зрителей оно будет загружаться так же быстро и воспроизводиться без задержек, а вы не переплатите за трафик CDN.
С другой стороны, эта функция может быть актуальна, когда нужно ограничить скорость для части пользователей, чтобы у остальных скорость была выше.
Почему это выгодно для стриминговых сервисов
Допустим, на вашем сайте можно смотреть фильмы. Есть бесплатный тариф с рекламой и платная подписка без рекламы.
При этом вы хотите, чтобы у тех, кто оплатил подписку, не только не было рекламы, но и скорость загрузки была максимальной. Как это сделать? За счёт ограничения скорости в бесплатном тарифе.
Вы устанавливаете лимиты для тех, кто смотрит кино бесплатно. А на тех, кто заплатил за подписку, уходят все остальные ресурсы. И скорость становится выше.
Как работает ограничение скорости
У нашей опции есть два режима работы: статический и динамический.
Статически режим
В этом случае вы устанавливаете ограничение для всего контента, который передаётся через CDN. В личном кабинете вы задаёте максимальную скорость соединения. Дополнительно вы можете указать, какой объём данных будет загружаться без ограничений.
Например, на вашем сайте клиенты смотрят потоковое видео. Вы понимаете, что для его загрузки будет достаточно скорости 100 Кбит/с. Но при запуске видео скорость должна быть максимальной. Чтобы видео запустилось, нужно передать 5 МБ.
- В личном кабинете выбираете статический вариант ограничений.
- Устанавливаете лимит в 100 Кбит/с.
- Указываете, что 5 МБ нужно загрузить без ограничений.
- Когда кто-то из ваших пользователей включит видео, 5 МБ будет передано по сети с максимальной скоростью.
- После этого скорость будет ограничена до 100 Кбит/с.
Если вам не нужно, чтобы какое-то количество данных передавалось без ограничений, вы просто не указываете этот параметр. Тогда лимит, который вы установили, начнёт действовать с первого байта отдачи.
Динамический режим
Этот вариант позволяет установить разные ограничения для разных пользователей или для разных типов контента. Скорость здесь регулируется на основе запросов с аргументами speed и buffer. Speed устанавливает максимальную скорость соединения, а buffer — какой объём данных будет передан без ограничений. При этом аргумент buffer необязательный.
- В личном кабинете выбираете динамический вариант ограничения скорости.
- Создаёте ссылки с аргументами speed и buffer, которые определяют нужные параметры.
- Когда ваши пользователи переходят по ссылкам, на сервер отправляется запрос с аргументами.
- Ограничение устанавливается в соответствии с этими аргументами.
- Если в запросе нет аргумента buffer, ограничение скорости начинает действовать с первого байта.
- Если запрос на сервер отправляется без аргументов, то для такого запроса ограничение не срабатывает, и отдача идёт с максимальной скоростью.
Вспомним пример с фильмами и платной подпиской, который мы приводили выше. Чтобы ограничить скорость для тех, кто смотрит фильмы бесплатно, вы создаёте ссылку: https://example.com/video.mp4?speed=100k&buffer=5000k
Владельцы бесплатного тарифа будут попадать на сайт только по этой ссылке, и для них будет действовать ограничение скорости в 100 Кбит/с после скачивания 5 000 КБ.
А для владельцев платной подписки будет обычная ссылка без speed и buffer, и у них контент будет загружаться без ограничений.
Как подключить опцию
Опция подключается в личном кабинете CDN.
- Выберите ресурс в разделе «CDN-ресурсы».
- В разделе «Сетевые ограничения» включите опцию «Ограничивать скорость загрузки».
- Выберите статический или динамический режим.
- Если выбрали статический режим, в поле «Скорость соединения» укажите максимальную скорость, а в поле «Ограничивать после» — объём данных, который будет загружаться без ограничений.
- Если выбрали динамический режим, ничего дополнительно указывать не нужно.
- Нажмите «Сохранить изменения».
Устанавливайте свои правила доставки контента с помощью гибких настроек в личном кабинете CDN.