mtr(a network diagnostic tool)是一个神奇的指令,能按要求对路由中所有节点进行批量测试。简单敲一个“mtr qq.com”将会有意外收获!

当需要进行产品级的网络测试时,可在服务器上运行一段时间的mtr测试形成报告。如下脚本:

#!/bin/bash

# 测试网络丢包率和平均延时,注意变量clr和cdt的赋值,不同版本的mtr对应的字段位置不同

# 脚本在CentOS 6.2 Linux 2.6.32-220.el6.x86_64 mtr v0.75 上测试通过

urllist="

www.qq.com

www.kingsoft.com

www.xunlei.com

www.taobao.com

www.163.com

www.sina.com.cn

www.weibo.com

www.sohu.com

www.china.com

www.renren.com

www.baidu.com

www.g.cn

8.8.8.8

www.cctv.com

www.youku.com

www.tudou.com

cn.yahoo.com

www.1tpan.com

www.115.com

www.12306.com

"

urlarr=($urllist)

date

for ((i=0; i

do

echo -n ${urlarr[$i]}‘,,‘

done

echo

for ((j=0; i< 10000; j++))

do

for ((i=0; i

do

mtr -r -n ${urlarr[$i]} | sed‘s/%//g‘| awk‘BEGIN{

lossrate=0;

delaytime=0;

}{

if(NR!=1 && $1!="???"){

clr=$3;

cdt=$6;

(clr<100.0&&lossrate

delaytime

}

}END{

printf("%s,%s,",lossrate,delaytime);

}‘

done

echo

done

脚本的执行效果图如下:

#!/bin/bash

# 测试网络丢包率和平均延时,注意变量clr和cdt的赋值,不同版本的mtr对应的字段位置不同

# 脚本在CentOS6.2 Linux 2.6.32-220.el6.x86_64 mtr v0.75上测试通过

urllist="www.qq.com

www.kingsoft.com

www.xunlei.com

www.taobao.com

www.163.com

www.sina.com.cn

www.weibo.com

www.sohu.com

www.china.com

www.renren.com

www.baidu.com

www.g.cn8.8.8.8justwinit.cn

jackxiang.com

boosh.com.cn

www.cctv.com

www.youku.com

www.tudou.com

cn.yahoo.com

www.1tpan.com

www.115.com

www.12306.com"urlarr=($urllist)

datefor ((i=0; i

echofor ((j=0; i< 10000; j++))do

for ((i=0; i

lossrate=0;

delaytime=0;

}{if(NR!=1 && $1!="???"){

clr=$3;

cdt=$6;

(clr<100.0&&lossrate

delaytime

}

}END{

printf("%s,%s,",lossrate,delaytime);

}‘done

echo

done

脚本会对网址列表进行1万次遍历,打印每次的丢包率和平均延时时间。网址可以随意添加,生成csv文件用Excel处理生成图表。希望对你也有用!

来自:http://www.51testing.com/html/28/116228-808230.html

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