找回密码
 注册

QQ登录

只需一步,快速开始

搜索
楼主: kuwin

[限速] ROS用流量监控动态控制限速点(新方法)

[复制链接]
发表于 2007-5-16 20:22:14 | 显示全部楼层
顶一下!
routeros
回复

使用道具 举报

发表于 2007-5-16 21:36:16 | 显示全部楼层
呵,有研究精神是不错,但这种模式不符合规范.
routeros
回复

使用道具 举报

发表于 2007-5-20 22:08:49 | 显示全部楼层
请问做了PPPOE服务器,有用吗???
routeros
回复

使用道具 举报

发表于 2007-5-21 15:43:14 | 显示全部楼层
routeros
回复

使用道具 举报

发表于 2007-5-21 23:35:33 | 显示全部楼层
顶顶顶支持精神
routeros
回复

使用道具 举报

发表于 2007-5-22 09:45:49 | 显示全部楼层
关注中 有时间测试一下~~LZ继续加油~!!
routeros
回复

使用道具 举报

 楼主| 发表于 2007-5-23 17:07:37 | 显示全部楼层

改动(2007-05-20)

######程序开始######################################################################
# 程序名称:ROS用流量监控动态控制限速点
# 程序版本:测试
# 程 序 员:kuwin Email:kuwin@163.com
# 程序版权:免费软件(本程序可自由传播及修改,不必理会原创作者kuwin)
#  Ros版本:Ros2.8.27 Ros2.9.2 Ros2.9.7
# 编写日期:2007-04-29
# 修改日期:2007-05-20
# 测试人员:kuwin
# 程序评级:无
# 测试结果:
#     1.控制效果良好;
#     2.程序消耗一定的cpu资源,K62-300的cpu资源要用3%-7%,建议cpu要P3-500以上;
#       (2007-05-05改动后已经大幅降低,2007-05-08改动后影响可以忽略)
#     3.Ros显示的流量要比下载软件(讯雷等)上显示的流量要大,原因未明.
#     4.写硬盘操作过多,有损硬盘!(2007-05-05,2007-05-08两次修改后有明显改善)
#     5.经过(2007-05-20)修改后,写硬盘过多及占用cpu资源的问题得到解决;
# 简要说明:
#     1."预留带宽"是给网络游戏,浏览网页等一些不会抢带宽的程序突发使用,有趣的是,当这
#       些程序用了"预留带宽",本程序又会从讯雷,BT等带宽大鳄那里抢回一部分带宽作"预留
#       带宽",在恶劣的使用环境下(比如大家都在下载),最后的限制带宽就是"预留带宽".
#       建议"预留带宽"值取256000-512000,太小影响网络游戏,浏览网页的速度,太大又会影
#       响下载的速度;
#     2."最大带宽"取你的路由器出口带宽值;
#     3."免设置范围",当"即时流量"在("最大带宽"减"预留带宽")上下一定范围内变动时,
#       程序不会改变pcq-rate值,可减少写硬盘次数.可取值40000-400000,越大对硬盘越好,
#       太大会影响下载速度.
# 安装方法:
#     1.安装请做备份,winbox,files-backup.
#     1.首先要做好简单的PCQ限速,最好只标记大包(512-1500),起名"PCQ-Download".
#       上行PCQ限速不明显,建议不要做.上行要在queue simple里做单机限速.
#     2.winbox,system-scripts,按+,起名SCRIPT_PCQ_SET,source里贴入这里全部内容;
#     3.winbox,system-scheduler,按+,起名"SCH_PCQ_SET",interval填00:00:10,最值5-15秒,
#       on event填SCRIPT_PCQ_SET;
#     4.这条可不做,只是监测写硬盘的次数,winbox,system-scripts,按+,起名SCRIPT_HD_WRITE,
#       source填:set a "a",包括:号;
#     5.程序内字母大小写敏感,请注意;
#     6.请特别注意PCQ名"PCQ-Download".还有网卡的名"public"和"local".
# 更新说明:
#     1.针对PCQ上行限速不明显,已去掉PCQ上行限速,请另作queue simple限速,
#       如:limit-at=0/128000 max-limit=0/256000.(2007-05-05)
#     2.原来是每秒写硬盘一次!现在只有PCQ限速值改变时才会写硬盘.(2007-05-05)
#     3.经过前两点修改,cpu使用率大幅下降.(2007-05-05)
#     4.加入"免设置范围",可大幅减少写硬盘次数.(2007-05-08)
#     5.去除"步进带宽",改由程序决定.(2007-05-20)
#     6.秒杀改为5-15秒.(2007-05-20)
#     7.经过(2007-05-20)修改后,写硬盘过多及占用cpu资源的问题得到解决.
####################################################################################

