在 Windows/NTFS 上压缩 Program Files 的性能影响

在 Windows/NTFS 上压缩 Program Files 的性能影响

在 Windows NTFS 上压缩 Program Files 对性能有何影响?

在一台快速的多核机器上,解压的开销很小。机器通常受磁盘限制,如果可以通过压缩减少磁盘负载,通常可以加快速度。(微软表示,Windows Search 索引的内置压缩实际上可以提高速度。)

另一方面,Windows 的虚拟内存很复杂。如果文件被压缩,它们可能不能简单地被调出。而且可能还有其他问题。

简而言之:在一台速度快、多核但磁盘相对较慢的机器上,压缩 Program Files 会对性能产生什么影响?

答案1

对于大多数服务器机器来说,它可能应该在启动和初始化时命中 %PROGRAM_FILES% 中的文件,而之后则不会经常命中 - 它应该获取运行内存所需的任何内容,然后根据需要进行页入/页出,而不必再次命中磁盘上的实际原始文件。

一个例外是日志文件,如果它们位于您压缩的目录树中。在这种情况下,它会进行大量的写入,因此我认为压缩根本无法提高 IO 性能。如果您的应用程序涉及生成或查找大文件,那也会有所不同。但无论哪种情况,您都不应该将这些文件放在系统卷上;如果它们已满,您的系统就会崩溃,因此您应该将这些临时或不断增长的文件保存在不同的分区上(您可能想要或不想压缩这些分区)。

另一个例外是,如果它在正常运行期间遇到大量不同的二进制文件,但我想这在台式机上比在大多数服务器上更常见。一个例外是 Citrix 或 TS 服务器呈现完整的桌面会话;我相信还可能存在其他一些场景。

因此,我想最好的答案是“这取决于您的服务器的工作负载。尝试使用和不使用适当的基准测试,然后告诉我们您的发现。”

附注:如果您有新硬件,并且配置正确,为什么需要担心 c:\ 上的可用磁盘空间?

答案2

写入操作会比较慢。读取操作 - 视情况而定。这里有一些有用的信息: https://superuser.com/questions/411720/how-does-ntfs-compression-affect-performance

我个人的经验是,它对性能有不良影响。不过,我还没有进行过彻底的基准测试,幸运的是 tomshardware 有:

https://www.tomshardware.com/reviews/ssd-ntfs-compression,3073-8.html

https://www.tomshardware.com/reviews/ssd-ntfs-compression,3073-9.html

https://www.tomshardware.com/reviews/ssd-ntfs-compression,3073-10.html

结论是肯定的,它明显更慢,特别是程序加载时间。

相关内容