На веб-сайте с довольно высоким трафиком, работающем в виртуальных контейнерах (VMware) и не имеющем локального хранилища, нам удалось значительно увеличить пропускную способность (количество запросов в секунду), переключившись с входа непосредственно в файлы журнала (которые находятся в удаленном сетевом хранилище) на rsyslogd .
По сути, мы перешли от синхронного к асинхронному ведению журнала. Работники веб-сервера пишут с использованием syslog (3) в некоторый буфер памяти, а rsyslogd (8) отправляет данные в реальный файл параллельно и в своем собственном темпе, поэтому процессы не блокируются при вводе-выводе при ведении журнала.
Все идет нормально. Проблема в том, что иногда rsyslogd не может записывать (например, кратковременное / длительное отключение сети) и входящий буфер быстро заполняется.
Мои вопросы:
- Может ли клиент когда-либо блокироваться при записи в rsyslogd с использованием syslog (3) ?
- Есть ли способ посмотреть статистику rsyslogd , например, насколько большой / полный буфер?
- Есть ли способ увеличить размер входящего буфера rsyslogd ?