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) |