Журнал Java: несколько небольших файлов против одного большого - PullRequest
2 голосов
/ 13 февраля 2011

Используя log4j в Unix, какой Appender будет лучше всего писать 1000Meg:

1) Используя RollingFileAppender, записывает 10 файлов по 100 Мег

или

2) ИспользуяFileAppender и запись одного файла 1000Meg

Другими словами, имеет ли значение размер использования Java в Unix?

Спасибо

Ответы [ 3 ]

2 голосов
/ 13 февраля 2011

Нет разницы в производительности на стороне Java между записью в маленький файл или записью в большой файл. может иметь небольшую разницу на уровне ОС, когда файл становится настолько большим, что требуется дополнительный уровень блоков индекса (зависит от FS), но, вероятно, не стоит беспокоиться о.

Реализация режима прокрутки файлов будет стоить производительности.Для этого необходимо:

  • проверить / запомнить размер файла,
  • закрыть текущий,
  • переименовать его,
  • открытьновый файл.

Мне кажется, что это маловероятно.(Тем не менее, стоило бы измерить , чтобы увидеть, не влияет ли это на производительность. Кроме того, вам, вероятно, следует спросить себя, не ведете ли вы слишком много журналирования .)

Вы должны сравнить все вышеперечисленное с преимуществами прокрутки файлов:

  • Ограниченный размер файлов журналов означает, что ваши журналы не будут заполнять диск, вызывая проблемы дляприложения и, возможно, другие на том же компьютере.
  • Меньшие файлы журнала могут упростить / ускорить поиск событий в определенное время.(Запуск less на 1000-мегабайтном файле может быть болезненным ...)
0 голосов
/ 06 июля 2017

Я думаю, что всегда предпочтительнее использовать маленькие файлы, чем большие, потому что они более управляемы.Также учтите, что с большими файлами у вас могут возникнуть проблемы в случае заполнения файловой системы из-за риска удаления файла журнала, когда процесс запущен и работает, чтобы освободить место на диске.

0 голосов
/ 13 февраля 2011

Они оба легко запишут файлы размером 1000 МБ. Я не понимаю, почему они должны работать по-другому.

Вам нужен RollingFileAppender, хотя для того, чтобы установить максимальный общий размер, которого могут достичь файлы журнала. В противном случае вы можете исчерпать пространство на жестком диске, предполагая, что ваше приложение имеет трафик.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...