分类: 服务器与存储
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等一些工具模拟并发压服务器,若服务器没有限制连接数或带宽,服务器很容易被压跨。