不可控的紧急写入,是bug还是固有策略?

这里报告PrimoCache软件的Bug或建议,
非常感谢您的支持!
回复
ljk
1级用户
1级用户
帖子: 4
注册时间: 周三 7月 24, 2019 4:45 pm

不可控的紧急写入,是bug还是固有策略?

帖子 ljk »

磁盘配置读写缓存,写入无限延时,大量读取时会导致紧急写入,高级设置里选读写共享或读写分离都会发生,两种情况分别截图如下:
读写共享
读写共享-紧急写入.png
读写分离
读写分离-紧急写入.png
读写共享因为读取导致紧急写入虽然不能满足期望,也还勉强能理解。
但读写分离的情况下,读缓存满了应该抛弃 老/不常用 的读缓存,为什么会产生紧急写入?怎样避免?
写入模式是 原始,但紧急写入的时候只写了很少量数据,造成数据部分在缓存,部分在磁盘,怎样避免?
紧急写入的条件有哪些?可否 调整/控制?
您没有权限查看这个主题的附件。
头像
Support
技术支持组
技术支持组
帖子: 2663
注册时间: 周日 12月 21, 2008 10:42 am
联系:

Re: 不可控的紧急写入,是bug还是固有策略?

帖子 Support »

紧急写入是指在缓存空间充满了尚未写入到目标硬盘的缓写数据时,如果系统或其它应用程序又有新的写入数据写到缓存,此时由于缓存空间已填满缓写数据,因此必须把缓存空间内的一部分缓写数据写入到目标硬盘后才有空间来存储新的写数据。此时到目标硬盘的写入就是紧急写入。这个是不可控制的。这就像一个水池,如果一直灌水进来却不放水,那水池到最后肯定会水满溢出。
要避免紧急写入,则需要缩小延时时间或增大写缓存空间。
Primo Ramdisk | PrimoCache
Romex Software 技术支持组
ljk
1级用户
1级用户
帖子: 4
注册时间: 周三 7月 24, 2019 4:45 pm

Re: 不可控的紧急写入,是bug还是固有策略?

帖子 ljk »

现在主要的问题是:配置成读写空间分离,读缓存满了会导致紧急写入,即使写缓存未满也是,这个逻辑无法理解,可否避免?
头像
Support
技术支持组
技术支持组
帖子: 2663
注册时间: 周日 12月 21, 2008 10:42 am
联系:

Re: 不可控的紧急写入,是bug还是固有策略?

帖子 Support »

少量会有。这是因为可能先从硬盘上读取了某些扇区上的数据,此时这些数据是被缓存到到读缓存空间中,如果后来系统或应用程序对这些扇区上的数据进行修改,为了资源的最大利用和性能优化,PrimoCache不会从写缓存空间中再去找一块空间来保存修改的数据,而是直接继续在原来的缓存上进行修改,因此在读缓存空间中也是可能会产生缓写数据的。
Primo Ramdisk | PrimoCache
Romex Software 技术支持组
ljk
1级用户
1级用户
帖子: 4
注册时间: 周三 7月 24, 2019 4:45 pm

Re: 不可控的紧急写入,是bug还是固有策略?

帖子 ljk »

这种情况下,被改写的读缓存不应该移动到写缓存吗?
读缓存空间里保存缓写数据,并不可控的产生紧急写入,这个逻辑真是有问题!
头像
Support
技术支持组
技术支持组
帖子: 2663
注册时间: 周日 12月 21, 2008 10:42 am
联系:

Re: 不可控的紧急写入,是bug还是固有策略?

帖子 Support »

这个主要是基于性能为主要考虑面的一种平衡(妥协)缓存策略,当数据量较大时,这种数据复制,尤其当衍生到二级缓存时,产生的性能损失还是较大的。
Primo Ramdisk | PrimoCache
Romex Software 技术支持组
ljk
1级用户
1级用户
帖子: 4
注册时间: 周三 7月 24, 2019 4:45 pm

Re: 不可控的紧急写入,是bug还是固有策略?

帖子 ljk »

此问题已变通解决:加一层VHD,对VHD只写缓存,对承载VHD的物理盘只读缓存,读写彻底分离,读缓存耗尽就不会产生紧急写入。

建议在无限延迟并开启关机免写的情况下调整写入策略:
1.写缓存无条件优先于读缓存,除非写缓存空间满,否则不淘汰写缓存,也不进行写入;
2.一旦产生紧急写入,立即写入全部缓写数据,以免磁盘数据严重损坏。
头像
Support
技术支持组
技术支持组
帖子: 2663
注册时间: 周日 12月 21, 2008 10:42 am
联系:

Re: 不可控的紧急写入,是bug还是固有策略?

帖子 Support »

非常感谢您的方法反馈和建议!
Primo Ramdisk | PrimoCache
Romex Software 技术支持组
回复