试用3.0 BETA 服务器版,未见到显著作用

交流 PrimoCache软件使用过程中遇到的问题以及心得等
这里提供官方的技术支持
回复
xiaozuiba
2级用户
2级用户
帖子: 5
注册时间: 周日 10月 14, 2018 8:34 am

试用3.0 BETA 服务器版,未见到显著作用

帖子 xiaozuiba »

服务器WIN2008R2
2X500G 硬盘

网络高峰时读取文件缓慢,经实验证实是硬盘I/O不能应付繁忙的访问所致
安装PrimoCache,
文件大小约100M
一级缓存空间3.2G,只读
在网络高峰期连续读取同一个文件多次未见到明显的速度改变
头像
Support
技术支持组
技术支持组
帖子: 2667
注册时间: 周日 12月 21, 2008 10:42 am
联系:

Re: 试用3.0 BETA 服务器版,未见到显著作用

帖子 Support »

您好!
您可观察下缓存统计数据中的“读取总计”和“读取缓存”这两个指标,看看有多少数据是从缓存读取的。
另外,如果是连续读取同一个文件,Windows是直接从其文件缓存进行读取,不会访问硬盘。
Primo Ramdisk | PrimoCache
Romex Software 技术支持组
xiaozuiba
2级用户
2级用户
帖子: 5
注册时间: 周日 10月 14, 2018 8:34 am

Re: 试用3.0 BETA 服务器版,未见到显著作用

帖子 xiaozuiba »

正因为理论上连续读取一个文件多次(我在实验中是5次)不会访问硬盘,所以不会受I/O繁忙饱和的影响,但实际上在I/O繁忙时做这项测试未显示出加速的作用,比如未安装工具软件时直接从硬盘读出文件需时15秒,安装该工具软件后读取时间依然是15秒,多次重复证实.
头像
Support
技术支持组
技术支持组
帖子: 2667
注册时间: 周日 12月 21, 2008 10:42 am
联系:

Re: 试用3.0 BETA 服务器版,未见到显著作用

帖子 Support »

我之前说得不清楚可能您误解了。Windows本身有文件级的缓存系统,如果连续读同一个文件,那么这个文件是会被Windows文件系统缓存在内存中,在第二次读的时候就会直接从Windows缓存中读取,不会经过PrimoCache(因为PrimoCache位于磁盘级)。您如果观察PrimoCache的“读取总计”,在第二次读取文件时“读取总计”数据应该是不会增加的,说明数据没有经过PrimoCache,更没有经过磁盘。那PrimoCache的用处在哪呢,其中之一是:
Windows缓存是基于全局进行调度,即对全部硬盘上的所有数据都可能进行缓存,算法采用MRU,就是说,如果最近任意读取的一个文件,超出了缓存空间的大小,就会将一部分旧的缓存数据丢弃。此外Windows缓存空间使用的是当前剩余可用的内存,因此是动态变化的。如果其它应用程序申请使用更多的内存,那么Windows缓存空间就会相应释放一部分,导致之前已经缓存的数据也会释放一部分。
而PrimoCache可以根据用户需要,设置仅对某些特定分区进行缓存。在同等缓存容量下,后者将更具目标性,也具有更高的缓存命中率。并且缓存空间是预先分配好的,不会因为其它程序需要更多内存,导致释放已经缓存的数据。在算法上也有根据数据读取频度进行淘汰旧缓存,而不是简单的MRU算法。
更多信息请参见http://www.romexsoftware.com/zh-cn/primo-cache/index.html

所以对于您提到的这个测试以及应用环境,您需要观察“读取总计”和“读取缓存”这两个指标,“读取总计”表明Windows请求从硬盘读取的数据量,“读取缓存”则表明其中多少数据是从PrimoCache的缓存中读取的。
Primo Ramdisk | PrimoCache
Romex Software 技术支持组
回复