加入收藏 | 设为首页 | 会员中心 | 我要投稿 应用网_丽江站长网 (http://www.0888zz.com/)- 科技、建站、数据工具、云上网络、机器学习!
当前位置: 首页 > 服务器 > 搭建环境 > Windows > 正文

解决系统性能问题的银弹---缓存技术

发布时间:2019-06-25 04:33:14 所属栏目:Windows 来源:itworld123
导读:副标题#e# 仔细观察一下我们现有的系统,小到一颗CPU,大到一个在线交易系统。任何性能问题都可以通过一种方式有效的解决,这种方式就是缓存。不错,缓存几乎可以成为解决性能问题的银弹,百发百中。缓存的主要目的是降低数据访问延时,实现手段多种多样,

在Web领域一个请求的链路可能会非常长,比如我们访问一个美国的网站,整个通信链路会跨越整个太平洋,距离近2万公里。即使是阳光也要跑几十毫秒才能完成这段里程,而网络需要经过各种中继设备,耗时将近200ms。试想,一个网页通常有上百个元素组成(例如图片,js脚本等),这样在中国打开一个美国的网站将消耗多少时间?

解决上述问题最为有效的技术就是CDN(Content Delivery Network,内容分发网络)技术,该技术通过分部在离最终用户比较近的边缘服务器提供更快的服务。以上文网站为例,当用户从中国访问美国的网站时,会先从国内的CDN节点获取内容,如果没有才会从美国的源服务器获取内容。因为大部分内容都可以从国内获取,免去了跨越大洋造成的网络延时。

解决系统性能问题的银弹---缓存技术

图7 CDN示意图

图7是一个CDN的示意图,其中ORIGINAL SERVER就是源服务器,而EDGE SERVER就是边缘服务器。从图中可以看出,终端用户的访问路径。

Web后端的缓存

对于Web服务来说,通常通过关系型数据来存储数据,而数据库的数据通常存储在磁盘中。在高负载场景下数据库往往会成为性能瓶颈。因此,为了提高整个服务的承载能力,往往在业务服务器和数据库之间添加一个缓存服务。这个缓存服务的原理其实与上述的CPU缓存或者文件系统缓存有异曲同工之妙。

由于对于一个Web服务来说,80%以上的请求都是读请求,Web缓存的设计也正是基于这样一个事实。这些数据完全可以缓存到内存中,从而减少数据库访问的负载。由于缓存承载了绝大多数的读请求,因此整个数据库的负载也得到很大的降低。

解决系统性能问题的银弹---缓存技术

图8 Web服务缓存

如图8是使用Redis缓存的Web服务架构,本文只是一个简化的架构,实际架构要复杂的多(需要考虑可靠性和承载能力等)。在本架构中业务服务器会根据请求类型优先访问缓存,并根据策略更新缓存内容。目前使用最多的缓存应该是Redis缓存,大家可以深入了解一下。

本文从微观到宏观,从不同的层面介绍了缓存在提升系统性能方面的应用。当然,缓存的应用领域比本文涉及的还要多得多。这里只是一个引子,希望大家能够得到一些启发,为自己系统的性能优化提供一些思路。

【编辑推荐】

  1. 华为考虑与俄罗斯Aurora操作系统进行深度研发合作
  2. 常用操作系统原版下载地址整理,Windows7 Windows10 Deepin
  3. 理解Linux操作系统中的块设备
  4. 世界操作系统发展简史:华为鸿蒙能成功么?
  5. 桌面操作系统难在哪?国产麒麟系统应用仅为Windows十万分之一
【责任编辑:赵宁宁 TEL:(010)68476606】
点赞 0

(编辑:应用网_丽江站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读