似乎 CPU 的增长速度已经超过了磁盘速度一段时间。假设具有现代双核 Intel/AMD CPU 和单个普通 SATA 磁盘的台式机或笔记本电脑,对大多数磁盘进行压缩会带来更好的整体性能吗?基本上减少的磁盘带宽是否足以弥补增加的 CPU 负载?我确信真正的答案是“这取决于你在做什么”。通过问这个问题,我希望有人做过这个管道并给出一些例子或陷阱。
似乎 CPU 的增长速度已经超过了磁盘速度一段时间。假设具有现代双核 Intel/AMD CPU 和单个普通 SATA 磁盘的台式机或笔记本电脑,对大多数磁盘进行压缩会带来更好的整体性能吗?基本上减少的磁盘带宽是否足以弥补增加的 CPU 负载?我确信真正的答案是“这取决于你在做什么”。通过问这个问题,我希望有人做过这个管道并给出一些例子或陷阱。
是的,磁盘压缩可以在特定情况下提供更好的性能:
ZFS 和 Btrfs 都是最近的绿地设计,都包含压缩规定是有原因的。
在 HPC 空间中,当应用程序从内存检查点到磁盘时,CPU 通常根本不做任何有用的事情。这次基本上是纯粹的开销。任何使用 CPU 来减少此时间都是一种胜利。
磁盘压缩永远不会给你更好的性能。
由于快速的现代 CPU,它可能几乎不会给您带来任何损失,但这是完全不同的事情。
您假设必须从/向磁盘传输更少的数据可以提高性能;但大数据传输几乎从来都不是 I/O 瓶颈:真正的瓶颈是寻道时间和延迟。现代硬盘在大文件的持续数据传输上非常快,而减慢它们的速度是来自整个磁盘的少量传输。
一些场景:
有些特定情况已经在每个应用程序级别执行此操作,例如视频压缩 - 无法从 dsk 以足够快的速度读取原始高清质量视频的系统可以改为读取压缩信息并使用内存和 CPU 能力对其进行扩展. 没有理由在其他特定情况下也不会出现这种情况,但这可以在应用程序级别得到最好的处理,因此使用的压缩方法针对其目的进行了优化。
请记住,如果整个吞吐量增加,解压缩的性能开销是值得的,所以这个想法不应该被忽视——我认为我们还没有准备好通用性能提升压缩,但理论上是可能的用你拥有的资源(CPU和内存)换取其他地方的提升(从硬盘读取的总数据)
你是在自问自答!这取决于确实是答案。
我能做的最好的概括是:
如果您有一个磁盘读取受限的数据库应用程序,那么可以!性能更好。
我认为您将在台式机/笔记本电脑上进行的大多数活动都不是这种情况。
在我的域(SQL Server)中,我知道如果使用压缩,在重读负载下的报告数据库可以获得更好的性能。我知道 mysql 也是如此。
Microsoft 有一份关于 SQL Server 2008 中压缩功能的白皮书。除非您是 DBA,否则阅读量并不大,但这里有一张图表支持我的概括:
CPU 速度一直快于磁盘速度。恕我直言,压缩会增加开销,从而降低性能。
我昨天正在阅读与 OSX 类似的东西,它是文件系统的压缩——基本上答案围绕着你想要压缩的内容——在这个例子中,他谈论的是“FAT”数据;文件结构、属性、元数据等存储在一起时可以被压缩以节省空间,并且比到处寻找头来查找每个文件的数据更快地读入 cpu...
无论如何,如果您正在考虑这些事情,值得一读:-p
来自: http ://arstechnica.com/apple/reviews/2009/08/mac-os-x-10-6.ars/3
Microsoft 磁盘压缩是丑陋的 OLD。与 80 年代的 ARJ 方法的比率几乎无法比拟。但是,即使是 Microsoft 的压缩也可以在非常慢的(笔记本电脑)硬盘上提供更好的性能。特别是如果有足够的 RAM 用于写入缓存并防止过度写入。
写入过程是任何启用随机访问的压缩方法的弱点。
所以,如果你想要压缩驱动器,你最好转向某种 Linux。
磁盘压缩也非常适合 RAM 驱动器,无需告诉你为什么。
怀疑。压缩和解压不仅仅涉及磁盘和CPU;特别是会有大量的数据进出内存的传输(除了没有压缩的标准传输开销),这在页面错误方面确实会受到伤害。
简而言之,不,您可能不会提高性能。
虽然压缩会提高存储性能,但会显着降低处理器速度。这可能归结为您要解压缩的文件类型。如果您只处理 word、excel 和其他基本文件类型,请继续压缩它们。如果单个文件更大,您将牺牲更多时间。