缓慢的写入行为,可能是一个性能提升点
发表于 : 周一 2月 18, 2019 5:19 pm
当使用Robocopy进行文件复制时,有一个/Z参数,可开启断点续传模式。
经过测试,这个模式会极大降低写盘速度,这是可以理解的,也许为了实现断点续传,程序需要不断保存一些状态信息,增加了io数量。并且为了保证断点数据正确,可能还会有一些事务型写入,进一步降低了性能。
我在一个USB3移动硬盘上实测,正常文件复制速度大概是100MB/S左右这个量级,如果打开/Z模式,速度会骤降到1~2MB/s左右,而加入primocache写缓存之后,/Z模式可以提升到大约20MB/s这个量级。
以上情况都是正常且可以理解的。
但是,当我在/Z模式复制过程中尝试手动Flush缓存的时候,写入速度会直接提升到大约90MB/s,直逼正常写入速度。
那么问题来了:这是否意味着,/Z模式造成的速度下降,实际是可以被极大加速的?只是现在的primocache没有针对这种情况进行足够的优化,所以只能得到部分加速效果。
进一步思考:在其它程序中,是否有类似/Z模式造成的速度下降,而这些速度下降是否都可以被极大加速?
经过测试,这个模式会极大降低写盘速度,这是可以理解的,也许为了实现断点续传,程序需要不断保存一些状态信息,增加了io数量。并且为了保证断点数据正确,可能还会有一些事务型写入,进一步降低了性能。
我在一个USB3移动硬盘上实测,正常文件复制速度大概是100MB/S左右这个量级,如果打开/Z模式,速度会骤降到1~2MB/s左右,而加入primocache写缓存之后,/Z模式可以提升到大约20MB/s这个量级。
以上情况都是正常且可以理解的。
但是,当我在/Z模式复制过程中尝试手动Flush缓存的时候,写入速度会直接提升到大约90MB/s,直逼正常写入速度。
那么问题来了:这是否意味着,/Z模式造成的速度下降,实际是可以被极大加速的?只是现在的primocache没有针对这种情况进行足够的优化,所以只能得到部分加速效果。
进一步思考:在其它程序中,是否有类似/Z模式造成的速度下降,而这些速度下降是否都可以被极大加速?