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