【建议】fancycache应排除流媒体等大文件的缓存
发表于 : 周六 7月 06, 2013 4:51 pm
对大文件的缓存,极大地占用了内存,导致其他缓存对象被挤出而影响性能。
·实际上,mpeg、rmvb、mp3等音视频文件,解码器必须预读、内部帧缓存,外部的缓存意义不大。
·对于jpeg等照片文件,浏览相册更注重的是前后照片的缓冲,缓存本张照片无意义。而前后照片的浏览顺序可能是时间、文件名、文件尺寸等,这个排序不是fancycache可预知的
·对于图像编辑软件,原始图片数据必须读入内存,缓存这个好像没啥意义。对于图像批处理,又是一次性处理,也不存在缓存意义。
综上所述,fancycache应该完全排除对于音视频文件的缓存。
除此之外fancycache还应该设置一个大文件缓存开关,比如默认4-8MB,使得小内存设置情形下改善命中率。
Ps:延伸一下,还可以研究特殊的大文件是否缓存,比如各类数据库(包括程序开发环境的,应用程序例如QQ的)等。我不清楚这些大文件会对缓存命中造成多大影响,以及他们本身的实际缓存效果,这方面仅作提醒不多说。
·实际上,mpeg、rmvb、mp3等音视频文件,解码器必须预读、内部帧缓存,外部的缓存意义不大。
·对于jpeg等照片文件,浏览相册更注重的是前后照片的缓冲,缓存本张照片无意义。而前后照片的浏览顺序可能是时间、文件名、文件尺寸等,这个排序不是fancycache可预知的
·对于图像编辑软件,原始图片数据必须读入内存,缓存这个好像没啥意义。对于图像批处理,又是一次性处理,也不存在缓存意义。
综上所述,fancycache应该完全排除对于音视频文件的缓存。
除此之外fancycache还应该设置一个大文件缓存开关,比如默认4-8MB,使得小内存设置情形下改善命中率。
Ps:延伸一下,还可以研究特殊的大文件是否缓存,比如各类数据库(包括程序开发环境的,应用程序例如QQ的)等。我不清楚这些大文件会对缓存命中造成多大影响,以及他们本身的实际缓存效果,这方面仅作提醒不多说。