码迷,mamicode.com
首页 > 其他好文 > 详细

nginx控制单个ip连接数及流量控制

时间:2015-09-07 16:54:04      阅读:166      评论:0      收藏:0      [点我收藏+]

标签:流量   带宽   request   status   


配置limit_conn_zone来限制并发连接数以及下载带宽


配置nginx限制流量和连接数;

[root@server05 ~]# rpm -q nginx   #我这里使用1.8的nginx版本,1.2以后应该都是支持的;

nginx-1.8.0-1.el6.ngx.x86_64

[root@server05 ~]# cd /etc/nginx/

[root@server05 nginx]# vim nginx.conf  #在nginx.conf里的http{}里加上相关代码:

http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;
    log_format  main  ‘$remote_addr - $remote_user [$time_local] "$request" ‘
                      ‘$status $body_bytes_sent "$http_referer" ‘
                      ‘"$http_user_agent" "$http_x_forwarded_for"‘;
    access_log  /var/log/nginx/access.log  main;
    
#配置区域名称为perip,需要写在http里面;
limit_conn_zone $binary_remote_addr zone=perip:10m;  

....后面省略
}

[root@server05 nginx]# cd conf.d/

[root@server05 conf.d]# vim default.conf  #在相关需要限制的server{}里加上相关代码:

server {
    listen       80;
    server_name  localhost;
    #charset koi8-r;
    access_log  /var/log/nginx/log/host.access.log  main;
    
    limit_conn  perip 10;  #这里调用上面的perip,需要写在server里面;
    limit_rate 100k;  #限制每个连接的带宽,可以单独写这条,与连接数无关;
    
...........后面省略
}


补充说明下参数:

  • $binary_remote_addr是限制同一客户端ip地址;

  • $server_name是限制同一server最大并发数;

  • limit_conn为限制并发连接数;

  • limit_rate为限制下载速度;




测试1000个并发:

[root@server06 nginx]# ab -kc 1000 -n 1000 http://192.168.10.65/index.php

Concurrency Level:      1000   #并发级别
Time taken for tests:   1.220 seconds   #测试时间
Complete requests:      1000   #完成请求
Failed requests:        947    #失败的请求
   (Connect: 0, Receive: 0, Length: 947, Exceptions: 0)
Write errors:           0
Non-2xx responses:      1000
Keep-Alive requests:    947
Total transferred:      714754 bytes
HTML transferred:       518715 bytes
Requests per second:    819.75 [#/sec] (mean)
Time per request:       1219.889 [ms] (mean)
Time per request:       1.220 [ms] (mean, across all concurrent requests)
Transfer rate:          572.18 [Kbytes/sec] received


流量测试暂时不知道要怎么测试;



本文出自 “鬼迷心窍” 博客,请务必保留此出处http://dragondragon.blog.51cto.com/6170889/1692339

nginx控制单个ip连接数及流量控制

标签:流量   带宽   request   status   

原文地址:http://dragondragon.blog.51cto.com/6170889/1692339

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!