VPS服务器nginx限速之连接数限制技巧分享
我们经常会遇到这种情况,服务器流量异常,负载过大等等。对于大流量恶意的攻击访问,会带来带宽的浪费,服务器压力,影响业务,往往考虑对同一个ip的连接数,并发数进行限制。nginx 内置模块限速怎么使用就不多说了,今天来说说连接数和单个连接数限速的事。话不多说了,来一起看看详细的介绍吧。
场景:
A公司有100人,A公司只有一个公网IP,假设A公司可能有100个人同时在下载你的网站文件。
但是,你的连接数限制配置为:
limit_conn_zone $binary_remote_addr zone=perip:1m;
server {
---
limit_conn perip 1;
limit_rate 1024k;
---
}
允许单个连接数,单个连接数最大带宽为1M。
这样就会有99个人的请求状态为 503, 其他人如果想下载就必须人工等待(nginx不会通知用户说A用户下载完了,该你B用户下载了)。这样造成的用户体验极差。但是优点也很明显,带宽很快就会降下来。
可能有人就要问了,你限制成很低的连接数是想搞事情?NO,绝对不是。前面的100个人同时下载网站资源的情况有多大呢?没做过统计,但是可能性极小。并且前端页面和下载资源不共用一个域名,所以不会影响到前端页面的访问。那都是谁在大量使用连接数呢?分两类:
下载工具类(迅雷)。
各种各样的采集程序。
limit_conn_zone $binary_remote_addr zone=perip:1m;
server {
---
limit_rate 1024k;
---
}
小明做了如上限速,OK,我告诉你们谁被限速了,当然是浏览器下载用户,360浏览器的下载器都不一定能限制,好的,来算算速度吧。
浏览器: 2014K
下载器: 1024 * 15(最大连接数) * VIP
采集器: 1024 * 连接数
所以我们得到如下结论:
带宽有限,同个IP同时下载的情况很小的,或者说是可以预知的业务,尽量将连接数限制的小一点。
购买使用一诺网络日本vps,可以极大降低初创企业、中小企业以及个人开发者等用户群体的整体IT使用成本,无需亲自搭建基础设施、简化了运维和管理的日常工作量,使用户能够更专注于自身的业务发展和创新。日本vps低至129元/月,购买链接:https://www.enuoidc.com/vpszq.html?typeid=10