- 1、本文档共9页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
缓存种类的介绍、工作机制和设置的建议
缓存种类的介绍、工作机制和设置的建议缓存分类缓存主要有两大类,一类是缓存,英文一般是Cache、Buffer。这类缓存是由应用程序设定和管理的,所有文件公用的缓存,BT使用这种缓存。另一类是文件缓存,英文一般是File Buffer。这类缓存是由系统设定和管理的,每个文件都有自己专用的文件缓存,EM使用这类缓存。Cache、Buffer是由应用程序设定和管理的,它并不一定位于物理内存中。不过可以通过一个简单的测试知道它是否位于物理内存中。首先,将缓存大小设定为几M,运行一段时间,记录下程序占用的物理内存和虚拟内存大小。然后将缓存大小设定为刚才值得10倍,再运行一段时间,记录下程序占用的物理内存和虚拟内存大小。比较两次记录,看看是物理内存占用是否明显增大,明显的话,缓存位于物理内存之中。如果是虚拟内存占用明显增大,而物理内存变化不明显,那么这个应用程序的缓存并不位于物理内存之中。File Buffer由于是系统设定和管理的,只要你的物理内存充足,一般都是位于物理内存中。又由于它是每个文件专用的,即使只设定了1M的File Buffer,你如果打开了30个文件,那么就是总共30M的File Buffer。后面介绍完原理后,你就应该知道这对绝大部分人已经足够了。
缓存工作原理缓存(Cahce、Buffer)可以细分为读和写。读缓存(Read Buffer)作用是将文件内容预读到内存中,在读操作前检查文件是否在缓存中(术语是命中),没有命中的话,在从硬盘中读取文件。从上述工作原理可知,命中率读缓存的关键指标。现在,我们分析命中率。命中率分顺序读取命中率和随机读取命中率。从计算机的专业书籍中我们知道,CPU的高速缓存可以看作是物理内存的读缓存,两者的容量比一般是1:1000,然而CPU高速缓存的命中率一般不低于80%。因此我们知道,只需要很小的缓存就可以使得顺序读取的命中率很高。而随机读取的命中率,用概率论算算就知道,1G的内容需要800M的缓存才能达到80%的命中率。需要极大的缓存才能做到较高的命中率。在实际中,顺序读取的发生频率比随机读写要多少几个数量级,因此用更好的缓存算法提高顺序读取的命中率才是读缓存的前进方向,单纯提升缓存大小没有太大意义。综合上面的分析我们知道,提高读缓存的效果并不需要很大的缓存,即使设置了很大的缓存,也是在浪费你的物理内存。写缓存(Write Buffer)的作用是在写入文件之前,先将要写入的内容写到内存中,积累到一定的量以后,再写入实际文件。因此,写缓存没有命中率的说法,它的效果只和写入速度和缓存大小有关。
文件缓存(File Buffer)是由系统设置和管理的,每打开一个文件,系统会自动给那个文件分配File Buffer,一般不分读写。虽然说Windows很废品,但是它的File Buffer算法不比一般软件差,所以关键是设置多大比较好而已。但是,如果File Buffer设置过大,例如30M,你往里面写了10M的数据,系统很可能认为缓存还很空,并不进行实际写入操作。万一在这时断电或者程序崩溃,你这10M就会丢失了。
BT缓存的大小缓存的大小自然和读写速度相关,在这里我把普通带宽、小水管定义为2MADSL,U/D=64K/256K;高带宽、大水管定义为U/D=1M/2M对于小水管来说,8M的写缓存(Write Buffer)需要半分钟才能填满,平均来说大概10S~15S写一次硬盘,如果这个频率你都不能接受的话,那你还是用无盘工作站好了。至于读缓存,BT的上传是按文件块进行的(一般的种子,文件块大小是256K/512K)。64K的上传槽(Slot)一般是4~6,上传槽速度(Slot Speed)一般不超过20K/S,一个文件块足够它传10S。因此,给每个Slot两个文件块的读缓存就差不多了,害怕命中率不够高,每个Slot四个文件块也应该够了。具体算一下,512K*6Slot*(2~4)=6~12M,也就是说6~12M的读缓存就足够了。把读写缓存加起来,8+12=20M,对于小水管是足够多了。用UT,使用上述缓存大小设定,读缓存的命中率能达到85%+。至于200M的缓存,如BC之流,命中率可能可以提升,但是提升的很有限。而且,由于随机读取的客观存在,即使你有200M缓存,你也不可能保证命中,读硬盘的频率不会比20M缓存低多少。对于大水管来说,想像小水管一样10~15S写一次硬盘是不可能的,而且BT下载完一个完整的文件块后,为了保证数据安全,会尽快将那个数据块写入硬盘。因此,对于大水管来说,设置10倍于下载速度的写缓存,满足3~5S写一次硬盘的要求就可以了,太大也没有意义。大水管由于上传速度快,发生随机读取的可能性更高了,平均几秒钟就会发生一次不命中,必需读硬盘。因此,读缓存
您可能关注的文档
- 瑞和装饰股权支付.doc
- 瑞溪镇中心小学2014年人教版五年级下册语文教学计划及进度表.doc
- 理解大众文化论文.doc
- 瓦检员管理制度.doc
- 瓶装王老吉市场调查问卷.doc
- 理科专业简历模板下载.doc
- 班级建设文化.doc
- 生产异常情况分析.doc
- 生产技术子系统管理.doc
- 生产区域的6s标准.doc
- 西师大版四年级上册数学第七单元 三位数除以两位数的除法 测试卷(名校卷).docx
- 西师大版四年级上册数学第七单元 三位数除以两位数的除法 测试卷(名师推荐)word版.docx
- 西师大版四年级上册数学第三单元 角 测试卷及完整答案一套.docx
- 西师大版四年级上册数学第三单元 角 测试卷及答案参考.docx
- 西师大版四年级上册数学第三单元 角 测试卷及完整答案【全国通用】.docx
- 西师大版四年级上册数学第三单元 角 测试卷及答案参考.docx
- 西师大版四年级上册数学第三单元 角 测试卷含完整答案【历年真题】.docx
- 西师大版四年级上册数学第三单元 角 测试卷及完整答案(全优).docx
- 西师大版四年级上册数学第三单元 角 测试卷及完整答案(名校卷).docx
- 西师大版四年级上册数学第三单元 角 测试卷及参考答案【研优卷】.docx
文档评论(0)