Сколько журналов в секунду обычно обрабатываются серверами системных журналов? Под серверами системного журнала я имею в виду rsyslog, syslog-ng, splunk и т. Д. Задача состоит в том, чтобы выяснить, с какой частотой логов в секунду ОС (ядро Linux> = 3.0) становится узким местом.
На данный момент я могу пересылать около 10 000 журналов в секунду с помощью UDP. Если я увеличу скорость, логи начнут падать. Я не знаю, что вызывает падение: приложение (это настраиваемый сервер журнала сборки) или ОС?
Не могли бы вы поделиться своим опытом относительно того, сколько журналов в секунду вы можете передавать без каких-либо падений?
На этот вопрос нельзя ответить просто в его нынешней форме. Нет общего правила для верхнего предела скорости передачи журналов. Это может варьироваться в зависимости от нескольких факторов, таких как конфигурация / надежность вашей сети (между отправителем и получателем), спецификации машин, загружены они или нет и т. Д.
UDP не является надежным протоколом. Вы можете попробовать использовать TCP, поскольку это протокол с установлением соединения, который может использоваться для надежной передачи данных. Это накладывает немного больше накладных расходов, чем UDP, но, возможно, стоит попробовать.
Вы можете увеличить UDP-буферы ядра, но это не решит проблему. Если вы хотите надежно пересылать такое количество сообщений, вам следует забыть о системном журнале UDP и вместо этого использовать TCP. Мы измерили более 500 000 событий в секунду с nxlog при передаче сообщений системного журнала по TCP.