NTFS 压缩以节约磁盘空间优缺点测试

Posted 果光

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了NTFS 压缩以节约磁盘空间优缺点测试相关的知识,希望对你有一定的参考价值。

目录

起因

希望在有限的磁盘空间存储更多的数据。
看到了 NTFS 磁盘里面的 “压缩此驱动器以节约磁盘空间” 和文件夹属性里的 “压缩内容以便节省磁盘空间”,产生了几个问题:

磁盘压缩好不好?会不会影响固态寿命?会不会降低读写性能?
应不应该开启磁盘压缩?哪些数据适合压缩存储?

于是就有了下面的测试。

测试环境

数据:总大小 32GB,包含 179 个文件夹,3479 个文件,猜猜是啥文件?
设备:USB3.0 SATA SSD

测试项目

写入耗时 & 磁盘写入量

测试项目写入时间磁盘 LBA 写入
禁用压缩,使用缓存05:381027
禁用压缩,禁用缓存05:451038
启用压缩,使用缓存09:27718

注:启用压缩时不要禁用缓存,否则会产生额外空间占用,占用的空间大于文件本体空间,不计入当前目录,但是驱动器的总可用空间会减少,暂时不清楚原理,可以通过需要重启或者重插移动硬盘的方式恢复可用空间。

空间占用 & 读取速度

测试项目占用空间 (GB)读取速度 (MB/s)读取时间
禁用压缩32.026902:03
启用压缩22.017103:10

注:读取速度中启用压缩测试按照解压后的数据量进行统计。

其他

  1. 磁盘内修改压缩属性,基本上相当于重新写一次:
    1. 不压缩 -> 压缩:磁盘写入 LBA 718,
    2. 压缩 -> 不压缩:磁盘写入 LBA 1046

结论

开启压缩会 降低数据读写速度,但是可以通过减少数据写入量,减少磁盘空间占用,提高固态使用寿命
磁盘压缩本质上还是用时间换取空间,要根据具体使用场景进行选择。
个人建议归档存储之类的文件可以开启压缩,常用软件之类的程序就别开了。如果磁盘空间实在是不够用,可以针对特定目录进行压缩,不建议整个驱动器开压缩。

linux下压缩并分割稀疏文件

稀疏文件是指一个文件中大部分内容都是空字符的文件。

如虚拟机创建的100G的磁盘文件是,但系统不会马上分割出100G的空间,而是仅标识出虚拟硬盘文件是稀疏文件,待到数据存储时,再分配空间,这样可以大大的节约磁盘利用率。


稀疏文件在进行cp/scp/split/cat时,会由标识的稀疏文件变为非稀疏文件文件,而导致占用大量的空间。

这不是我们要的结果,可以用下面的方式来复制/移动/分割稀疏文件。


创建测试用稀疏文件,大小1G:

dd if=/dev/zero of=test_sparse.log bs=1 count=1 seek=1024M


查看文件:

ls -alsh test_sparse.log 

4.0K -rw-rw-r-- 1 lidq lidq 1.1G Jun  8 15:10 test_sparse.log


du -sh test_sparse.log 

4.0K test_sparse.log


可以看到两者的文件大小是不一样的。


用 tar 压缩稀疏文件:

tar -zcSvf  test_sparse.log.tar.gz test_sparse.log


分割压缩文件:

split -b 1M -d -a 4 test_sparse.log.tar.gz test_sparse.log.tar.gz-


合并分割文件:

cat test_sparse.log.tar.gz-* > test_sparse.log.tar.gz


稀疏文件(百度百科):http://baike.baidu.com/item/%E7%A8%80%E7%96%8F%E6%96%87%E4%BB%B6


本文出自 “老农” 博客,请务必保留此出处http://jingwu.blog.51cto.com/921628/1933473

以上是关于NTFS 压缩以节约磁盘空间优缺点测试的主要内容,如果未能解决你的问题,请参考以下文章

linux下压缩并分割稀疏文件

文件系统,ntfs ,磁盘配额,卷影副本。本地权限

树莓派外部安装的 NTFS 磁盘上没有足够的可用空间

Hadoop 数据压缩

Window7 系统下重新建立一个新分区

redis源码分析--rdb持久化