分析服务器网卡出口流量及限制的思路

最近公司内网带宽不够,分析结果是SVN服务器访问流量大,扩了带宽以后发现还是不够。


结合一位资深网络专家的原话:“人类对带宽的需求是无限的”,所以我们决定在服务器上做些限制。


我们首先做了监控,用的是iftop,直接贡献小脚本,观察了两天发现某远端网段访问SVN服务器量比较大,该服务器出口流量忙时达到近10M,会挤压其他应用带宽

#!/bin/ksh

eth=$1
ip=$2
#eth=eth2
#ip=10.1.0.0/16
while [ 1 ]
do
    dates=`date +%Y%m%d%H%M%S`
    iftop -i ${eth} -n -N -F ${2} -t -L 10 -s 1|tail -8|head -3 > tmp.log
    bj_nj=`cat tmp.log|head -1|awk '{print $4}'`
    nj_bj=`cat tmp.log|head -2|tail -1|awk '{print $4}'`
    all=`cat tmp.log|tail -1|awk '{print $6}'`
    
    echo "${dates}|${bj_nj}|${nj_bj}|${all}"  >> `echo ${2}|awk -F'/' '{print $1}'`.log
done



然后我们考虑使用tc做限制,由于临时用的,没写脚本,直接贴上部分命令

tc qdisc add dev eth2 root handle 1: cbq bandwidth 100Mbit avpkt 1000 cell 8 mpu 64
tc class add dev eth2 parent 1:0 classid 1:1 cbq bandwidth 100Mbit rate 100Mbit maxburst 20 allot 1514 prio 8 avpkt 1000 cell 8 weight 10Mbit
tc class add dev eth2 parent 1:1 classid 1:2 cbq bandwidth 100Mbit rate 3Mbit maxburst 20 allot 1514 prio 2 avpkt 1000 cell 8 weight 1Mbit split 1:0 bounded
tc filter add dev eth2 parent 1:0 protocol ip prio 100 route
tc filter add dev eth2 parent 1:0 protocol ip prio 100 route to 2 flowid 1:2
ip route add 192.168.10.0/16 dev eth2 via 10.11.20.110 realm 2

#查看队列详细状态
tc -s class ls dev eth2

实际发现效果不好,cbq要多调试才行,而且好像这样限速也不准确,iftop出来的结果依旧不好看,等有时间再去试试htb吧。



你可能感兴趣的:(linux,网络,服务器,流量)