1

私は毎日たくさんのログを書きます (1 日あたり数百万の文字列、最大 1 Gb のログ)。AutoFlush設定したときにコンピューターの速度が大幅に低下するか、HDD が「損傷」するか (これが重要な場合は SaS 15000)に興味がありますか? HDD は、新しい行が書き込まれるたびに高価な余分な操作を行いますか (ファイルを開く、閉じるなどの変更など)。

おそらく使用すべきではありませんAutoFlushが、他の問題のトラブルシューティングに使用したい場合があります。

4

1 に答える 1

3

誰があなたの質問に反対票を投じたのか、その理由はわかりません(推測はできますが)。

http://msdn.microsoft.com/en-us/library/system.io.streamwriter.autoflush.aspxによると、使用AutoFlushするとコードが確実に遅くなります。速度がどの程度低下するか、およびログ メッセージを取得する価値があるかどうかを判断するには、いくつかのテストを行う必要があります。

もし私があなただったら、ロギングを真剣に見直します - 本当にそんなに多くのデータが毎日必要ですか? 私の推測では、すべてではないにしてもほとんどを除去できれば、プログラムのパフォーマンスは劇的に向上します。

何らかの理由でログを削除できない場合は、log4net や Enterprise Logging などのログ ライブラリを調べてください。c# でログを記録する方法を参照してください。詳細については。これらのライブラリは、あまりにも多くの時間を手にしている人々によって書かれ、徹底的にパフォーマンスがテストされています。ライブラリには、自家製のコードよりもエラーやボトルネックが含まれる可能性が低くなります。

于 2012-07-25T20:51:16.637 に答える