Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1048257
  • 博文数量: 157
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 1388
  • 用 户 组: 普通用户
  • 注册时间: 2015-04-09 15:37
文章分类

全部博文(157)

文章存档

2023年(9)

2022年(2)

2021年(18)

2020年(7)

2017年(13)

2016年(53)

2015年(55)

我的朋友

分类: 服务器与存储

2015-04-23 17:43:05

nginx服务器的限速:
1.打开配置文件nginx.conf:

http {
   limit_conn_zone  $binary_remote_addr zone=addr:10m;
   server {
        listen 8080;
        server_name atstest.mytest1.dnion.com atstest.mytest1.dnion.com.cn;
        location / {
                root  /usr/local/nginx1.7.11/html/;
                index  index.html index.htm;
                limit_conn addr 2;       #限制每个IP只能发起2个并发连接
                limit_rate 10m; #这里是对连接限速,而不是对IP限速。如果一个IP允许两个并发连接,那么这个IP就是限速limit_rate×2,但是我测试发现只发一个请求时还是限速10m而不是20m??,可以同时发送两个请求(每个请求10m速率),当发送第三个请求时返回503(HTTP/1.1 503 Service Temporarily Unavailable
                limit_rate_after 1m;         #从1M字节开始执行上面10m的限速
            }
    }

2.注意:nginx自从1.1.8版本发布后将配置中的limit_conn更换为limit_conn_zone,并对下面配置做相应修改,否则在启动nginx时出现warning
3.如果ats做代理服务器,nginx做源,nginx上做了限速配置,则在ats上的下载速度不会大于nginx上限的速度值
4.注意:ats上限速的url不是remap前面的url,是remap后面的url,nginx上限速的也是remap后面的url
5.在ats上编写限速插件也可实现限速。
6.nginx上做限速的实际应用:用webbech或者siege或者ab等一些工具模拟并发压服务器,若服务器没有限制连接数或带宽,服务器很容易被压跨。

阅读(1645) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~