Mal*_*tre 13 iis compression ntfs logging
在 IIS 日志文件夹和文件上使用 NTFS 压缩是一个好习惯吗?
通过这样做,我能够从 20GB 减少到 7GB。IIS 日志是每天的,平均大小为 20MB,但有些极端的日子有 200MB。
我想知道 IIS 是否必须在内存中打开整个文件,强制 NTFS 每次解压缩 20MB(或在极端情况下为 200MB)?或者是否有一些魔法可以让 IIS 附加内容?对系统有什么影响?如果我们增加流量,它会成为一个问题吗?
我应该每小时而不是每天拆分它们吗?
任何关于此的微软官方文件?我找不到一个。
Eva*_*son 13
我在很多 IIS 服务器上压缩我的 IIS 日志,尽管主要是托管 Outlook Web Access/App 或低容量网站的服务器。我这样做没有问题,而且非常喜欢节省磁盘空间。
通常,您通过做出此决定来交换 CPU 以换取存储。如果您一开始就受 CPU 限制,那么这可能不是一个好的折衷方案。对于我的 OWA 服务器,每天可以增加千兆字节的日志(感谢 ActiveSync 设备),我认为权衡是一个很好的选择。
NTFS 文件系统驱动程序处理压缩,因此它不会改变 IIS 写入文件的方式。
编辑:
您也可能会在一些 I/O 带宽和 IOPS 之间进行权衡。如果您的容量足够大,以至于您的日志写入会大量消耗 I/O 资源,那么您也可以看到启用压缩后 I/O 消耗量的下降。
您要说明这如何影响您的唯一方法是自己对其进行基准测试。取一个禁用压缩的基线,然后启用并比较它们。不需要挥动魔杖就能知道它会如何影响你——有太多的不确定因素在起作用。
Pet*_*orf 10
由于埃文已经给出了一般性答案,我想解决您的两个子问题:
IIS 是否每 X 分钟刷新一次日志?
http.sys,IIS 的内核模式部分负责日志记录,并在将数据写入日志文件之前在内存中缓冲数据。我不确定,但我认为它不会每 x 秒刷新一次,更有可能是在其缓冲区变满之后。
添加单行时是否需要读取整个文件?
不,NTFS 会将文件更新写入其自己的缓存中,然后压缩数据并将其异步附加到文件中。写入压缩文件并不比写入未压缩文件慢得多。
所以在 IIS 日志文件上使用 NTFS 压缩应该没有问题。
资料来源:
IIS 7 资源工具包,第 15 章:日志记录 - Microsoft Press 2008
Windows Internals 第 6 版第 2 部分,第 12 章:文件系统 Microsoft Press 2012