Chinaunix首页 | 论坛 | 博客
  • 博客访问: 93451
  • 博文数量: 41
  • 博客积分: 1905
  • 博客等级: 上尉
  • 技术积分: 335
  • 用 户 组: 普通用户
  • 注册时间: 2009-07-10 20:07
文章分类

全部博文(41)

文章存档

2011年(1)

2010年(18)

2009年(22)

我的朋友

分类: LINUX

2010-07-02 09:27:28

scp传输带宽控制算法
 
-------------------------
 
1.设置一个初始控制单位:thresh=16384字节
2.设置一个静态局部变量:lamt
3.每次读写数据后,lamt=lamt+读写数据块的大小
4.lamt与thresh比较,如果lamt>thresh,执行带宽控制,修改时间戳,否则继续。
5.lamt/limit_rate 与 实际所用时间比较,如果实际所用时间更长,pass。如果时间短,则执行以下策略
6.如果时间差距超过一秒,减小thresh,调用nanosleep睡眠
7.如果时间差距<1ms,增大thresh
8.其余情况,调用nanosleep
 
注1:窗口太大,不利于带宽控制,太小,开销太大
注2:个人感觉,算法还有改进的地方,思考中。。。。
阅读(679) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~