zoukankan      html  css  js  c++  java
  • Nginx服务器防止被压力测试

     

    最近经常用人帮忙做压力测试,用webbech或者ab等一些工具模拟并发压服务器,若服务器没有限制连接数或带宽,服务器很容易被压跨。
    cat nginx.conf

    http {

    limit_conn_zone $binary_remote_addr zone=one:10m;
    #如果在1.1.8之后版本还用语法:limit_zone name $variable size,会报警告nginx: [warn] the
    “limit_zone” directive is deprecated, use the “limit_conn_zone”
    directive

    #这里,设置客户端的IP地址作为键。注意,这里使用的是$binary_remote_addr变量,而不是$remote_addr变
    量。$remote_addr变量的长度为7字节到15字节不等,而存储状态在32位平台中占用32字节或64字节,在64位平台中占用64字节。
    而$binary_remote_addr变量的长度是固定的4字节,存储状态在32位平台中占用32字节或64字节,在64位平台中占用64字节。一兆
    字节的共享内存空间可以保存3.2万个32位的状态,1.6万个64位的状态。如果共享内存空间被耗尽,服务器将会对后续所有的请求返回 503
    (Service Temporarily Unavailable) 错误。

    server {
    limit_conn one 10;
    #指定一个会话最大的并发连接数(与之前的limit_conn_zone配合使用),可对单独目录做出限制,一个IP只能发起10个连接,多于10个,一律返回Services unavailable(503)状态,生产环境需考虑办公室或者局域网共享IP问题
    limit_rate_after 1m;
    #设置单连接限速条件(当下载文件字节数超过1MB后,limit_rate限速生效,限速100k)
    limit_rate 100k;
    #单连接限速

    }

    }

  • 相关阅读:
    ExtJS4 Panel中嵌套PDF
    从 JavaScript 数组去重谈性能优化(转)
    js中top、parent、frame
    “N”在Sql Server字段类型中的重要性 (转)
    IE下lineheight的BUG解决 (转)
    ExtJS4 Dialog
    Chrome启动后打开第一个网页很慢的解决方案(转)
    ExtJS4 Grid改变单元格背景颜色
    form表单
    Detect IFrame Load Event 探索Iframe的加载事件
  • 原文地址:https://www.cnblogs.com/yanghj010/p/5549163.html
Copyright © 2011-2022 走看看