Re: Перечитка конфигураций nginx

2022-07-07 Пенетрантность Илья Шипицин
а у вас в конфигах много днс имен ?

у нас основное время на "nginx -t" складывалось из днс запросов.
кеш днс (systemd-resolved  nscd  dnsmasq ...) включен ?

еще SSL серты могут много занимать на первоначальном парсинге

чт, 7 июл. 2022 г. в 13:52, ru4ag :

> Здравствуйте.
>
> Испольузем на больших серверах панель ISPmanager, в качестве веб-сервов
> связка nginx+apache(в некоторых случая nginx+php-fpm), столкнулись с такой
> ситуация что  выполнение команды nginx -t может происходить более чем 5-8
> секунд, что напрямую влияет на работу панели и т.д., в ходе анализа
> выявленно что для каждого домена панель создает несколько include, и один
> из
> них "подключает" 7-8 стандартных файлов с директории
> /etc/nginx/vhosts-includes/ и выходит что при каждом nginx -t проверяеться
> конфигурация домена, и каждого из его includ'ов, и в результате из общего
> количества открытия файлов во время nginx -t(используя просмотр через
> strace) в ~60тис файлов, 30тис обращений являються обращениями к одним и
> тем
> же 8 файлам. То есть по 3,5тис обращений на одини тот же файл.
>
> Вот и возникакет вопрос, ести ли какой то функционал возможно-го кеша, что
> бы подключенные через include одни и те же файлы не проверялись при
> 2,3,4...проверке(т.к. достаточно 1 раз проверить), и если нет(что скорее
> всего), стоит ли ожидать какой-то такой реализации в ядре nginx(как по мне
> "загнать" файл в кеш, и при последующей его проверка во время выполнения
> nginx -t/reload/restart уже не проверять)?
>
> Posted at Nginx Forum:
> https://forum.nginx.org/read.php?21,294669,294669#msg-294669
>
> ___
> nginx-ru mailing list -- nginx-ru@nginx.org
> To unsubscribe send an email to nginx-ru-le...@nginx.org
>
___
nginx-ru mailing list -- nginx-ru@nginx.org
To unsubscribe send an email to nginx-ru-le...@nginx.org


Re: Перечитка конфигураций nginx

2022-07-07 Пенетрантность Evgeniy Berdnikov
On Thu, Jul 07, 2022 at 05:38:57AM -0400, ru4ag wrote:
> увы, такая логика панели по построению конфигураций, мы рассматриваем еще
> вариант свести все ти 8 файлов из инклуда в один файл, тогда вместо 30тис
> перечитываний, будет 3,5 тис. перечитывания конкретно него. Но не уверены
> что какое-то обновление панели это все не сломает, да и все-равно остаеться
> момент что один и тот жефайл перечитыветься 3 тис раз.

 Логика панели тут побоку. Панель раскладывает конфигурацию в набор файлов.
 Вам нужно этот набор превратить в один файл. Для этого делаете свой парсер
 директив "include", возможно, применяя для этого штатные средства других
 препроцессоров, чтобы include объявить макросом.
-- 
 Eugene Berdnikov
___
nginx-ru mailing list -- nginx-ru@nginx.org
To unsubscribe send an email to nginx-ru-le...@nginx.org


Re: Перечитка конфигураций nginx

2022-07-07 Пенетрантность ru4ag
увы, такая логика панели по построению конфигураций, мы рассматриваем еще
вариант свести все ти 8 файлов из инклуда в один файл, тогда вместо 30тис
перечитываний, будет 3,5 тис. перечитывания конкретно него. Но не уверены
что какое-то обновление панели это все не сломает, да и все-равно остаеться
момент что один и тот жефайл перечитыветься 3 тис раз.

Posted at Nginx Forum: 
https://forum.nginx.org/read.php?21,294669,294675#msg-294675

___
nginx-ru mailing list -- nginx-ru@nginx.org
To unsubscribe send an email to nginx-ru-le...@nginx.org


Re: Перечитка конфигураций nginx

2022-07-07 Пенетрантность Evgeniy Berdnikov
On Thu, Jul 07, 2022 at 05:16:38AM -0400, ru4ag wrote:
> и проблема не в числе инклюдов, а в том что перечитываеться один и тот же
> файл(что идет в инклюде каждого хоста) множество раз, хотя логично было бы
> его перечитать 1 раз.

 Интерпретация инклуда зависит от того, в какой блок он считывается...

 Если хочется сэкономить на на сисколах open() и close(), то что мешает
 генерить общий конфиг (через m4, cpp, etc), и затем загружать его целиком?
-- 
 Eugene Berdnikov
___
nginx-ru mailing list -- nginx-ru@nginx.org
To unsubscribe send an email to nginx-ru-le...@nginx.org


Re: Перечитка конфигураций nginx

2022-07-07 Пенетрантность ru4ag
отключение данной директории(просто переименовав в
/etc/nginx/vhosts-includes_) снижало время на перечитывание до 1.8-2сек, что
в 2-3 раза быстрее.

и проблема не в числе инклюдов, а в том что перечитываеться один и тот же
файл(что идет в инклюде каждого хоста) множество раз, хотя логично было бы
его перечитать 1 раз.

Posted at Nginx Forum: 
https://forum.nginx.org/read.php?21,294669,294672#msg-294672

___
nginx-ru mailing list -- nginx-ru@nginx.org
To unsubscribe send an email to nginx-ru-le...@nginx.org


Re: Перечитка конфигураций nginx

2022-07-07 Пенетрантность Anton Kiryushkin
5-7 секунд еще не долго. Вот минут 5 - это было больно. И насколько я
помню, влияет не число инклудов, а число локейшенов и апстримов.

On Thu, 7 Jul 2022 at 09:54, ru4ag  wrote:

> Здравствуйте.
>
> Испольузем на больших серверах панель ISPmanager, в качестве веб-сервов
> связка nginx+apache(в некоторых случая nginx+php-fpm), столкнулись с такой
> ситуация что  выполнение команды nginx -t может происходить более чем 5-8
> секунд, что напрямую влияет на работу панели и т.д., в ходе анализа
> выявленно что для каждого домена панель создает несколько include, и один
> из
> них "подключает" 7-8 стандартных файлов с директории
> /etc/nginx/vhosts-includes/ и выходит что при каждом nginx -t проверяеться
> конфигурация домена, и каждого из его includ'ов, и в результате из общего
> количества открытия файлов во время nginx -t(используя просмотр через
> strace) в ~60тис файлов, 30тис обращений являються обращениями к одним и
> тем
> же 8 файлам. То есть по 3,5тис обращений на одини тот же файл.
>
> Вот и возникакет вопрос, ести ли какой то функционал возможно-го кеша, что
> бы подключенные через include одни и те же файлы не проверялись при
> 2,3,4...проверке(т.к. достаточно 1 раз проверить), и если нет(что скорее
> всего), стоит ли ожидать какой-то такой реализации в ядре nginx(как по мне
> "загнать" файл в кеш, и при последующей его проверка во время выполнения
> nginx -t/reload/restart уже не проверять)?
>
> Posted at Nginx Forum:
> https://forum.nginx.org/read.php?21,294669,294669#msg-294669
>
> ___
> nginx-ru mailing list -- nginx-ru@nginx.org
> To unsubscribe send an email to nginx-ru-le...@nginx.org
>


-- 
Best regards,
Anton Kiryushkin
___
nginx-ru mailing list -- nginx-ru@nginx.org
To unsubscribe send an email to nginx-ru-le...@nginx.org