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