Re: mirror только *_pass

Илья Шипицин chipitsine на gmail.com
Ср Окт 3 15:04:25 UTC 2018


ср, 3 окт. 2018 г. в 17:36, Maxim Dounin <mdounin на mdounin.ru>:

> Hello!
>
> On Wed, Oct 03, 2018 at 01:23:46PM +0500, Илья Шипицин wrote:
>
> > ср, 3 окт. 2018 г. в 12:11, Roman Arutyunyan <arut на nginx.com>:
> >
> > > On Wed, Oct 03, 2018 at 08:10:13AM +0300, Alexander Azarov wrote:
> > > > Здравствуйте!
> > > >
> > > > У меня вопрос про mirror. Он у меня срабатывает, только если в
> локейшне
> > > > есть proxy_pass. Если там rewrite..redirect или return, то подзапрос
> не
> > > > случается, в логе совсем пусто (даже в debug логе). Так и должно
> быть?
> > > Если
> > > > да, то может быть имеет смысл что-то в лог писать, а то нелогично
> как-то
> > > > получается, директива в конфиге есть, а действия никакого нет.
> > >
> > > Миррор создается в фазе precontent, а rewrite и return - на более
> ранней
> > > фазе
> > > rewrite.  В вашем случае запрос завершается в фазе rewite и не доходит
> до
> > > фазы precontent, в которой создается mirror.  Дело тут не в
> proxy_pass, а
> > > в rewrite/return.  Если бы в локейшене просто отдавалась статика, то
> mirror
> > > бы также работал.  Непонятно что можно в этом случае писать в лог, если
> > > запрос просто завершается на более ранней стадии.
> > >
> >
> > я наверное, неправильно поступлю. но у меня два вопроса ))
> >
> > 1) мы игрались с mirror - штука годная. но когда мы хотели ее подебажить,
> > мы добавили access_log, в него ничего не записалось. мы включили снифер -
> > запросы увидели. не совсем понятно, лог можно указать, с точки зрения
> nginx
> > директива access_log в локейшене миррора не является ошибкой. но не
> > логирует. надо доки читать. оченьсложна
>
> Mirror использует подзапросы, аналогично SSI и add_after_body.
> Подзапросы рассматриваются как часть основного запроса, и отдельно
> логгируются, только если это специально разрешить,
> http://nginx.org/r/log_subrequest.
>
>
т.е. это гибкость ? могу в локейшене с митррором указать access_log, не
указать логирование подзапросов, и ничего
логироваться не будет ? с какой целью заложено такое ?


> > 2) вот допустим, у меня точка, на которую я делаю зеркалирование -
> > тормозная. то соединения не устанавливаются, то запросы подтупливают...
> не
> > будет ли это приводить к деградации воркера ?
>
> Подзапрос mirror'а выполняются параллельно основному запросу.
> Однако если он не успеет завершиться к моменту окончания основного
> запроса - это завершение запроса задержит, и соответственно
> задержит последующие запросы в этом же соединении в случае
> постоянных соединений в HTTP/1.x.  То есть плохо работающий
> mirror-бэкенд - может увеличивать latency.
>
> --
> Maxim Dounin
> http://mdounin.ru/
> _______________________________________________
> nginx-ru mailing list
> nginx-ru на nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-ru
----------- следущая часть -----------
Вложение в формате HTML было извлечено…
URL: <http://mailman.nginx.org/pipermail/nginx-ru/attachments/20181003/af26f424/attachment-0001.html>


Подробная информация о списке рассылки nginx-ru