Перейти к содержимому
Калькуляторы

Интересует рабочее решение для кэширования Youtubbe кто поднимал ? поделитесь опытом

Добрый день,

Интересует есть ли у кого-то рабочее решение для кэширования Youtube ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А че, в гугле забанили ?

 

http://code.google.com/p/youtube-cache/

 

Проверено, работает (ну чуть напильником пильнуть.)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Если масштабы позволяют то правильное решение , это GGC

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А че, в гугле забанили ?

 

http://code.google.com/p/youtube-cache/

 

Проверено, работает (ну чуть напильником пильнуть.)

Вы уточните пожалуйста что там пилить надо, что оно стало рабочим?

 

Если масштабы позволяют то правильное решение , это GGC

Мы не магистральный провайдер. Нафик им с нами связываться?

Изменено пользователем Traskalata

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

- А Вы и есть за меня будете ?

- Ага

© мультик

 

 

У меня 3.1 сквид и 1.2 нгинкс кеш пиром под сие стоит.

Насколько я припоминаю надо еще в список уникальных ключей для хранения добавить рендж (это такой параметр, как и id и itag

proxy_store "/usr/local/www/nginx_cache/files/id=$arg_id.itag=$arg_itag";

в примере по ссылке выше а не заголовок.) и algorithm. т.е. в конце перед " добавить

 

.range=$arg_range.algo=$arg_algorithm

Ну и везде, где оно есть. Иногда идут запросы без ренджа, по всей видимости это какая то качалка роликов, таким можно сделать внешнюю тулзу для генерации файла без ренджа из кучи с ренджами и наоборот, и добавить ее в середину try_files. но тут програмить надо, мне лень, не стоит оно того. в общем всего то надо правильно заголовки отрезать и приклеивать. В инете валялись скрипты для проигрывания в флеш плеерах с перемоткой, тут почти тоже самое надо делать. Наверное даже без 5 минут готовый найти можно. но тут напильника у меня нет :) .

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

- А Вы и есть за меня будете ?

- Ага

© мультик

 

 

У меня 3.1 сквид и 1.2 нгинкс кеш пиром под сие стоит.

Насколько я припоминаю надо еще в список уникальных ключей для хранения добавить рендж (это такой параметр, как и id и itag

proxy_store "/usr/local/www/nginx_cache/files/id=$arg_id.itag=$arg_itag";

в примере по ссылке выше а не заголовок.) и algorithm. т.е. в конце перед " добавить

 

.range=$arg_range.algo=$arg_algorithm

Ну и везде, где оно есть. Иногда идут запросы без ренджа, по всей видимости это какая то качалка роликов, таким можно сделать внешнюю тулзу для генерации файла без ренджа из кучи с ренджами и наоборот, и добавить ее в середину try_files. но тут програмить надо, мне лень, не стоит оно того. в общем всего то надо правильно заголовки отрезать и приклеивать. В инете валялись скрипты для проигрывания в флеш плеерах с перемоткой, тут почти тоже самое надо делать. Наверное даже без 5 минут готовый найти можно. но тут напильника у меня нет :) .

Т.е. постоянно дорабатывать и держать руку на пульсе

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

По поводу GGC всё довольно просто, либо вы генерируете достаточно траффика и тогда GGC ставится вам в сеть, либо настраивайте пиринг на ближайшем IXP.

Изменено пользователем Ося

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

а есть у кого по России уже практика применения этого GGC ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

а есть у кого по России уже практика применения этого GGC ?

Q: Can I talk about GGC with my customers and peers? Can I include references to GGC in my marketing collateral?

 

A: In short, no. We'll ask your company to consider this agreement and associated activity to be commercially confidential while the Google Global Cache solution remains in beta.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А что отвечать товарисчам из прокуратуры например на вопрос блокировки Невинности мусульман?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А что отвечать товарисчам из прокуратуры например на вопрос блокировки Невинности мусульман?

Блокировать :)

 

