Nginx并发请求过高导致请求超时的问题
展开全部
昨晚(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指令。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询