下载此文档

浅谈网站架构中缓存的应用.ppt


文档分类:IT计算机 | 页数:约27页 举报非法文档有奖
1/27
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/27 下载此文档
文档列表 文档介绍
缓存恢恢,疏而不漏—朱晔2010年6月内容概要缓存的基本知识网站架构中缓存的分类。影响缓存命中率的因素缓存常见的模式和实现。+000+级存的由来为种介质的速度不匹配(差距较大)的可题导致?高速方在和低速方交互的时候因等待速度趋近于低涑方,并目闲置得不到有效利用1,E+0存在第三种介质,速度介于两者之间,+0间。通过引入这种介质,+01介质中,高速方大多情况下无须和低速方直接交互来提高整体性能曲型的例子:CPU缓存(高速方CPU低速方内存),内存(高速方CPU低速方磁盘)■访问需要的时钟周明◆级存的分类硬件领域中级存(某种介质),软件领域中的缨存(不限于某种介质,只是一种手段),我们之后谈的级存都是软件缓存读取存(解决读取速度慢),写入绥存(觖决写入速度慢),读写缓存狭义上解决介质读写速度不匹配可题,广义上包括任何利用中间媒介提高速度的方法,包括空间换时间,动态杲作变为静态操作缓存的基本知识缓存(CACHE)和缓冲(BUFFER)绶存:可以共享,多种数据,大小不固定,可以重复使用,已知数据,用于提高O效率缓冲:不可以共享,单一数据,大小固定,读取后失效,命中100%,未知数据,用于减少IO次数缓存的属性。命中率:从缓存中返回正确数据的次数/总请求次数。容量:超过这个值启用一定的策略:转移到磁盘;转移到远端;清空部分。存储介质:内存、磁盘成本:开发成本、部署成本、硬件成本。。效率:SET效率、GET效率、序列化、哈希算法、分布式箅法,缓存的限制。由于价格的因素,绶存实现依赖的存储往往有大小限制——保存什么,舍弃什么命中率缓存往往是从无到有的——在最初阶段不能发挥作用,在不命中的时候性能颠鵔。网站架构中缓存的分类按照存储介质来分内存(网站进程内、同服务器独立进程、独立服务器、分布式服务器组)磁盘(本地文件和数据库,独立服务器、分布式服务器组)。级存可以使用磁盘而不仅仅是内存按照存储的数据来分直接用于输出的整页(HTML脚本样式、图片片段页(可供多个客户端使用的HTML脚本样式等)索引和聚合数据(空间换时间)耗时查询的结果数据和业务相关的大块数据(列表数据,引用数据)和业务相关的小级数据(行级数据,资源数据)和上下文(用户)相关的数据(活动数据)◆按照实现方式来分桕架或引擎内置的緩存(比如ORM级存和SQLSERVER绶存)安装特定的组件根据规则自动实坝级存(比如反向代理和输出缀存)。需要由开发以编程方式实现的缓存(比如业务数据缓存)按照作用来分用于数据的读取(之后介绍的大部分内容都是基于此类绶存)用于(允许丢失)数据的写入—写到存的队列中,再由工作线程提交处理(写入存储)影响缓存命中率的因素90%40%20%661000毫秒2000毫秒100个Key1000个Key2000个Ke一1000次问一2000次询问5000次访问一1000次访问2000次访问5000次访问假设数据库的访问操作需要5毫秒,第一个测试固定Key的范围,第二个测试固定缓存时间。对于相同的请求数,随着缓存时间的上升(实时性下降),缓存命中率明显上升对于相同的绶存时间,随着请求数的上升(时间的推移),绶存命中率保持稳定。在相同的缓存时间下(2秒),缓存Key的跨度越大命中率越低,往往Key的范圈很大预示着行的拉度太相K套纳的条件太多影响缓存命中率的因素影响命中率的因素业务需求决定的时效性(体现在缓存的过期时间)硬件基础结构决定的容量(即使未过期都可能会删除LRU)。。软件架构设计决定的缓存的粒度Key=帖子ID;alue=所有跟贴数据。Key=帖孑[D:Value=一条帖子的数据以及Key=帖子ID;vaue=跟贴ID列表。缓存的设计(包括替换策略等)提高缓存命中率的方法权衡业务、基础结构和架构设计。预热、增加过期时间、增加存储容量、调整缓存项的键值算法、对热点问题的捕对于时效性很高(或缓存空间有限),内容跨度很大(或访问很随机),并且访问量不高的应用来说缓存命中率可能长期接近于0,预热后的缓存还没来得及为后人服务就已经冷却缓存常见的模式和实现预加戰的堰存延迟加载的缓存主要用于缓存计算后的获取数廷应用程序启动靠用户的请求加载数开雄余中率低数得从数戽加举退流同的增多命效据写入着缓存的过期命中数据可能始用产获取数适合分布式缓存预加载的缓存算前的要媛存据进行计算不需集新元)数大多采用主动更新把数据写入壢一般信任缓存的数据返回数返回数揖候多台缓存常见的模式和实现操作缓存(异步队列)优点是把瞬时的流量冲击“磨平”,可以控制一定的"带宽”对数据库操作,而不是"压垮”,以及不阻塞调用方线程。缺点是不能保证返回结果的时间注意要平衡写入速度和处理速度,要确保绶存的容量足够大,能应付peaktime。饭

浅谈网站架构中缓存的应用 来自淘豆网www.taodocs.com转载请标明出处.

非法内容举报中心
文档信息