Re: Влияние на производительность проверок на существоание файла (-f) в rewrite модуле
Dmitriy Lyalyuev
dmitriy на lyalyuev.info
Пт Май 24 07:06:12 UTC 2019
В этом случае код ответа будет 200, а не 503, как в условии.
> 24 мая 2019 г., в 09:42, Vladimir Getmanshchuk <vladget на gmail.com> написал(а):
>
> Кстати конструкцию можно сильно упростить через try_files /maintenance_on.html ... ;
>
> On Thu, May 23, 2019 at 3:44 PM Maxim Dounin <mdounin на mdounin.ru <mailto: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 <http://nginx.org/r/open_file_cache>).
> Но практика показывает, что на производительность это влияет
> минимально, а вот выстрелить себе в ногу неатомарным изменением
> файлов станет легко.
>
> --
> Maxim Dounin
> http://mdounin.ru/ <http://mdounin.ru/>
> _______________________________________________
> nginx-ru mailing list
> nginx-ru на nginx.org <mailto:nginx-ru на nginx.org>
> http://mailman.nginx.org/mailman/listinfo/nginx-ru <http://mailman.nginx.org/mailman/listinfo/nginx-ru>
>
> --
> Yours sincerely,
> Vladimir Getmanshchuk
> _______________________________________________
> 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/20190524/7b944c3a/attachment-0001.html>
----------- следущая часть -----------
Вложение не в текстовом формате было извлечено…
Имя: smime.p7s
Тип: application/pkcs7-signature
Размер: 3884 байтов
Описание: отсутствует
URL: <http://mailman.nginx.org/pipermail/nginx-ru/attachments/20190524/7b944c3a/attachment-0001.bin>
Подробная информация о списке рассылки nginx-ru