让网维变得简单,快速,准确。拒绝浪费时间,解放出更多的时间陪陪家人。 注册 | 登陆
浏览模式: 标准 | 列表Tag:连接数

nginx限速及连接数限制

在nginx.conf的http{}添加
limit_zone one $binary_remote_addr 10m;

然后在 虚拟机里写
location / {
limit_conn one 1; 线程
limit_rate 100k; 速度
表示限速100K 每个客户端只允许一个线程

最终速度=rate * conn

-----------------------------------------------------------------

limit_zone one $binary_remote_addr 32k;
server {
listen       80;
server_name  192.168.1.222;
location / {
root   /var/www/html;
index  index.html index.htm index.php;
autoindex on;
autoindex_exact_size off;
autoindex_localtime on;
limit_conn one 2;
limit_rate 10k;
}


说明:

limit_zone,针对每个IP定义一个存储session状态的容器。要求大于等于32K。

limit_conn,限制每个IP发起的连接数,比如本实例设了2个,当我用IE进行单线程下载的时候还可以打开该站点的一个网页。而用迅雷下载时,迅雷会启用2个线程下载,所以当再去打开网页的时候,服务器端会返回错误请求。该值建议设置得高一些,比如15左右。

limit_rate,限制每个连接速度为10K,此限制是针对单个线程,比如这个例子,我用IE下载是10K,当用迅雷时它会占用2个线程,所以迅雷下载速度为20K,此实例也很好的解释了迅雷下载速度快的原因。

» 阅读全文

Tags: nginx, 限速, 连接数, 限制, 并发

ROS统计客户机TCP和UDP连接数量

#内网段IP

:global ipnetmask "192.168.0."

#内网IP起止

:for aaa from 1 to 254 do={

:global s 0

:global e 0

:foreach a in=[/ip firewall connection find src-address~($ipnetmask . $aaa)] do={

:if ([/ip firewall connection get $a protocol]="tcp") do={

:set s ($s+1)}

:if ([/ip firewall connection get $a protocol]="udp") do={

:set e ($e+1)}

}

:put ($ipnetmask . $aaa . " tcp-" . $s . " udp-" . $e)}

由于本脚本过于暴力,CPU不够牛的自觉绕路,省得卡掉线还怪我。看不懂也请自觉绕路,看得懂的自行修改下内网IP段就能用了。

» 阅读全文

Tags: ros, 统计, 客户机, 连接数