欢迎光临
我们一直在努力

nginx限速

本站教程收集整理的这篇文章主要介绍了nginx限速,本站教程本站觉得挺不错的,现在分享给大家,也给大家做个参考。

基于Nginx限速可以先参考下这篇文章:https://blog.csdn.net/Hellow__world/article/details/78658041

基于openresty限速可以先参考下这篇文章:https://blog.csdn.net/cn_yaojin/article/details/81774380

?

下面贴出源站通过环境变量的方式直接设置openresty的QPS主要配置

    lua_shared_Dict Nginx_limit_req_store 10m;
    access_by_lua_block {
       local limit_req = require "resty.limit.req"

       local rate = tonumber(os.getenv("QPS"))
       if rate > 1000 then
           burst = rate - 1000
           rate = 1000
       else
           burst = rate / 2
           rate = rate / 2
       end
       local lim, err = limit_req.new("Nginx_limit_req_store", rate, burst - 1)
       if not lim then
           ngx.log(ngx.ERR, "Failed to instantiate a resty.limit.req object: ", err)
           return ngx.exit(500)
       end

?

踩坑记录:

1.rate参数是精确到ms,其最小单位是ms,但是最多可以限制请求1000r/s, 即1r/ms。设置再大,也不会是所想的2000r/s,也就是最多可以限制请求1000r/s。(通过测试得出)

2.burst是应对突发大量便宜美国vps请求,以上配置,会瞬时提供处理(rate + burst)个请求的能力。

3.以上配置为什么rate和burst要中间换算一下?因为踩坑记录1所述。

本站总结

以上是本站教程为你收集整理的nginx限速全部内容,希望文章能够帮你解决nginx限速所遇到的程序开发问题。

如果觉得本站教程网站内容还不错,欢迎将本站教程推荐给好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。

赞(0)
【声明】:本博客不参与任何交易,也非中介,仅记录个人感兴趣的主机测评结果和优惠活动,内容均不作直接、间接、法定、约定的保证。访问本博客请务必遵守有关互联网的相关法律、规定与规则。一旦您访问本博客,即表示您已经知晓并接受了此声明通告。