web-dev-qa-db-ja.com

IISログフォルダでNTFS圧縮を使用することは良い習慣ですか?

IISログフォルダーとファイルでNTFS圧縮を使用することは良い方法ですか?

これにより、20GBから7GBに下げることができました。 IISログは1日あたりで、平均サイズは20MBですが、極端な日には200MBもあります。

IISがメモリ内のファイル全体を開かなければならず、NTFSが毎回20MB(極端な場合は200MB)を解凍する必要があるのでしょうか。または、IISがコンテンツを追加できるようにする魔法はありますか?システムへの影響は何ですか?トラフィックを増やすと問題になりますか?

1日ごとではなく1時間ごとに分割する必要がありますか?

これに関する公式のマイクロソフトのペーパー?見つかりませんでした。

13
Malartre

エヴァンはすでに一般的な答えを出していたので、私はあなたのサブ質問のうちの2つに取り組みたいと思います。

IIS X分ごとにログをフラッシュしますか?

http.sys、IISのカーネルモードの部分は、ログを記録する責任があり、ログファイルに書き込む前にメモリ内のデータをバッファリングします。確信はありませんが、考えていませんx秒ごとにフラッシュを実行します。バッファがいっぱいになった後の可能性が高くなります。

1行を追加する場合、ファイル全体を読み取る必要がありますか?

いいえ、NTFSはファイルの更新を独自のキャッシュに書き込み、データを非同期で圧縮してファイルに追加します。圧縮ファイルへの書き込みは、非圧縮ファイルへの書き込みよりも大幅に遅くはありません。

したがって、IISログファイルでNTFS圧縮を使用しても問題はありません。

出典:

IIS 7リソースキット、第15章:ログ-Microsoft Press 2008

Windows Internals 6th Edition Part2、Chapter 12:ファイルシステムMicrosoft Press 2012

10
Peter Hahndorf

IIS多くのIISサーバーにログを記録しますが、主にOutlook Web Access/Appまたは低ボリュームのWebサイトをホストしているサーバーですが、圧縮します。それを行う問題、そしてディスクスペースの節約と全く同じです。

一般に、この決定を行うことで、ストレージとCPUを交換します。そもそもCPUに縛られている場合、これはおそらく良いトレードオフではありません。 1日あたり数ギガバイトのログが増大する可能性がある私のOWAサーバーの場合(ActiveSyncデバイスに感謝します)、トレードオフは良いものだと思います。

NTFSファイルシステムドライバーは圧縮を処理するため、IISがファイルに書き込む方法は変わりません。

編集:

また、潜在的に、I/O帯域幅とIOPSのトレードオフもあります。ログの書き込みがI/Oリソースのかなりの消費であるほど十分な量の場合、圧縮を有効にすると、I/O消費も低下する可能性があります。

これがどのように影響するかを知る唯一の方法は、自分でベンチマークすることです。圧縮を無効にしてから有効にしてベースラインを取得し、比較します。それがどのようにあなたに影響を与えるかを知るために手を振る魔法の杖はありません-遊びにはあまりにも多くの非決定論的要素があります。

13
Evan Anderson