时间:2021-07-16 | 标签: | 作者:Q8 | 来源:网络
小提示:您能找到这篇{Nginx服务器限速功能(二)}绝对不是偶然,我们能帮您找到潜在客户,解决您的困扰。如果您对本页介绍的Nginx服务器限速功能(二)内容感兴趣,有相关需求意向欢迎拨打我们的服务热线,或留言咨询,我们将第一时间联系您! |
定义有两个部分: zone= keyword标识的区称和冒号后面的大小。 大约16,000个IP地址的状态信息需要1兆字节,所以我们的区域可以存储大约16免费营销平台0,000个地址。 如果Nginx需要添加一个新条目时,存储空间将被耗尽,它将删除最旧的条目。 如果释放的空间不足以容纳新记录,则Nginx返回状态码503(Temporarily Unavailable) 。 此外,为了防止内存耗尽,每当Nginx创建一个新条目时,最多可以删除两个在前60秒内没有使用的条目。
Rate - 设置最大请求率。 在这个例子中,速率不能超过每秒10个请求。 Nginx实际上以毫秒粒度跟踪请求,所以这个限制对应于每100毫秒1个请求。 由于我们不允许爆发,这意味着如果请求在前一个允许的时间之后淘宝直播预告要求小于100毫秒时被拒绝。
limit_req_zone指令为速率限制和共享内存区域设置参数,但实际上并不限制请求速率。
因此,您需要通过在其中包含limit_req指令来将限制应用于特定location或server块。 在这个例子中,我们是对/login/的URI速率限制请求。
因此,现在每个唯一的IP地址被限制,/login/每秒10个请求 - 或者更确切地说,在前一个100毫秒内不能请求该URL。
处理并发
如果我们在100毫秒内得到两个请求会怎么样? 对于第二个请求,Nginx将状态码503返回给客户端。 这可能不是我们想要的,因为应用程序本质上是突发性的。
相反,我们想要缓冲任何多余的请求并及时提供服务。 这是我们使用burst参数limit_req ,在这个更新的配置:
burst参数定义了客户端可以超过区域指定的速率(使用我们的示例mylimit区域,速率限制为每秒10个请求,或每100毫秒1个)可以产生多少个请求。
在前一个请求到达100毫秒后的请求被放入一个队列中,这里我们将队列大小设置为20。
这意味着如果21个请求同时从一个给定的IP地址到达,Nginx立即将第一个请求转发到上游服务器组,并将剩下的20个放入队列中。 然后,它每100毫秒转发一个排队的请求,并且只有当传入的请求使排队请求的数量超过20时才返回503给客户端。
无延迟队列
具有burst的配置会导致流量畅通,但不是很实用,因为它可能会使您的网站显得很慢。
|
上一篇:云服务器与独立服务器的八大差异(一)
下一篇:Nginx服务器限速功能(三)
小提示:您应该对本页介绍的“Nginx服务器限速功能(二)”相关内容感兴趣,若您有相关需求欢迎拨打我们的服务热线或留言咨询,我们尽快与您联系沟通Nginx服务器限速功能(二)的相关事宜。
关键词:Nginx服务器限速功能(二)