使用mtr测试网络丢包率和平均延时的脚本实例
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用mtr测试网络丢包率和平均延时的脚本实例相关的知识,希望对你有一定的参考价值。
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<${#urlarr[@]}; i++))
do
echo -n ${urlarr[$i]}‘,,‘
done
echo
for ((j=0; i< 10000; j++))
do
for ((i=0; i<${#urlarr[@]}; 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<clr)?(lossrate=clr):true;
delaytime<cdt?(delaytime=cdt):true;
}
}END{
printf("%s,%s,",lossrate,delaytime);
}‘
done
echo
done
脚本的执行效果图如下:
#!/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 justwinit.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) date for ((i=0; i<${#urlarr[@]}; i++)) do echo -n ${urlarr[$i]}‘,,‘ done echo for ((j=0; i< 10000; j++)) do for ((i=0; i<${#urlarr[@]}; 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<clr)?(lossrate=clr):true; delaytime<cdt?(delaytime=cdt):true; } }END{ printf("%s,%s,",lossrate,delaytime); }‘ done echo done
脚本会对网址列表进行1万次遍历,打印每次的丢包率和平均延时时间。网址可以随意添加,生成csv文件用Excel处理生成图表。希望对你也有用!
来自:http://www.51testing.com/html/28/116228-808230.html
以上是关于使用mtr测试网络丢包率和平均延时的脚本实例的主要内容,如果未能解决你的问题,请参考以下文章
zabbix使用fping监控任意两个节点之间的网络质量丢包率和响应时间