2012-02-24 10 views
0

多くのデータをログに記録するアプリケーションがあります。データをファイルに分割するI/Oの方が良いかどうかは疑問でした。トランザクションログは1つのファイルとパフォーマンスログを別々のファイルに移動するか、1つのファイルに書き込むほうが良い(後で使用するときにファイルを分割することができます)。ロギングのためのディスクI/Oを効率化する

複数のファイルに対して1つのファイルがある場合、書き込みのレイテンシに差が生じるでしょうか?

答えて

0

誰もが言うことはできないだろう、あなた自身のためにテストし、次のことを考慮する必要があります。

  • が同じスレッドから書かれたトランザクション・ログとパフォーマンスログはありますか?
  • ディスクI/Oがボトルネックであってはいけません。そうしないと、おそらく違いはありません。
  • glibcのストリームapi(fprintf)は内部ロックを使用しますが、これはボトルネックになる可能性があります(i/oがそうでない場合)。
  • 基礎となるファイルシステムのパフォーマンスがこれに影響します。
  • とにかく後で分割する必要がある場合は、おそらく1つのファイルに書き込む意味がありません。特に2つのフォーマットが異なる場合は特にそうです。
  • 時期尚早最適化はすべての悪の根源です。
関連する問題