Эффективный дисковый ввод / вывод для регистрации - PullRequest
0 голосов
/ 24 февраля 2012

У меня есть приложение, которое должно регистрировать много данных. Мне было интересно, лучше ли с точки зрения ввода-вывода разделять данные на файлы, например, журналы транзакций переходят в один файл, а журналы производительности - в отдельный файл или этоЛучше записать в один файл (я могу разделить файлы, когда я использую их позже).

Будет ли разница в задержке записи, если есть 1 файл против нескольких файлов, что быстрее?

1 Ответ

0 голосов
/ 25 февраля 2012

Никто не сможет сказать, вам нужно проверить себя и учесть следующее:

  • Записываются ли журналы транзакций и журналы производительности из одного потока?
  • Дисковый ввод / вывод не должен быть узким местом, иначе это, вероятно, не будет иметь значения.
  • Поток API (fprintf) в glibc использует внутренние блокировки, это может стать узким местом (если ввод / вывод отсутствует).
  • На это влияет производительность базовой файловой системы.
  • Если вам все равно придется разделить их позже, то, вероятно, нет смысла записывать в один файл. Особенно, если оба имеют разный формат.
  • Преждевременная оптимизация - корень всего зла.
...