登录  /  注册
首页 > 运维 > Nginx > 正文

nginx限速之连接数限制的方法

WBOY
发布: 2023-05-30 11:19:05
转载
847人浏览过

场景:

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同时下载的情况很小的,或者说是可以预知的业务,尽量将连接数限制的小一点。

反之,别限制了。就降低单个连接数带宽吧!要知道大家谁没事会用浏览器自带下载器下载呢?

注:本文只探讨nginx限速模块在不同业务下的限速

彩蛋:偶尔发现,将连接数限制为1迅雷不能高速下载了。

nginx限速之连接数限制的方法

以上就是nginx限速之连接数限制的方法的详细内容,更多请关注php中文网其它相关文章!

智能AI问答
PHP中文网智能助手能迅速回答你的编程问题,提供实时的代码和解决方案,帮助你解决各种难题。不仅如此,它还能提供编程资源和学习指导,帮助你快速提升编程技能。无论你是初学者还是专业人士,AI智能助手都能成为你的可靠助手,助力你在编程领域取得更大的成就。
相关标签:
来源:亿速云网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
关于CSS思维导图的课件在哪? 课件
凡人来自于2024-04-16 10:10:18
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2024 //m.sbmmt.com/ All Rights Reserved | php.cn | 湘ICP备2023035733号