sndahua 发表于 2007-5-7 14:32:52

不过有个问题挺严重的

只一天时间,脚本运行了6万多次.硬盘读写了6万多次,我担心不用几天,硬盘就挂了

kuwin 发表于 2007-5-7 18:29:55

是的,硬盘写得比较频,我也正在考虑这个问题.
可以看一下5月5日的改动,会有一点帮助.

LUYOKY 发表于 2007-5-7 20:42:10

;P

看图好像还作了小包优先,小包不限算不算是小包优先?

[ 本帖最后由 LUYOKY 于 2007-5-8 01:11 编辑 ]

kuwin 发表于 2007-5-8 03:20:01

又有改动(2007-05-08)

######程序开始######################################################################
# 程序名称:ROS用流量监控动态控制限速点
# 程序版本:测试
# 程 序 员:kuwin Email:kuwin@163.com
# 程序版权:免费软件(本程序可自由传播及修改,不必理会原创作者kuwin)
#Ros版本:Ros2.8.27 Ros2.9.2 Ros2.9.7
# 编写日期:2007-04-29
# 修改日期:2007-05-08
# 测试人员: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两次改有明显改善)
# 简要说明:
#   1."预留带宽"是给网络游戏,浏览网页等一些不会抢带宽的程序突发使用,有趣的是,当这
#       些程序用了"预留带宽",本程序又会从讯雷,BT等带宽大鳄那里抢回一部分带宽作"预留
#       带宽",在恶劣的使用环境下(比如大家都在下载),最后的限制带宽就是"预留带宽".
#       建议"预留带宽"值取256000-512000,太小影响网络游戏,浏览网页的速度,太大又会影
#       响下载的速度;
#   2."最大带宽"取你的路由器出口带宽值;
#   3."步进带宽"是本程序自动设置限制带宽时的加减值,1兆路由器出口带宽设5000,2兆设
#       10000,10兆设50000,其它按此类推.
#   4."免设置范围",当"即时流量"在("最大带宽"减"预留带宽")上下一定范围内,程序不会
#       改变pcq-rate值,可减少写硬盘次数.可取值20000-100000,越大对硬盘越好,太大会影
#       响下载速度.
# 安装方法:
#   1.安装请做备份,winbox,files-backup.
#   1.首先要做好简单的PCQ限速,起名"PCQ-Download".上行PCQ限速不明显,建议不要做.
#       上行要在queue simple里做单机限速.(很多网站介绍,上baidu搜routeros限速);
#   2.winbox,system-scripts,按+,起名SCRIPT_PCQ_SET,source里贴入这里全部内容;
#   3.winbox,system-scheduler,按+,起名"SCH_PCQ_SET",interval填00:00:01(这是秒杀,
#       可设1-3秒),on event填SCRIPT_PCQ_SET;
#   4.程序内字母大小写敏感,请注意;
#   5.请特别注意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)
####################################################################################

#定义变量(注意在Ros2.8中可以不要后面的0)
:local RxCurRate 0
:local RxCurSet 0
:local RxResRate 0
:local RxMaxRate 0
:local RxStepRate 0
:local RxRangRate 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 pcq-rate]
#下行预留带宽
:set RxResRate 128000
#下行最大带宽
:set RxMaxRate 1024000
#下行步进带宽
:set RxStepRate 5000
#免设置范围(有助于减少写硬盘次数)
:set RxRangRate 30000

#加大限制带宽
:if($RxCurRate<($RxMaxRate+-$RxResRate+-$RxRangRate)&&$RxCurSet<$RxMaxRate) do={
:set RxCurSet ($RxCurSet+$RxStepRate)
/queue type set "PCQ-Download" kind=pcq pcq-rate=$RxCurSet pcq-classifier=dst-address
}
#减少限制带宽
:if($RxCurRate>($RxMaxRate+-$RxResRate+$RxRangRate)&&$RxCurSet>$RxResRate) do={
:set RxCurSet ($RxCurSet+-$RxStepRate)
/queue type set "PCQ-Download" kind=pcq pcq-rate=$RxCurSet pcq-classifier=dst-address
}
######程序结束######################################################################

dghj_aaron 发表于 2007-5-8 22:13:04

改动太频密了,LZ对这个研究花了很多时间,真的很用心。支持了!!!不敢拿公司的网络来搞测试,晚点回家再试验吧!到时请使用了的都来讨论一下!

xqs428 发表于 2007-5-9 09:47:54

步进的流量太小,导致改动太频繁,下载的步进可以更改到50K到100K,而且5K好象没多少效果

xqs428 发表于 2007-5-9 09:50:49

我说的这个5K是相对1024K来说

remonlai 发表于 2007-5-9 20:37:37

谢谢LZ

也许这里的资料不一定符合每个人的网络环境,但我相信都是发帖者的心血,我们必须去尊敬他们的劳动。
重要的是大家去体会理解里面的启发意义,自己加以修改利用才是对作者的尊重也是对自己负责的态度。也只有这样才会有进步。
本人复制了LZ的第一版回去仔细研究了,发现并不适合自己用,但却从其中得到了不少的启发。在此谢谢LZ为大家所作的努力。:D

154613989 发表于 2007-5-10 12:30:57

这样的人,才叫无私。这个论坛到现在为止唯一一个让我觉得该顶的文章

kinglzy 发表于 2007-5-11 15:31:36

请问我现在是双adsl接入,按端口分流,局域网用户用pppoe上网。用你的这个方法做限速可以吗???

ipower 发表于 2007-5-11 16:58:51

:D :') :D :')

zfucheng 发表于 2007-5-15 12:18:20

我得顶起来

hishao 发表于 2007-5-15 12:27:42

这不是要我的小命么!

mzwsl 发表于 2007-5-16 14:15:01

谢谢了 搂住辛苦了   这是尽心尽力了

naboo 发表于 2007-5-16 14:26:21

借鉴一下,谢谢楼主~~
页: 1 2 [3] 4 5 6 7 8 9
查看完整版本: ROS用流量监控动态控制限速点(新方法)