咨询一下Primocache对二级写缓存的处理
发表于 : 周一 1月 07, 2019 12:40 am
版本:3.0.9普通版
问题1:在Primocache给HDD做Cache时,如果开了内存L1和SSD L2,请问写入时行为是如何?我观察到并不是程序->L1->L2->HDD这么一个过程,程序在写入时,优先写L1,同时L1会直接写HDD,直到L1满程序才开始写L2,同时L2也开始写入HDD,请问L1和L2是并行关系么?是不是只是优先级不同,有L1写L1,L1满写L2,但两者同级,往下都直接写HDD?
问题2:配置L2时,如果明确配置独立的读写空间,为何L2的写空间在数据写入HDD后不会清空?举个例子,假如程序要求写入数据A,A被写入L2,接着从L2写入HDD,那么现在程序要求读取A,若A还在L2写空间内,是否能命中缓存(从写空间直接移至L2读空间?),还是单独再拷贝一份A到L2的读空间?这样L2里同时有两份A数据。因为我观察到,L2写空间数据写入HDD后并不会马上恢复容量,也就是说写入数据还保存在L2写空间里。
谢谢。
问题1:在Primocache给HDD做Cache时,如果开了内存L1和SSD L2,请问写入时行为是如何?我观察到并不是程序->L1->L2->HDD这么一个过程,程序在写入时,优先写L1,同时L1会直接写HDD,直到L1满程序才开始写L2,同时L2也开始写入HDD,请问L1和L2是并行关系么?是不是只是优先级不同,有L1写L1,L1满写L2,但两者同级,往下都直接写HDD?
问题2:配置L2时,如果明确配置独立的读写空间,为何L2的写空间在数据写入HDD后不会清空?举个例子,假如程序要求写入数据A,A被写入L2,接着从L2写入HDD,那么现在程序要求读取A,若A还在L2写空间内,是否能命中缓存(从写空间直接移至L2读空间?),还是单独再拷贝一份A到L2的读空间?这样L2里同时有两份A数据。因为我观察到,L2写空间数据写入HDD后并不会马上恢复容量,也就是说写入数据还保存在L2写空间里。
谢谢。