微信号:programmer_club

介绍:程序员第一自媒体,与你探讨码农人生路上遇到的各类泛技术话题,定期为你推荐码农人生思考、感悟以及启迪!

如何用4M网速为30个程序猿提供特殊服务

2015-08-01 07:23 程序员之家

在xx信息安全基地三楼只有4M的铜线.二楼的光纤联通不让往上接,必须让从校门口再拉一根过来,在光线面条价的今天,联通的安装费用惊人的高-N万(你在逗我?).为什么在当今全民提速在堂堂联大还出现这种奇葩事件.OK遇到问题,解决就是了.

一天A老师提到,’在之前的教学基地曾经使用过限制网站等策略因为当时是50M光纤,现在就不必了.’灵感不期而至.

不必了?更必须了吧!在资源极度缺乏的情况下,如何合理利用资源成为一个难题.

如果直接限制每个客户端的流量为平均值,貌似公平,实则体验不佳.

原因在于:

需求:

  1. 浏览技术网站可以快速显示.

  2. 登陆QQ传输轻量文件可以快速.

  3. 竟然想不出第三个需求!!!

策略:

  • 按照连接数量为每个客户端保留最低流量.

    (是否可以识别电脑和非电脑?)4Mbps=512kb/30=17k.每人N设备.假设N为2.ok.所有设备同时请求最多每人分8.5k最糟的情况(对于1kb的我表示非常多了).


  • 对于用户请求的流量进行瞬时满足.

    对于用户长期的请求通常是短期的.打开网页,QQ等.我们需要一个保留带宽策略来进行满足.从总带宽中的分割合理比例的流量出来:(X,刚才不慎搞成了没有转换bps和kb,每设备66.5k表示很开心,X)


假设:

512k保留个JB!!! 想到这里,本骚年就气不打一处来.

好吧,消消气,消消气.你是最棒的工程狮.把Kb想象成M就会舒服一些.

512k剥离200k出来,组成两个100k带宽为两个队列P1,P2提供服务.设备每人M:312/30=10k

提出饱食度的概念:用v来表示.

范围为:0-9该值越大表示越饱.占满阀值M的时间将导致饱食度增加.否则饱食度减少.


  • 设备分为:1待服务设备:0-42过饱设备:5-9

一个处于待服务状态的设备在申请更高带宽的时候会添加到待服务设备队列P1orP2.

将得到额外带宽的帮助,直到


  1. 超出一定时间不再需求超过阀值的流量.

  2. 它不再成为待服务设备.

此时会被剔除设备队列.

以下将成为本策略的实际情况的关键:

  1. 用于队列服务的带宽大小,及其与总带宽的关系.

  2. 饱食度增减策略.

  3. 特殊服务队列的数量.及流量分配情况.

结合服务器IP策略可能会更好?比如QQ传输的IP之类的.如果你的团队使用了版本控制程序,应当为其提供优惠策略(666)等.

如果以上做的不错,你将得到以下效果:

  1. 在你编程时打开浏览器搜索某个API的用法,快速打开.妹子表示很开鑫(~ o ~)~

  2. 在你下载XM以内的文件的时候也能得到快速的赶脚

  3. 你在看电影的时候只能看个开头,你将永远看不完这个电影.(因为你的设备将处于过饱状态).

尾声

4M网速如何让30个程序猿快乐玩耍?看来只能吃饱辣条压压精了.


PS:程序员之家开始约稿了~

 
程序员之家 更多文章 我们这一代人的困惑 神剪辑,揭秘程序员加班内幕,不能看,看完想笑又想哭! 美国12位创新型程序员:让科技永远改变 说说怎么写clean code 500,000+年薪程序猿出身哪里 猎聘网揭秘前十大学校
猜您喜欢 【DBA+分享预告】Oracle parallel相关参数设置不当引起的系统故障 Java 中自动装箱与拆箱探究 Android系统篇之----Android中的智能指针 Python合并Excel2007+中多个WorkSheet 基础篇 | Docker常见仓库介绍