Кстати конструкцию можно сильно упростить через try_files /maintenance_on.html ... ;
On Thu, May 23, 2019 at 3:44 PM Maxim Dounin <mdou...@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
_______________________________________________ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru