Nginx并发请求过高导致请求超时的问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Nginx并发请求过高导致请求超时的问题相关的知识,希望对你有一定的参考价值。
参考技术A 昨晚(2020-07-09)八点左右,生产运行的APP大面积上报请求超时,无法获取数据,显示网络连接错误等。经过简单测试,发现并不是如用户所说的APP完全无法与服务器通讯,偶尔请求又能正常返回。
登录后台后,直接查看系统连接数,发现并发数较高,等待处理的请求也很多,造成了网络阻塞;
分析可能是有类似爬虫的程序在对我们的系统进行扫描。由于系统并没有特别高并发的需求(小众应用),所以没有所谓的高并发架构,但应用服务端采用的是Nginx,故决定限制一下限制客户端的访问频次和访问次数。
Nginx可以通过 ngx_http_limit_conn_module 和 ngx_http_limit_req_module 配置来限制ip在同一时间段的访问次数:
可以根据设定的条件来限定客户端(单一ip)的 并发访问 ,使用limit_conn_zone和limit_conn指令。
可以根据设定的条件来限定客户端(单一ip)的 访问频率 ,使用limit_req_zone和limit_req指令。
以上是关于Nginx并发请求过高导致请求超时的问题的主要内容,如果未能解决你的问题,请参考以下文章