如何用4M网速为30个程序猿提供特殊服务
2015-07-30 11:13
204 查看
吐槽
在xx信息安全基地三楼只有4M的铜线.二楼的光纤联通不让往上接,必须让从校门口再拉一根过来,在光线面条价的今天,联通的安装费用惊人的高-N万(你在逗我?).为什么在当今全民提速在堂堂联大还出现这种奇葩事件.OK遇到问题,解决就是了.一天A老师提到,’在之前的教学基地曾经使用过限制网站等策略因为当时是50M光纤,现在就不必了.’灵感不期而至.
不必了?更必须了吧!在资源极度缺乏的情况下,如何合理利用资源成为一个难题.
如果直接限制每个客户端的流量为平均值,貌似公平,实则体验不佳.
原因在于:
在绝大多数时间内都在浪费流量带宽,因为不是所有的客户端都耗尽了自己的流量.不能提高瞬时流量为用户提供快速访问的目的.
需求:
不卡.什么是不卡呢?对于这三十个程序猿来说:浏览技术网站可以快速显示.
登陆QQ传输轻量文件可以快速.
竟然想不出第三个需求!!!
现实:
某些流量大量长期占据连接.很多连接得不到流量.
瞬时流量变动太大.
策略:
我们在下面提出两种策略:按照连接数量为每个客户端保留最低流量.
(是否可以识别电脑和非电脑?)
4Mbps=512kb/30=17k.每人N设备.假设N为2.ok.所有设备同时请求最多每人分8.5k最糟的情况(对于1kb的我表示非常多了).
对于用户请求的流量进行瞬时满足.
对于用户长期的请求通常是短期的.打开网页,QQ等.我们需要一个保留带宽策略来进行满足.
从总带宽中的分割合理比例的流量出来:
(X,刚才不慎搞成了没有转换bps和kb,每设备66.5k表示很开心,X)
假设:
A最好情况:5人会瞬间请求.
B最坏情况:20会瞬间请求
512k保留个JB!!! 想到这里,本骚年就气不打一处来.
好吧,消消气,消消气.你是最棒的工程狮.把Kb想象成M就会舒服一些.
512k剥离200k出来,组成两个100k带宽为两个队列P1,P2提供服务.设备每人M:312/30=10k
提出饱食度的概念:用v来表示.
范围为:0-9
该值越大表示越饱.占满阀值M的时间将导致饱食度增加.否则饱食度减少.
设备分为:
1待服务设备:0-4
2过饱设备:5-9
一个处于待服务状态的设备在申请更高带宽的时候会添加到待服务设备队列P1orP2.
将得到额外带宽的帮助,直到
超出一定时间不再需求超过阀值的流量.
它不再成为待服务设备.
此时会被剔除设备队列.
以下将成为本策略的实际情况的关键:
用于队列服务的带宽大小,及其与总带宽的关系.
饱食度增减策略.
特殊服务队列的数量.及流量分配情况.
结合服务器IP策略可能会更好?比如QQ传输的IP之类的.如果你的团队使用了版本控制程序,应当为其提供优惠策略(666)等.
如果以上做的不错,你将得到以下效果:
在你编程时打开浏览器搜索某个API的用法,快速打开.妹子表示很开鑫(~ o ~)~
在你下载XM以内的文件的时候也能得到快速的赶脚
你在看电影的时候只能看个开头,你将永远看不完这个电影.(因为你的设备将处于过饱状态).
尾声
4M网速如何让30个程序猿快乐玩耍?看来只能吃饱辣条压压精了.如果本文为你来到了些许新鲜空气
请点
相关文章推荐
- activity fragment 生命周期
- 维护数据的完整性(16)
- js代码实现随机颜色的小方块
- Android基础_数据存储二_SharedPreferences存储
- objc_msgSend 报错
- 数据库锁 for update
- intent Getting java.lang.SecurityException: Unable to find app for caller android.app.ApplicationThr
- poj-1573 Robot Motion
- 点滴开始
- 【mongodb系统学习之十一】mongodb删除数据
- 机器学习常见算法分类汇总
- 安卓应用使用QQ登录的申请流程
- iOS图片拉伸技巧
- 基于keepalived双主模型的高可用LVS
- 从头开始写项目Makefile(九):目录搜索 .
- 数据库管理2(13)
- 动态性能视图(15)
- 数据库管理(12)
- 视图实现圆角效果的三种方法及比较
- 如何选择机器学习算法