Тест nginx -- сколько сообщений в log syslog без потерь?
Evgeniy Berdnikov
bgx на protva.ru
Пн Фев 5 21:21:12 UTC 2024
On Mon, Feb 05, 2024 at 09:56:54PM +0200, Gena Makhomed wrote:
> On 05.02.2024 15:21, Anatoliy Melnik via nginx-ru wrote:
> > Если у вас уже есть такое рабочее решение - поделитесь опытом, буду рад вас выслушать.
>
> Создание нормального рабочего решения должно начинаться
> с внимательного чтения документации и исходников nginx.
Насчёт чтения исходников -- выглядит примерно таким же экстремизмом,
как требование знания ассемблера для прикладного программиста... :)
> Какую именно существующую проблему Вы пытаетесь решить
> с помощью ротации лог-файлов с интервалом в 30 секунд?
Товарищ отвечал на этот вопрос:
https://mailman.nginx.org/pipermail/nginx-ru/2024-January/MD45SEEP573DPPEQYAFT26MPMUK5646B.html
> Потому что если программа, которая читает данные из unix socket`а
> отвалится - тогда произойдет переполенение буфера и nginx тогда
> заблокируется на операции записи в unix socket, и как следствие
> этого - перестанет выполнять свою основную функцию - перестанет
> отвечать на запросы клиентов по http / https протоколу.
Если так, и без вариантов, то это скорее недостаток nginx-а. Нужно делать
запись в сислог через неблокирующийся сокет, и дропать записи если
отправлять их не удаётся. Потому что в подавляющем большинстве случаев
факт работоспобности сервиса ВАЖНЕЕ правильности его работы и отсутствия
разных недостатков, вроде пропуска записей в логах. А ещё лучше дать юзеру
ручку, управляющую поведением программы при блокировке записи в лог.
По мне так пример разумного подхода -- сквидовский logfile-daemon.
--
Eugene Berdnikov
Подробная информация о списке рассылки nginx-ru