SSD在windows的设备管理器上有个策略选择,不同的设置会产生不同的效果。很多人可能并没有关注过这部分的差别,今天就有人问小编怎么优化SSD,于是小编就想到这个事情了。今天咱们正好就说说这个设置带来的性能差异。

mysql windows 存储服务器 win10存储服务器_mysql windows 存储服务器

在设备管理器中(win+X组合键后选择设备管理器)找到磁盘驱动器,双击在下拉菜单中自己的SSD,切换选项卡到“策略”上就能看到小编所说的这个“写入缓存策略”了。打开和关闭的这个选项意义在于当SSD执行写入指令的时候,写入的数据是写入到缓存还是写入到NAND闪存颗粒才向系统报告。那具体会有什么样的差别呢?先上几个跑分图给大家看看区别。

mysql windows 存储服务器 win10存储服务器_win10文件服务器ssd当缓存盘_02

在勾选“启用设备上的写入缓存”时的测试我们把它当做基准测试成绩,一会儿进行对比。这个时候SSD写入数据的动作是一写入缓存,整个写入流程就宣告结束。

mysql windows 存储服务器 win10存储服务器_mysql windows 存储服务器_03

然后在此基础上勾选下面一项“关闭设备上的windows写入告诉缓存缓冲区刷新”,重新跑一边测试,可以注意到写入性能有进一步提升,尤其是在4K-64KThrd上。这个小编要特别说一下,勾选该选项的意思是你的磁盘缓存策略是“回写”;取消勾选则磁盘缓存的策略是“预读”。开启刷新还涉及两个对性能有影响的策略,一个是同步写入缓存和磁盘,也就是直写模式;还有一个是缓冲纯用于预读,也就是只读模式;关闭就忽略不计了。

至于为何测试软件无法测试只读模式带来的读性能提高,原因是因为预读是windows的一项优化策略,优先级最高Ring0层,而测试软件一般基于Ring3层;另一方面,预读是系统猜测要用到什么文件而提前载入,测试软件都是无规则的数据调用,系统没有办法进行预测预载,所以体现不出来。

mysql windows 存储服务器 win10存储服务器_缓存_04

最后,我们取消勾选“启用设备上的写入缓存”,这时候可以看到写入性能大幅度降低,甚至到难以接受的程度。这是因为此时写入数据被完整的写入到了NAND闪存颗粒中,整个写入流程完毕才向系统报告,所以极大拖累了磁盘性能。

mysql windows 存储服务器 win10存储服务器_win10文件服务器ssd当缓存盘_05

可以看到,这个写入缓存的作用有多么巨大,所以如果可能尽量选择开启这个选项。但是要注意一点,在“关闭设备上的windows写入高速缓存缓冲区刷新”这项上,如果不是追求极致读写性能最好不要勾选生效。在突发情况下,比如断电,甚至是死机的时候写入数据会丢失。