Re: Влияние на производительность проверок на существоание файла (-f) в rewrite модуле

Vladimir Getmanshchuk vladget на gmail.com
Пт Май 24 06:42:51 UTC 2019


Кстати конструкцию можно сильно упростить через try_files
/maintenance_on.html ... ;

On Thu, May 23, 2019 at 3:44 PM Maxim Dounin <mdounin на mdounin.ru> wrote:

> Hello!
>
> On Thu, May 23, 2019 at 03:10:28PM +0500, Dmitry Sergeev wrote:
>
> > Всем привет. Не поделится ли кто-нибудь опытом, сильно ли может повлиять
> > на произовдительность конструкция:
> >
> > >      location / {
> > >          if (-f /var/www/maintenance_on.html) {
> > >              return 503;
> > >          }
> > >
> > >
> > >          ...
> > >      }
> > >
> > >
> > >      # Error pages.
> > >      error_page 503 /maintenance_on.html;
> > >      location = /maintenance_on.html {
> > >          root /var/www;
> > >      }
> > Например 7-10 location  с такими проверками на хосте 4K запросов в
> секунду?
> > На каждый запрос он будет проверять существование файла? Или как-то это
> > делает по таймауту, который можно настроить?
>
> При такой конфигурации на каждый запрос[*] будет делаться
> системный вызов stat().  Скорее всего необходимые данные будут в
> кэше операционной системы, и этот системный вызов будет быстрым,
> так что на производительности это скажется минимально.
>
> Так что если речь не идёт о борьбе за каждый процент - про
> производительность подобной конструкции можно не переживать.
> Другой вопрос, что сама по себе конструкция не очень, выкатку
> нужно уметь делать без перерывов в обслуживании.
>
> [*] Вообще-то в можно ещё и настроить кэширование внутри nginx'а,
> чтобы сэкономить системные вызовы (http://nginx.org/r/open_file_cache).
> Но практика показывает, что на производительность это влияет
> минимально, а вот выстрелить себе в ногу неатомарным изменением
> файлов станет легко.
>
> --
> Maxim Dounin
> http://mdounin.ru/
> _______________________________________________
> nginx-ru mailing list
> nginx-ru на nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-ru



-- 
Yours sincerely,
Vladimir Getmanshchuk
----------- следущая часть -----------
Вложение в формате HTML было извлечено…
URL: <http://mailman.nginx.org/pipermail/nginx-ru/attachments/20190524/cfc29887/attachment.html>


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