Re: Идеи про proxy_cache_min_uses.
Danila Shtan
danila at shtan.ru
Sun Jan 20 09:59:08 UTC 2013
Приветствую.
воскресенье, 20 января 2013 г. пользователь Pavel V. писал:
> Здравствуйте, Михаил.
>
> Вы писали 20 января 2013 г., 5:13:12:
>
> > Здравствуйте.
>
> > Есть прекрасная директива proxy_cache_min_uses . Она позволяет сильно
> > экономить на дисковой нагрузке, которую создают записывающиеся в кэш
> > файлы, к которым делается всего один запрос и которые потом вымываются
> > из кэша .
>
> > Было бы здорово развить идею и сэкономить ещё.
>
> > Например, proxy_cache_min_uses=2. Приходит запрос к кэшу, в кэше файла
> > нет, и это первое обращение к файлу. Т.е. мы должны сначала скачать
> > файл с хранилища, а потом только отдать его в инет. И при этом сам
> > файл в кэш не положится. Т.е. кэширующий сервер просто ненужный
> > посредник между браузером и хранилищем файлов. Было бы возможно
> > оптимальнее кэширующему серверу выдать вместо файла, взятого из
> > хранилища, временный редирект на хранилище. Т.е. отдавать файл
> > напрямую с хранилища, если он не будет класться в кэш. При этом
> > экономится и трафик и ресурсы кэширующего сервера.
>
> > Возможно подобное можно сделать уже сейчас, только я не знаю как.
>
> На мой взгляд, это возможно сделать уже сейчас как-то так (Idea only):
>
> Запрос приходит в локейшн, где уже прописано кеширование.
> Если в кеше есть ответ на запрос, то отдается ответ.
>
> Но проксирование запроса в этом локейшне настроено не на хранилище, а на
> "маршрутизирующий скрипт",
> и если в кеше ответа нет, то запрос улетает на "маршрутизирующий скрипт",
> который обсчитывает
> количество обращений, знает на каком хранилище лежит требуемый файл и тд
>
> В скрипте делаем проверки. Если количество обращений не достигло порога -
> отдаем временный редирект.
> Если достигло - отдаем X-Accel-Redirect на проксирование запроса на
> хранилище.
> Единственное, что потребуется - описать в локейшне, на который отправит
> X-Accel-Redirect, те же самые настройки кеширования, что и в основном
> локейшне, чтобы при повторном
> запросе данные отдались из кеша Nginx.
X-Accel-Redirect ничем не отличается от существующего поведения самого
nginx, только.
>
> Возможно это же можно реализовать на встроенном perl..
>
> Всё это только теоретическая идея по возможной реализации, ничего не
> проверялось.
>
> --
> С уважением,
> Pavel mailto:pavel2000 at ngs.ru <javascript:;>
>
> _______________________________________________
> nginx-ru mailing list
> nginx-ru at nginx.org <javascript:;>
> http://mailman.nginx.org/mailman/listinfo/nginx-ru
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.nginx.org/pipermail/nginx-ru/attachments/20130120/852c736f/attachment.html>
Подробная информация о списке рассылки nginx-ru