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
|