Re: Тест nginx -- сколько сообщений в log syslog без потерь?
Anatoliy Melnik
anatoliy.melnik на showjet.ru
Чт Янв 18 16:15:10 UTC 2024
Слив в 1 Syslog с 3-х nginx -ов, до суммарно 150тыс/сек все сходится (3х50), расхождение +- 0.1% , на 200 тыс (3х67тыс) расхождение достигает 4-7% (в syslog-е на 4-7% меньше, чем сумма по бекэндам)
Результат не зависит от использования UDP или unixSocket (на локальном сервере).
Не зависит от того, локальный это syslog или на соседнем сервере (для UDP).
Ситуация повторяется как минимум на 2-х версиях nginx
nginx version: nginx/1.18.0
И
nginx version: nginx/1.24.0
Замена syslog сервера на самописную версию, единственная задача которой из unixSocket блок данных записать в файл дает такие же результаты количественные.
Возможно я плохо искал методы тюнинга unixSocket, к сожалению не нашел.
----- Исходное сообщение -----
От: "Maxim Dounin" <mdounin на mdounin.ru>
Кому: "nginx-ru" <nginx-ru на nginx.org>
Отправленные: Среда, 17 Январь 2024 г 20:02:55
Тема: Re: Тест nginx -- сколько сообщений в log syslog без потерь?
Hello!
On Wed, Jan 17, 2024 at 02:49:30PM +0300, Anatoliy Melnik via nginx-ru wrote:
> Здравствуйте. Есть nginx-ы, несколько разных версий. Проксируют
> запросы к бекэндам. Логи льются в syslog (слив в файлы напрямую
> из nginx не желателен). По косвенным методам контроля вылезла
> проблема: До примерно 50 тыс/сек сообщений статистика прокси и
> бекэндов сходится, а вот начиная примерно с 50тыс/сек начинаются
> расхождения. nginx->syslog фиксирует меньше событий, чем сумма
> по бекэндам. Чем выше интенсивность запросов, тем больше
> расходятся данные. Сначала грешил на syslog, но детальные
> разборы полетов говорят, что скорее всего проблема в nginx. У
> кого-то что-то такое наблюдалось или нет? При сливе логов с 2-х
> nginx-ов в один syslog все хорошо до примерно 100тыс/сек, т.е.
> скорее всего syslog не виноват. Кто-то с таким сталкивался?
Запись логов в syslog - не гарантирует доставку всех сообщений.
Если syslog-сервер не справляется или есть проблемы с сетью между
nginx'ом и syslog-сервером - сообщения будут просто осыпаться на
пол. (Где-то тут должна быть шутка про UDP, но она потерялась.)
Если хочется улучшить ситуацию - я бы начал с тюнинга буферов
сокета syslog-сервера.
--
Maxim Dounin
http://mdounin.ru/
Подробная информация о списке рассылки nginx-ru