SSD性能优化之4K对齐

简介: 【引语】你是否听人说 SSD 买来一定要先对齐,不然平时用起来会很顿。究竟是真有这种说法还是人云亦云呢?请往下看,相信聪明的你会自有判断。


4K对齐是什么?

那么究竟什么是叫做“4K对齐”呢?


4K对齐相关联的是一个叫做“高级格式化”的分区技术。“高级格式化”是国际硬盘设备与材料协会为新型数据结构格式所采用的名称。


随着时代发展,硬盘容量不断扩展,使得之前定义的每个扇区512字节不再是那么的合理,于是将每个扇区512字节改为每个扇区4096 个字节,也就是现在常说的“4K扇区”。随着NTFS成为了标准的硬盘文件系统,其文件系统的默认分配单元大小(簇)也是4096字节,为了使簇与扇区相对应,即使物理硬盘分区与计算机使用的逻辑分区对齐,保证硬盘读写效率,所以就有了“4K对齐”的概念。


SSD为什么需要4K对齐?

固态硬盘SSD的核心是NAND Flash闪存芯片,其寿命主要有闪存芯片的擦除读写次数决定的,出厂之后,这个读写次数是一定的,那么我们要做的就是优化算法,尽量减少读写次数。


4K对齐就是减少固态硬盘读写次数的有效方法


4K对齐之后好处多多,原理比较复杂,打个比方:


SSD就好比一个大仓库,里面由很多小“房间”组成,每个房间的容量都是一样的(4KB的倍数)。每个房间放入货物(文件)的次数是有限制的(10万次)并且每个房间只能放一种货物。


货物的放入和拿出是由管理员(操作系统)来协调解决的。但是无论货物有多大,管理员都会把这些货物分成好多块放入房间。每块的大小都是一样的(XP系统是0.5KB,win7可以自己定)


没有对齐的仓库,最开始的一个房间被管理员占用了一点的,因此很多文件可能同时占用了两个房间。如果要把货物搬出去就相当于两个房间各使用了一次(寿命)。


对齐过后的仓库,货物分成小块的大小和房间大小一样,放进去非常方便,效率大大提高,提高了房间的使用率。


这里是通俗点描述一下,会和SSD实际工作原理会有小小的偏差。


同时大家也可以看出为什么在固态硬盘SSD上推荐使用win7系统,而不使用XP。XP每次放入0.5KB,效率比较低,发挥不了SSD的优势。但是win7系统则不同,ssd的最小单元是多少(现在4kb比较多)。因此4k对齐实际上也可能是8k对齐,16k对齐......


win7可以把货物分成的快调成和最小单元大小相同,优势显而易见,同时win7还可以告诉SSD,那些房间是空的可以用,那些房间不可以用,这样就少走了不少弯路。


如何查询SSD是否4K对齐

方法有二:

其一,利用window自带CMD:

1. 使用快捷键Win+R或点击"开始"-->"运行",

2. 进入CMD界面,输入“fsutil fsinfo ntfsinfo c:”,

从上图可以看到每个扇区的字节数为512B,每个簇字节数为4096B。


其二,利用软件AS SSD Benchmark查看是否4K对齐。

可以看到“31K-BAD”,说明没有4K对齐。

1. 对于新的,未经分区的SSD,可以借助Disk Genius软件来实现4K对齐。

我们可以利用Disk Genius软件直接建立分区。如果你一块硬盘分了多个区,那么每建一个分区,都要按照下面的方法操作一次!否则就会出现第一个分区对齐了,但是其它分区没对齐的现象。


如何实现4K对齐

下面是软件自己检测硬盘


2. 如果已经分区了,可以利用软件paragon alignment tool实现无损4K对齐。


绿色的硬盘表示已经4k对齐,黄色没有4K对齐的硬盘

对齐开始前要进行一下设置,如下图



然后paragon alignment tool软件就会进行全自动对齐

等它自动完成,它完全之后需要重启电脑转移数据,数据越多,硬盘越大,需要的时间越多,请耐心等待。


验证4K对齐的功效
从对比的图可以看到,4K对齐之后,4K读写的速度得到大幅的提升,得分从301直接提升到836.


相关文章
|
10月前
|
编译器 Linux C语言
C++新特性“CPU优化对齐”
C++新特性“CPU优化对齐”
155 3
|
10月前
|
存储 缓存 前端开发
性能优化:通用快照方案
性能优化对于提供卓越的用户体验至关重要,钉钉终端团队特别关注用户体验。我们团队采用了一系列创新的性能优化措施,显著提升了首次有意义绘制(FMP)和首次内容绘制(FCP)的性能指标。其中,利用快照方案,结合用户的本地存储能力,我们能够进一步提高页面性能。快照方案是在完成常规手段前端优化(如优化首屏加载体积、实施懒加载、渲染优化和缓存提升等)和资源离线处理之后的又一重要步骤,旨在更迅速地向用户展示页面内容。
159 1
|
JSON 数据库 数据格式
性能和可测试性的选择
性能和可测试性的选择
|
存储 编译器 C语言
性能优化特性之:LTO
本文介绍了倚天实例上的编译优化特性:LTO,并从优化原理、使用方法进行了详细阐述。
|
编译器 C++ Anolis
性能优化特性之:PGO
本文介绍了倚天实例上的编译优化特性:PGO,并从优化原理、使用方法进行了详细阐述。
|
芯片 Anolis
性能优化特性之:TLBI - TLB range优化
本文介绍了倚天实例上的内存优化特性:TLBi,并从优化原理、使用方法进行详细阐述。
|
存储 固态存储 算法
SSD写放大的优化策略要有统一标准了吗?
写放大WAF是NAND-based SSD寿命消耗的关键参数,WAF越大,寿命消耗越快,越接近1,则寿命消耗越慢,也是最理想的情况。 所以,为了让SSD的WAF写放大系数接近1,这些年,各种方案也被提出来。
|
Linux 网络架构 开发者
Linux性能优化之磁盘/网络性能评估以及性能优化标准| 学习笔记
快速学习Linux性能优化之磁盘/网络性能评估以及性能优化标准。
|
Dubbo 算法 NoSQL
记一次提升18倍的性能优化
最近负责的一个自研的 Dubbo 注册中心经常收到 CPU 使用率的告警,于是进行了一波优化,效果还不错,于是打算分享下思考、优化过程,希望对大家有一些帮助。 自研 Dubbo 注册中心是个什么东西,我画个简图大家稍微感受一下就好,看不懂也没关系,不影响后续的理解。
276 0
记一次提升18倍的性能优化
|
Linux 网络架构
Linux性能优化之磁盘/网络性能评估以及性能优化标准
Linux性能优化之磁盘/网络性能评估以及性能优化标准