#定义变量(注意在Ros2.8中可以不要后面的0)
:local RxCurRate 0
:local RxCurSet 0
:local RxResRate 0
:local RxMaxRate 0
:local RxStepRate 0


#下行即时流量
#interface monitor public once do={:set RxCurRate $received-bits-per-second}
interface monitor local once do={:set RxCurRate $sent-bits-per-second}
#下行当前设置
:set RxCurSet [/queue type get [/queue type find name="PCQ-Download"] pcq-rate]
#下行预留带宽(256000-512000)
:set RxResRate 256000
#下行最大带宽(路由器出口带宽)
:set RxMaxRate 1170000
#下行免设置范围(40000-400000)
:set RxRangRate 40000


#下行 加大限制带宽
:if($RxCurRate<($RxMaxRate+-$RxResRate+-$RxRangRate)&&$RxCurSet<$RxMaxRate) do={
:set RxCurSet ($RxCurSet+($RxMaxRate+-$RxResRate+-$RxCurRate)/2)
:if($RxCurSet>$RxMaxRate) do={:set RxCurSet $RxMaxRate}
/queue type set "PCQ-Download" kind=pcq pcq-rate=$RxCurSet pcq-classifier=dst-address
#下一句为监测写硬盘次数
/system script run SCRIPT_HD_WRITE
}

#下行 减少限制带宽
:if($RxCurRate>($RxMaxRate+-$RxResRate+$RxRangRate)&&$RxCurSet>$RxResRate) do={
:set RxCurSet ($RxCurSet+($RxMaxRate+-$RxResRate+-$RxCurRate)/2)
:if($RxCurSet<$RxResRate) do={:set RxCurSet $RxResRate}
/queue type set "PCQ-Download" kind=pcq pcq-rate=$RxCurSet pcq-classifier=dst-address
#下一句为监测写硬盘次数
/system script run SCRIPT_HD_WRITE
}
######程序结束######################################################################
routeros
回复

使用道具 举报

发表于 2007-5-23 22:18:48 | 显示全部楼层
高人,真的是高人,这样的文章很少见!!!谢谢!!!
routeros
回复

使用道具 举报

发表于 2007-5-24 00:48:40 | 显示全部楼层
收藏!

感谢LZ的无私!!
routeros
回复

使用道具 举报

发表于 2007-5-24 16:33:19 | 显示全部楼层
楼主能否说明下程序的思路,谢谢
routeros
回复

使用道具 举报

发表于 2007-5-25 14:29:31 | 显示全部楼层
不太懂,但思路很好。顶一个。慢慢研究~!
routeros
回复

使用道具 举报

发表于 2007-5-26 08:46:59 | 显示全部楼层
留个记号~~~~~!!!好东西,顶~~!
routeros
回复

使用道具 举报

发表于 2007-5-28 18:46:39 | 显示全部楼层
这个能否用在双线上网并且做了负载平衡的routeros上?等待大家的测试结果。

[ 本帖最后由 dk_wong 于 2007-5-28 21:17 编辑 ]
routeros
回复

使用道具 举报

发表于 2007-5-29 09:30:45 | 显示全部楼层
顶一份!!!!
routeros
回复

使用道具 举报

发表于 2007-5-29 10:16:07 | 显示全部楼层
顶一个,慢慢研究!!!!!!!!1
routeros
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|手机版|小黑屋|软路由 ( 渝ICP备15001194号-1|渝公网安备 50011602500124号 )

GMT+8, 2024-5-18 09:38 , Processed in 0.128761 second(s), 5 queries , Gzip On, Redis On.

Powered by Discuz! X3.5 Licensed

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表