老师 用 limit_conn_zone 设置链接数之后,err.log里没有显示关于limit_conn_zone的报错
来源:2-27 Nginx的访问控制_介绍实现访问控制的基本方式
慕设计1405378
2018-03-29
老师 用 limit_conn_zone 设置链接数之后,err.log里没有显示关于limit_conn_zone的报错
写回答
1回答
-
Jeson
2018-04-01
你好,首先检查limit_conn_zone的配置,看看是否正确或者生效。
如果配置正确无误、并生效的情况下,你需要注意的是,连接限制是Nginx针对客户端单次连接延时,就一次连接而言,如果接口响应很快,是非常短暂,都可以用ms来耗时来完成。
所以你的配置虽然生效了,但由于Nginx测试的接口响应极快,而客户端ab工具虽然看似并发20,但微观上并不是是同一个时间就能开启到20个连接,会有很短的间隔差,在这个间隔差中即使设置并发限制,20个请求也能在后端进行消化。
所以了解原理后,我建议你:
1、将Nginx端提高接口响应的延时,可以结合Nginx的proxy_pass,将请求调转到后端的一个动态接口,这样单次的响应延时就高了,前端测试效果就会很明显。
2、也可以选择将客户端到Nginx的服务端网络延时增加,比如将ab的客户端选择到国外一个节点来发起,这样请求就需要更长的时间话费在网络上,也能起到更明显的效果。
042018-06-11
相似问题