ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: MP4 + proxy_cache/proxy_store



Hello!

On Mon, Oct 24, 2011 at 11:58:28AM +0300, Alexander Moskalenko wrote:

> Есть схема 2 origin + 10 edge.
> С origin все хорошо, отдает быстро.
> 
> Проблема возникает с edge.
> На них довольно мало места и весь контент там держать не получится.
> Хотелось сделать схему с кешированием либо дотягиванием и удалением по
> atime.
> 
> Насколько я понял с кешированием не будет стримминга. Верно?

Да.

> С proxy_store есть проблема с отдачей клиенту до того как файл полностью
> скачался.
> Файлы где-то в среднем по 15МБ.
> 
>     location / {
> internal;
> aio             on;
> directio        512;
> output_buffers  1 128k;
> 
> location ~* \.mp4$ {
>     mp4;
>     try_files $uri @origin;
>     limit_rate_after  1m;
>     limit_rate        200k;
> }
> 
> location ~* \.flv$ {
>     flv;
>     try_files $uri @origin;
>     limit_rate_after  1m;
>     limit_rate        200k;
> }
>     }
> 
>     location /dl/ {
> return 503;
> location ~ ^/dl/(?P<secure_hash>[\w\-=]+,\d+)(?P<file>/.+)$ {
>     secure_link $secure_hash;
>     secure_link_md5 $secure_link_expires.$file.<passphrase>;
>     if ($secure_link = "") {
> return 404;
>     }
>     if ($secure_link = 0) {
> return 404;
>     }
>     rewrite ^ /$file last;
> }
>     }
> 
>     location @origin {
> proxy_pass http://origin;
> #proxy_buffering off;
> proxy_ignore_client_abort on;
> proxy_store             on;
> proxy_store_access      user:rw  group:r  all:r;
>     }
> 
> Вот так все работает, но клиенту ничего не отдается пока файл полностью не
> скачался (в принципе ожидаемо),

А как тестируете?  При использовании proxy_store ответ отдаётся 
точно так же, как и при обычном проксировании: по мере заполения 
буферов из proxy_buffers.  Единственное отличие: он при этом ещё и 
складывается в файл.

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

> но если раскоментировать proxy_buffering то
> proxy_store перестает складывать файл.

Это ожидаемо.

Maxim Dounin

_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru


 




Copyright © Lexa Software, 1996-2009.