Да, придется весь http гнать через DPI :(

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

а что именно блокировать? веб-морда ютуба сейчас редиректится на https (никаких усилий для этого не делал, оно само). конкретный url на конкретном кеше будете резать?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Блокировать урлы, которые укажет прокурор. Насчет https - возможно, вы залогинены в акккаунт гугля. Для анонимусов никакого редиректа нет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Апнем тему. Хочу настроить кеширование youtube.

 

Кто использует - поделитесь информацией как оно работает? Интересует именно схема организации связи и какое количество хитов получается?

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

 

Посмотрел это: http://code.google.com/p/youtube-cache/

 

Как я понял там приведено несколько разных вариантов с использованием SQUID, NGINX, PHP. Я хочу переписать все на чистом NGINX.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Гугль выдал контекстную рекламу на недорогие коммерческие железки:

 

http://www.appliansys.com/products/cachebox/index.html

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

У меня стоит корпоративный сквид. Ютубный трафик заворачивает в нгинкс. В данной схеме без всеобщего сквида будет сложно все возможные *.c.youtube.com загнать в нгинкс. Все остальное не поменяется. Для загона, наверное, можно поднять свою зону, но это не поможет от 8.8.8.8.

 

Хитов.. до 20 процентов, корпорат со 150Мбит трафика через сквид.

 

Кешится не ролик, а кусок ролика. там есть поле в гет запросе с и до (range). Кеш регулярно грохатеся, все что старше 2-х недель (atime, т.е. небыло обращений на просмотр, а мтайм там вообще с сервера) - не вижу смысла хранить дольше.

 

Соответственно разные файлы под разные разрешения. некоторые клиенты, помоему какие то телефоны, тянут целиком, т.е от и до нету в гет параметре, соответственно это тоже отдельно.

 

в нгинксе собран модуль let, чтобы разливать файлики по поддиректориям (2 символа от sha1 от урла) иначе получается слишком много файлов на директорию, в принципе можно и 2 уровня было сделать.

 

Ну както так...

 

 set $zstore "HIT";
 location / {
   set $surl "/id=$arg_id.itag=$arg_itag.range=$arg_range.algo=$arg_algorithm";
   let $sd substr( sha1( $surl ) 0 2 );
   root /cache/nginx_stores/youtube;
   try_files "/$sd$surl" @proxy_youtube;
 }

 location @proxy_youtube {
   resolver 127.0.0.1;
   set $surl "/id=$arg_id.itag=$arg_itag.range=$arg_range.algo=$arg_algorithm";
   let $sd substr( sha1( $surl ) 0 2 );
   proxy_pass http://$host$request_uri;
   proxy_temp_path "/cache/nginx_stores/tmp";
   proxy_store "/cache/nginx_stores/youtube/$sd$surl";

   proxy_set_header X-YouTube-Cache "aaa@aaa.aa";
   proxy_set_header Accept "video/*";
   proxy_set_header User-Agent "YouTube Cacher (nginx)";
   proxy_set_header Accept-Encoding "";
   proxy_set_header Accept-Language "";
   proxy_set_header Accept-Charset "";
   proxy_set_header Cache-Control "";
#    proxy_set_header Range "";
   proxy_ignore_client_abort off;
   set $zstore "MISS";
 }

 

$zstore пишется в лог, для отчетности.

 

В принципе, с минимальными изменениями, на соседнем порту кешится винапдейт, там в дни выхода апдецйтов 99.9% попадания :) но есть проблема, оно качает кускам с Range в заголовке, а не в параметрах, нгинкс тянет все целиком, и иногда один клиент умудряется запросить 2,3,4,5 итд кусок пока первый файл не вынулся. высавил limit_conn 1 и все, не попавшее в лимит отдаю некешируемо. но клиентов много, оно все равно очень хорошо выходит. .. Пробовал кешить вконтакт. оно конечно кешится, но выхлоп 0.0, 99% мелкие картинки которых тьма, а видео (у меня) почти небыло хитов..

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Корпораты ставят WSUS и не парятся, а получают профиты в виде обновлений которые всем остальным не приезжают, и наоборот в отсутствии глупых обновлений которые всем приезжают, плюс отчётность и управляемость.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

 

 

