|
|
本帖最后由 jeffxulei 于 2012-2-24 02:16 编辑
跑测试,测得的全盘接近全脏页的成绩,需要连续一定时长甚至覆盖全盘容量N次的全碎片化随机数据才能测试性能降低趋势。
家庭用满盘概念完全不等于这个“全脏”满盘,一般都是渐进式的使用过程中慢慢变满,其中下一次更大的容量占用之前本身就在整理前面的数据和剩余空间(PBA上的),哪怕哪天用户突然发现最后只剩下5G可用,但是其实这5G之前的空间早都因为用户典型负载的因素平均起来就是“慢慢写多休息”,是慢慢填满的,剩最后5G空间时其实前面的差不多都是已经被整理过的了,读速率是有保证的,而你这次要写的“空白页”可能早已经准备好了。其实家庭工况配合闲置GC,有很多种不同的结构,按写频率的不同(包含安装和部署数据的量),中间间隔时长等都有所不同,而不仅仅是思考如果最后快满了怎么办?其实没有怎么办?除非你一次性从空盘写满,那么就有几率碰到立即的强制GC。如果你正常工作时慢慢的占用了大部分,又“正常工作”了很久(家庭典型工况),剩下的空间显然不需要强制GC,你突击性的非要用这剩下的5G,那么一般的SSD都会有保留空白页的最低值给于随时可写的程度,那么点空间,比如5G可能早已经整理(包含静态磨损平衡权衡和GC后的空白页)出来让你直接写了,之中很少有数据挪动和强制GC产生(特别是M2P的激进策略)
其实几乎每次家庭用户突发的大量写入(软件安装和复制数据),不管满不满盘的状况,大部分都已经直接是内部已各种优化的“结果”了,而不是才开始写入整理。空白页甚至早已经放在那里等着你写,就算你这次没写满,你安装完应用和复制完数据,你要正常使用不?你还是要回到正常使用过程吧?那么休息的时间又来了。。。各种正常“工作”时的空闲时隙早就做足各种数据分布优化和GC操作,置换的已经整理好的(不一定是物理连续整片,SSD不需要寻道)容易写入的PBA地址了。对于家庭用户来说几乎是随时可“写”的状态。
|
|