We're sorry but nginx-community doesn't work properly without JavaScript enabled. Please enable it to continue.
开源社区
首页
文章
问答
专栏
文档
发现更多
软件下载
三方插件
技术支持
电子书
公开课
社区贡献榜
关于我们
登录
注册
# 缓存
缓存(cache),原始意义是指访问速度比一般随机存取存储器(RAM)快的一种高速存储器,通常它不像系统主存那样使用DRAM技术,而使用昂贵但较快速的SRAM技术。缓存的设置是所有现代计算机系统发挥高性能的重要因素之一。
关注标签
30人关注
文章
问答
排序
热门
最新
陶辉
发布于2020-05-19 15:54
巧用 NGINX 实现大规模分布式集群的高可用性
本文是我对2019年GOPS深圳站演讲的文字整理。这里我希望带给各位读者的是,如何站在整个互联网背景下系统化地理解Nginx,因为这样才能解决好大流量分布式网络所面临的高可用问题。标题里有“巧用”二字,何谓巧用?同一个问题会有很多种解决方案,但是,各自的约束性条件却大不相同。巧用就是找出最简单、最适合的方案,而做到这一点的前提就是必须系统化的理解Nginx!本文分四个部分讲清楚如何达到这一目的:首先要搞清楚我们面对的是什么问题。这里会谈下我对大规模分布式集群的理解;Nginx如何帮助集群实现可伸缩性;Nginx如何提高服务的性能;从Nginx的设计思路上学习如何用好它。1.大规模分布式集群的特点互联网是一个巨大的分布式网络,它有以下特点:多样化的客户端。网络中现存各种不同厂商、不同版本的浏览器,甚至有些用户还在使用非常古老的浏览器,而我们没有办法强制用户升级;多层代理。我们不知道用户发来的请求是不是通过代理翻墙过来的;多级缓存。请求链路上有很多级缓存,浏览器、正反向代理、CDN等都有缓存,怎么控制多级缓存?RFC规范中有明确的定义,但是有些Server并不完全遵守;不可控的流量风暴。
点赞
10
浏览
2.3k
陶辉
发布于2020-05-19 13:58
如何善用缓存提升系统的健壮性?(上)
分布式系统提升可用性时,最有效的方案就是在空间维度上,将资源复制一份作为缓存,并把缓存放在离用户更近的地方。这样,通过缩短用户的访问路径,不只可以降低请求的时延,多份资源还能提升系统的健壮性。比如WEB服务中的CDN就是这样一个缓存系统。 Nginx由于具有下面3个特性,因此是最合适的缓存系统:l 首先,高并发、低延迟赋予了Nginx优秀的性能;l 其次,多进程架构让Nginx具备了很高的稳定性;l 最后,模块化的开源生态,以及从开放中诞生的Openresty、Kong等其他体系,这都让Nginx的功能丰富而强大。 所以,Nginx往往部署在企业最核心的边缘位置,在最外层的Nginx上部署共享缓存,能够给服务带来更大的收益,更短的访问路径带来了更佳的用户体验。然而,当整个系统的可用性极度依赖Nginx的缓存功能时,我们必须仔细地配置Nginx,还得使用到缓存的许多进阶功能。 比如,在超大流量下如果热点资源的缓存失效,那么在巨大的流量穿透Nginx缓存后,非常有可能把脆弱的上游服务打挂。此时合并回源请求功能,就是你的最佳应
点赞
12
浏览
1.9k
守望
发布于2020-09-10 09:56
nginx缓存原理及配置
1.nginx缓存原理及配置nginx的http_proxy模块,可以实现类似于squid的缓存功能。基于nginx静态缓存的解决方案:1.1nginxcache的基本配置proxy_cache_path/data/nginx/cache_itemlevels=1:1:2keys_zone=cache_item:10mmax_size=10ginactive=60m; server{ location~\.(gif|jpg|jpeg|png|bmp|ico)${ proxy_set_headerHost$host; proxy_set_headerX-Forwarded-For$remote_addr; proxy_passhttp://127.0.0.1:8080; proxy_cachecache_item;
点赞
3
浏览
1k
守望
发布于2020-09-10 09:59
Nginx下关于缓存控制字段cache-control的配置说明 - 运维小结
HTTP协议的Cache-Control指定请求和响应遵循的缓存机制。在请求消息或响应消息中设置Cache-Control并不会影响另一个消息处理过程中的缓存处理过程。请求时的缓存指令包括:no-cache、no-store、max-age、max-stale、min-fresh、only-if-cached等。响应消息中的指令包括:public、private、no-cache、no-store、no-transform、must-revalidate、proxy-revalidate、max-age。下面做一详细总结,方便在以后的运维工作中理解和运用.一. 浏览器中关于Cache的3属性:1.Cache-Control:设置相对过期时间,max-age指明以秒为单位的缓存时间.若对静态资源只缓存一次,可以设置max-age的值为315360000000(一万年). 比如对于提交的订单,为了防止浏览器回退重新提交,可以使用Cache-Control之no-store绝对禁止缓存,即便浏览器回退依然请求的是服务器,进而判断订单的
点赞
3
浏览
985
守望
发布于2021-02-08 09:44
Nginx 减轻缓存失效对上游服务压力 proxy_cahce_lock和proxy_cache_use_stale
合并回源请求场景Nginx的缓存满足了绝大部分的应用场景,当我们的服务面对非常大的流量的时候,如果我们的缓存服务例如nginx出现了一些问题,比如新增加了或者一些nginx宕机了,缓存已经失效了,这些ngixn起来的时候会导致大量的请求穿透nginx,因为当前nginx缓存都是失效的,这样全部的请求打到了上游服务,特别是对一些热点的文件,很多用户访问的是同一个资源,但是因为这个资源突然失效了,这些并发的请求全部打到了上游服务,而导致上游服务一直起不来。Nginx对于这种场景有很多的处理方法。Nginx是怎么样通过合并回源请求等等方式来减轻上游服务在高峰期并发访问压力的呢?合并回源请求,减轻峰值流量下的压力proxy_cache_lockSyntax:proxy_cache_lock on | off;Default:proxy_cache_lockoff;Context:http, server, locationThisdirectiveappearedinversion1.1.12.Whenenabled,only
点赞
0
浏览
750
NGINX官方账号
发布于2022-04-19 10:17
如何应对突发的流量激增和服务器过载问题
原文作者:FrancesFedoriskaofF5原文链接:如何应对突发的流量激增和服务器过载问题-NGINX转载来源:NGINX官方网站在新冠疫情的冲击下,许多零售商的客户都改变了他们假日购物的渠道和方式。由于人们无法去实体店购物,线上购物迎来了前所未有的新高潮——2020年美国的电子商务销售额飙升至1,890亿美元,比2019年增长了33%。现在购物狂欢节还有不到六个月的时间,我们在此提供了几种利用NGINX帮助您为突发的流量高峰做好准备的方法。第1步:知己知彼在调整堆栈之前,最好先了解您需要在多大程度上优化您的网站性能,才能在购物狂欢季有最佳(而不是勉强合格)的表现。先从收集竞争对手网站的性能数据开始吧。页面加载时间可能是最重要的指标,因为如今许多用户都没有耐心,只要网页加载时间超过三秒,他们就会离开。测量加载时间的工具有很多,并且大多都是免费的。您不妨参考一下Geekflare最近测评的11款测试工具。您可考虑测量以下页面的加载时间:主页产品搜索页面产品详情页面点击“购买”按钮后出现的确认页面测试几个竞争对手和您自己的网站的关键页面只需
点赞
0
浏览
747
发表文章
提问
社区达人
成为达人
相关文章
保持联系
微信公众号
加入微信群
获取商业支持
了解商业产品和专业支持服务
加入邮件列表
向开发组提交代码或反馈意见