千家信息网

反向代理缓存的详细介绍

发表于:2025-12-03 作者:千家信息网编辑
千家信息网最后更新 2025年12月03日,反向代理缓存的详细介绍传统代理: 用户隐藏在代理服务器之后。代理服务器工作在应用层,它只转发它支持的协议的数据。反向代理(Reverse Proxy): 这种机制是Web服务器隐藏在代理服务器之后,实
千家信息网最后更新 2025年12月03日反向代理缓存的详细介绍

反向代理缓存的详细介绍

传统代理: 用户隐藏在代理服务器之后。代理服务器工作在应用层,它只转发它支持的协议的数据。

反向代理(Reverse Proxy): 这种机制是Web服务器隐藏在代理服务器之后,实现这种机制的服务器称作反向代理服务器(Reverse Proxy Server)。此时,Web服务器成为后端服务器,反向代理服务器称为前端服务器。

引入反向代理服务器的目的之一就是基于缓存的加速。我们可以将内容缓存在反向代理服务器上,所有缓存机制的实现仍然采用HTTP/1.1协议。

反向代理服务器不使用缓存:

可将Nginx做为Apache的反向代理服务器,反向代理服务器不使用缓存时,吞吐率会下降,因为原本直达Web的请求,现在绕路转达,处理时间必然会增加。

可将Web服务器和应用服务器分离,前者处理一些静态内容,并作为反向代理,后者处理动态内容。

反向代理服务器(RPS)使用缓存:

Varnish作为RPS,能够提供较好的缓存功能。如果缓存内容发挥作用,在Http响应头中服务器显示的是后端服务器,但Via标记会指示数据的来源。

RPS可通过修改流经它的Http头信息来决定哪些内容可以缓存,哪些内容不可以缓存。浏览器和Web服务器通过Http将自己的需求告诉RPS,RPS进行协调缓存。

Varnish通过配置文件来修改缓存规则,使用VCL语言。它也提供强制清除缓存的功能。Varnish提供一个监控程序Varnishstat用来监控缓存命中率。

缓存命中率和后端吞吐率的理想技术模型:

实际吞吐率: 指反向代理服务器处理用户请求时的实际吞吐率。
后端吞吐率: 指后端Web服务器处理来自反向代理服务器的请求时的吞吐率。
活跃内容数: 在平均缓存有效周期内,反向代理服务器想后端服务器请求内容的次数。

缓存丢失率=(活跃内容数/(实际吞吐率×平均缓存有效期))×100%
缓存命中率= 1-缓存丢失率
后端吞吐率= 活跃内容数/平均缓存有效期
缓存命中率= (1-(后端吞吐率/实际吞吐率))×100%
后端吞吐率 = (1 - 缓存命中率)×实际吞吐率

结论:

1. 活跃内容数和平均缓存有效期一定的情况下,缓存命中率与实际吞吐率成正比。
2. 实际吞吐率和平均缓存有效期一定的情况下,缓存命中率与活跃内容数成反比。
3. 活跃内容数和实际吞吐率一定的情况下,缓存命中率与平均缓存有效期成正比。
4. 活跃内容数一定的情况下,后端吞吐率与平均缓存有效期成反比。
5. 平均缓存有效期一定的情况下,后端吞吐率与活跃内容数成正比。
6. 缓存命中率的变化不一定会影响后端吞吐率。
7. 后端吞吐率的变化不一定会影响缓存命中率。
由此可见,缓存命中率越高,后端服务器工作量越少是错误的认识。

ESI(Edge Side Includes)

ESI类似于SSI,可以在页面中嵌入子页面,不同于SSI的是SSI在Web服务器端组装内容,ESI在Http代理服务器上组装内容,包括反向代理。

Varnish支持ESI,这样Varnish就支持网页局部缓存,实现局部更新动态内容。AJAX也有类似的功能(它对局部内容支持异步请求)。

穿过代理:

反向代理服务器作为用户和后端Web服务器的中介,它只将用户的Http请求转发给后端服务器,但用户的某些信息有时并不在Http请求中,如用户的IP地址和发送请求的TCP端口,这对于后端的Web服务器是不可见的,这就有必要想办法让这些信息

"穿过"反向代理服务器。

办法: 让反向代理请求后端服务器时携带附加的Http头信息(通过配置反向代理服务器来实现)。同样,如果后端服务器想要告知浏览器一些额外的信息,也可以在Http响应头中携带自定义的信息"穿过"反向代理。

Nginx和Lighttpd优势主要体现在网络IO模型上。

Nginx利用epoll模型可以在较大并发用户数的情况下依然提供较高的吞吐率。

Ajax的问题,局部内容应该和父页面所在的主机保持相同的顶级域名。

影响缓存命中率的因素: 缓存过期时间,缓存空间不够大被换出,缓存的粒度,架构设计。

影响Web服务器处理能力的因素?(服务器并发处理能力这一章)

如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

缓存 服务器 服务 代理 内容 吞吐 命中率 有效 实际 有效期 用户 处理 信息 情况 支持 局部 影响 功能 机制 模型 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 虚拟专用网络安全手抄报 装数据库前所需缺少包 亚马逊赶跟卖软件开发 网络安全监测绩效考核内容 数据库实现分布式锁方案 监控服务器什么意思 网络安全技术对情感的 不能将网页上传到服务器的软件是 ibm服务器改装raid教程 安装12c数据库讲解 qq数据库c 福建it软件开发服务商 武汉大学国家网络安全学院课题组 国家网络安全宣传周针对什么 数据库有效规则大于0 朝阳区品质软件开发介绍 莱阳商城软件开发推荐 网瘾是网络安全吗 考试中心网络安全应急演练脚本 戴尔服务器客服售后电话 南岸区全过程软件开发流程报价表 系统集成技术 软件开发 生死狙击怎么找玩过的服务器 吉中多互联网科技有限公司 软件开发金额 最新的软件开发模型 读取数据库的二进制文件 我的世界服务器找密码 基于混合现实的交互软件开发 厦门十七互联网科技有限公司
0