fancycache延时写入的探讨

交流 FancyCache 软件使用过程中遇到的问题以及心得等
这里提供官方的技术支持
回复
lxdddxl
3级用户
3级用户
帖子: 10
注册时间: 周二 2月 28, 2012 7:51 pm

fancycache延时写入的探讨

帖子 lxdddxl »

假设对D盘设置了1G写缓存,延时1小时.
在1小时之内,写入数据小于1G时,对D盘没有物理写入,所有数据保存在缓存中.
接下来分两种情况:
1.缓存没满,时间到了:把缓存所有数据写入硬盘,清空,重新计时.fancycache应该是这么做的.
2.时间没到,缓存满了:较好的做法也应该和上面一样,全写,清空,重新计时.还有种可能是不清空,缓存象个水箱一样,这边进多少水那边出多少水,直到延时到了.
根据测试,fancycache对缓存满用的是第二种方法.
以《FancyCache要怎样设置才最大发挥硬盘的性能》为例,原文中的一段如下:
"我有16GB内存的情况下,我设置6小时延时" "我要下载一个8GB的文件,我只有2GB的FancyCache缓存,看起来没办法完成这个8GB的文件纯内存下载,的确,无法完成,但是……我下载前2GB的时候,纯内存下载了,到了2.01GB的时候,开始写操作,真的开始写物理硬盘,一次性写入,接下来的2GB又是纯内存下载来替换了FancyCache原有的2GB文件,也就是说,实际上下载8GB文件只写硬盘操作4次,磁头只工作一点点时间,其他时间在放假"
如果1点开始下载,到2点载了2G把缓存占满了,那么从2点到7点这五个小时内硬盘一直在不停写入,因为缓存始终是满的.问题出在"到了2.01GB的时候,开始写操作,真的开始写物理硬盘,一次性写入"没有一次性写入,而是只写0.01GB,然后再写0.01GB...
解决办法是"写延时"设的短一点,BT下载2G缓存设为10分钟就可以了.
最好的办法是fancycache改为缓存一满就全部写入硬盘,清空后重新计时.

若有不对之处,请多多指教.
头像
nero
1级用户
1级用户
帖子: 1
注册时间: 周二 2月 21, 2012 11:22 pm

Re: fancycache延时写入的探讨

帖子 nero »

我对延时也很疑惑,假如缓存满了,时间没到,那写不写硬盘呢?要是不写,那不就会有部分本该写入硬盘的数据丢失了吗?
头像
Support
技术支持组
技术支持组
帖子: 2667
注册时间: 周日 12月 21, 2008 10:42 am
联系:

Re: fancycache延时写入的探讨

帖子 Support »

lxdddxl 写了:2.时间没到,缓存满了:较好的做法也应该和上面一样,全写,清空,重新计时.还有种可能是不清空,缓存象个水箱一样,这边进多少水那边出多少水,直到延时到了.
根据测试,fancycache对缓存满用的是第二种方法.
您说的是正确的。这个指标在 “Urgent 写入”指标中反映出来。
Primo Ramdisk | PrimoCache
Romex Software 技术支持组
lxdddxl
3级用户
3级用户
帖子: 10
注册时间: 周二 2月 28, 2012 7:51 pm

Re: fancycache延时写入的探讨

帖子 lxdddxl »

希望fancycache在写缓存满了立即全部写入硬盘,可以真正做到2G缓存下载8G数据只写4次硬盘,副作用就是清缓存时硬盘会狂响一阵 :o 再小卡一下
头像
Support
技术支持组
技术支持组
帖子: 2667
注册时间: 周日 12月 21, 2008 10:42 am
联系:

Re: fancycache延时写入的探讨

帖子 Support »

lxdddxl 写了:希望fancycache在写缓存满了立即全部写入硬盘,可以真正做到2G缓存下载8G数据只写4次硬盘,副作用就是清缓存时硬盘会狂响一阵 再小卡一下
谢谢建议,这是个好想法!
Primo Ramdisk | PrimoCache
Romex Software 技术支持组
zhujunsan
2级用户
2级用户
帖子: 8
注册时间: 周四 2月 09, 2012 2:55 am

Re: fancycache延时写入的探讨

帖子 zhujunsan »

support 写了:
lxdddxl 写了:希望fancycache在写缓存满了立即全部写入硬盘,可以真正做到2G缓存下载8G数据只写4次硬盘,副作用就是清缓存时硬盘会狂响一阵 再小卡一下
谢谢建议,这是个好想法!
感觉,应该分析一下文件的大小,如果文件太大,缓存肯定放不下的话,缓存放满了以后一次性写入。小文件的话就无所谓了。这样用户体验应该会好一点因为用户知道自己在操作大文件的话会稍微卡一点 ;)
回复