В принципе, с минимальными изменениями, на соседнем порту кешится винапдейт, там в дни выхода апдецйтов 99.9% попадания :) но есть проблема, оно качает кускам с Range в заголовке, а не в параметрах, нгинкс тянет все целиком, и иногда один клиент умудряется запросить 2,3,4,5 итд кусок пока первый файл не вынулся. высавил limit_conn 1 и все, не попавшее в лимит отдаю некешируемо. но клиентов много, оно все равно очень хорошо выходит. .. Пробовал кешить вконтакт. оно конечно кешится, но выхлоп 0.0, 99% мелкие картинки которых тьма, а видео (у меня) почти небыло хитов..

А по объему хранилища где лежик кэш видео, как оно растет и примерные его объемы?

 

если трафику в сумме к примеру пару гигабит, то зарулить весь ютубовский трафик (по их AS -> ipset dst) на какую-нибудь кэширующую тачку, то какое предположительно по объему нужно хранилище и по производительности сама машина?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Кстати, при заполненном кеше, я заметил поведение у некоторых железок - первый раз не кеширует. Второй раз тянет - если контент кешируемый - уже кеширует.

Очень даже разумно, чтобы не вытеснять полезное.

Огромное значение имеет производительность дисковой подсистемы. Почти все самосборные кеши умирают именно по этому параметру, если траффик превышает сотню мегабит.

Решение - быстрые контроллеры SATA + кеш на SSD, либо SAS.

И еще, если будет использоваться nginx -очень важно его научить tproxy. Ютуб очень не любит, если запрос на видео и на скрипты приходит с разных адресов, и банально банит IP адреса в конечном счете.

По ютубу - я могу собрать примеры запросов, и по косточкам можем их тут разложить.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

ну свои параметры я описал, трафика немного, и т.к. сквид (через ручную/автоматическую настроку), то тпрокси нетреба :) а так да, на малом объеме памяти или меделнных дисках, естественно, воткнет.

 

Еще насчет ютуба. Можно еще заморочиться и склеить куски и резать по запросу.

 

А всус. вещь конечно хорошая, но я виндами не занимаюсь последнее время совсем, а что там в их отделе, мне не интересно, к ним со своим уставом не лазю. Кешить начал исключительно потому что вот оно, готовое решение.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

st_re

 

У вас squid и nginx на одном IP?

 

nuclearcat, а что если проксировать и видео и скрипты? Проблема только с https?

 

Кстати, у меня клиенты проксируются в небольшой пул реальных IP, ничего не мешает запроксировать так же и кеш-сервер. У гугля хватит ума не банить запросы приходящие с пары-тройки соседних IP?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

зависит от количества запросов. У меня была выделена /24 и по 8 адресов единовременно, и их постоянно приходилось менять.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

зависит от количества запросов. У меня была выделена /24 и по 8 адресов единовременно, и их постоянно приходилось менять.

 

А что ты делал?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А вот что я вижу в GET запросе к ютубу. Оставлю для истории.

 

algorithm:throttle-factor
burst:40
cp:U0hUTllQT19KU0NONF9RSlNFOk1JVWR2RkdxOXdE
cpn:YF0G-IzPjf34lK4p
expire:1359951459
factor:1.25
fexp:927900,910100,916807,904312,916624,920704,912806,922403,922405,929901,913605,925710,906938,920201,913302,919009,911116,910221,901451,919114
id:a9de8eb51a31f55f
ip:37.221.176.24
ipbits:8
itag:34
keepalive:yes
key:yt1
ms:au
mt:1359927553
mv:m
newshard:yes
range:5345280-7127039
ratebypass:yes
signature:8B8468E7FB9226892CC3C62BF3365EF0D7DE0F81.75581EFDF8CF27B1552CA5FAF55961118DEACC60
source:youtube
sparams:algorithm,burst,cp,factor,id,ip,ipbits,itag,source,upn,expire
sver:3
upn:jJ9y1ewPYYQ

 

 

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

Интересная штучка - IP, очевидно передается IP адрес источника. Можно что нибудь замутить.

 

st_re, DNS редирект на зону *.bla.bla на микротике делается одной строчкой. Для теста более чем достаточно.

 

У меня вопрос, у вас настроен nginx как кеш пир по этой доке?

http://youtube-cache.googlecode.com/svn/trunk/squid/youtube_cache_peer.conf

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А что ты делал?

 

Покупали какое-то решение, платное, довесок к сквиду. Работало мягко говоря хреново.

itag кстати разрешение видео/качество.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.