Одна строка лога — десятки килобайт записи: снова спор о systemd-journald
На GitHub systemd появился отчёт об ошибке (issue #40262), автор которого утверждает, что демон systemd-journald создаёт непропорционально большую дисковую нагрузку по сравнению с классическим syslog. Заголовок формулирует проблему выпукло: запись одной строки лога превращается в 49 КБ и более фактических записей на диск на ext4 и свыше 110 КБ на btrfs.
Что наблюдал автор
В качестве примера приводится виртуальная машина под Debian 13 (systemd 257.9, ядро 6.12.57, файловая система XFS), на которой haproxy пишет примерно две строки лога в секунду. При такой скромной активности ВМ показывает около 50 операций ввода-вывода в секунду — то есть на каждую записанную строку приходится заметно больше дисковых обращений, чем можно было бы ожидать.
Автор специально выбрал виртуальную машину как площадку для замеров. По его словам, в предыдущем обсуждении аналогичной проблемы (issue #15292, закрытом, как он считает, без внятной причины) претензии отклонялись доводом, что iotop неточен и что лишние операции якобы порождает уже ядро при объединении записей. Показатели на уровне ВМ, утверждает он, отражают трафик уже после всех механизмов ядра — а значит, дело не в том, что «ядро раздувает число IOPS», а в том, что журналирование само по себе медленное.
Претензии к формату
Основная мысль отчёта в том, что journald использует крайне неэффективный формат хранения: файлы журналов оказываются в несколько раз больше того объёма данных, который в них реально записан. Заодно автор высказывает давнюю к journald претензию — при неаккуратной перезагрузке журналы, по его опыту, повреждаются достаточно часто, чтобы говорить о недостаточной устойчивости бинарного формата.
Ожидаемое поведение он формулирует просто: объём записи должен быть в пределах того же порядка величины, что и у syslog.
Статус
На момент публикации задача помечена меткой bug и остаётся открытой, без назначенного исполнителя. Сообщение отсылает к более раннему, закрытому обсуждению той же темы — что делает разговор скорее продолжением давнего спора о цене, которую бинарный журнал systemd берёт за свои возможности индексирования и структурирования логов, чем внезапным открытием.
Источник: Hacker News
Комментарии
Войдите, чтобы комментировать.