Назад | Перейти на главную страницу

От S3 к периферийному расположению облака и коэффициент передачи конечного пользователя от облачного интерфейса

Мы размещаем видео в amazon S3 и используем облачный сервис для их доставки. Вот цифры за последние месяцы:

Общий объем трафика от облачного интерфейса до конечного пользователя составляет 4,2 ТБ. Из них 4 ТБ находится в Европе, остальное в основном в США.

Это обошлось нам в 512 долларов. Все как положено.

Кроме того, у нас есть стоимость передачи от S3 к периферийным местоположениям примерно в 1 ТБ. = стоимость 115 $

Это 22,4% от стоимости передачи конечному пользователю и 18% от общей стоимости. Что интересно, это нормально? Я чувствую, что это многовато.

У нас есть 280 ГБ видео, хранящегося в S3, примерно на 20000 видео. Большая часть нашего трафика - это свежие видео. 100 лучших видео за этот месяц составили около 80% общего трафика.

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

  1. Нормально ли это соотношение или, по крайней мере, в какой-то мере близко к опыту других людей?
  2. Могу ли я как-то сказать облачному фронту поставить порог или что-то еще, прежде чем он начнет кешировать файл? Например: не кешируйте этот файл, пока не увидите x загрузок в течение дня поблизости от вашего местоположения.
  3. Если вышеперечисленное невозможно, есть ли другие советы, как я мог бы добиться того же. Не обслуживайте файлы с менее частым доступом через облачный интерфейс, просто перейдите непосредственно к S3. Я чувствую, что это может быть проблемой, поскольку я все равно использую функцию потоковой передачи Cloudfront.

Я не менял TTL, поэтому предполагаю, что это стандартные 24 часа. Это в любом случае ничего не изменит, если я увеличу его, поскольку cloudfront не будет загружать файл снова, если он не изменился (они этого не делают).

Проблема в том, что файл выходит из кеша.

Я бы сразу начал показывать менее популярные видео с S3. YouTube не начинает показ видео со своей сети CDN, пока видео не наберет 300 просмотров. Я бы отслеживал время последних x просмотров видео, сохраняя список в чем-то вроде Redis, и, если последний x просмотр был в пределах определенного временного интервала, только затем показывать видео из CloudFront.