前两天有人问我.有没有测试与一个服务器之间的 连接状态的函数....
emmm,这个么当然没有.
众所周知.测试与服务器之间的链接状态,通常都是使用 ping命令,所以,我们测试与目标网络的连接状态,理所当然的使用ping来实现.ping个十次八次的然后拿到他的 最大值/最小值/平均值/平均偏差,通过这些数值去判断与服务器之间的连接状态是否稳定.
例如:
ping -c 10 www.baidu.com
PING www.a.shifen.com (61.135.169.121) 56(84) bytes of data.
64 bytes from 61.135.169.121: icmp_seq=1 ttl=53 time=6.82 ms
64 bytes from 61.135.169.121: icmp_seq=2 ttl=53 time=6.23 ms
64 bytes from 61.135.169.121: icmp_seq=3 ttl=53 time=7.28 ms
64 bytes from 61.135.169.121: icmp_seq=4 ttl=53 time=103 ms
64 bytes from 61.135.169.121: icmp_seq=5 ttl=53 time=96.0 ms
64 bytes from 61.135.169.121: icmp_seq=6 ttl=53 time=11.1 ms
64 bytes from 61.135.169.121: icmp_seq=7 ttl=53 time=11.1 ms
64 bytes from 61.135.169.121: icmp_seq=8 ttl=53 time=7.74 ms
64 bytes from 61.135.169.121: icmp_seq=9 ttl=53 time=10.9 ms
64 bytes from 61.135.169.121: icmp_seq=10 ttl=53 time=12.0 ms
--- www.a.shifen.com ping statistics ---
10 packets transmitted, 10 received, 0% packet loss, time 9014ms
rtt min/avg/max/mdev = 6.236/27.247/103.125/36.251 ms
那我们ping10次百度,然后查看返回的结果 第16行 rtt开头的那部分
min:最小值
avg:平均值
max:最大值
mdev:平均偏差值
一般看mdev这个值,这个值越小,说明你与目标服务器的连接状态越稳定,如果越大,则说明越不稳定.
至于取值...就看你自己习惯使用哪种方式取了.是使用shell取值还是使用js来取值.这种使用shell执行的命令,我还是比较喜欢使用shell的方式去取值,那一起来看最终的实现:
/**
* 测试与目标网络的ping值,返回最小值 最大值 平均值 平均偏差值
* @param {string} target 目标网络的域名或者IP
* @param {int} count 测试次数,次数越大,测试值越准确,但时间会越长
*/
function pingTest(target, count) {
var res = shell("ping -c "+ count +" "+ target +" |grep 'rtt' |awk '{print $4}'").result;
res = res.replace("\\n", "");
var resArry = res.split("/");
return {
min : resArry[0], //最小值
max : resArry[2], //最大值
avg : resArry[1], //平均值
mdev: resArry[3] //与平均值的偏差,值越大,说明网络越不稳定
};
}
var t = pingTest("www.baidu.com", 10);
console.log(t.mdev);
附:获取单次ping的time值
var res = shell("ping -c 1 www.baidu.com |awk '{print $7}' |grep -o '[0-9].*'");
console.log(res);
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
服务器
+关注
关注
12文章
9123浏览量
85324 -
网络
+关注
关注
14文章
7553浏览量
88731 -
Ping
+关注
关注
0文章
69浏览量
15974
发布评论请先 登录
相关推荐
zigbee终端和路由配置网络状态变了
在ZGlobal.h中已经配置成终端了,但是加入网络以后,网络状态就变了,不是DEV_END_DEVICE,而是DEV_ROUTER,路由了变成,网络地址也是路由的地址,怎么回事啊?难
发表于 01-09 16:12
LTE网络进行容量测试的方法
的精确结果,从而在手机或移动推出之前对网络进行测试,因为手机开发滞后于网络基础设施。下一阶段进行外场移动环境测试,但由于前期部署阶段基本上没有其他用户接入
发表于 05-27 05:00
无线传感器网络设计的目标
目标一:提高性能 对传感器网络来说什么是性能?有很多指标可以用来评估传感器网络的性能情况,其中主要有: Energy efficiency/system lifetime(能源效率/系统
发表于 12-24 17:08
基于 FPGA 的目标检测网络加速电路设计
; Function Description
本项目针对DAC2019 System Design Contest测试集,计划采用PYNQ-Z2开发板加速目标 检测网络,综合考虑数据访问、存储、并行计算等问题进行优化
发表于 06-20 19:45
随机模糊神经网络在目标状态信息融合中的应用
提出一种新的基于随机模糊神经网络的多传感器状态信息融合方法, 研究和比较了基于单值模糊神经网络和基于随机模糊神经网络的雷达与红外传感器状态信
发表于 07-09 14:42
•10次下载
基于小波神经网络的目标跟踪的研究
本文讨论了小波神经网络在机动多目标跟踪中的应用,多目标跟踪就是主体为了维持对多个目标(客体)当前状态的估计而对所接收的量测信息进行处理的过程
发表于 01-22 14:05
•10次下载
目标检测传感器网络参数设计
摘要:通过理论分析给出了目标穿越无线传感器网络防线时的被检测概率与传感器网络设计参数之间的关系建立了传感器网络目标检测问题的数学模型.传感器
发表于 02-16 22:13
•22次下载
基于OpenFlow的网络层移动目标防御方案
为在网络攻防博弈中占据主动地位,利用OpenFlow网络结构提供的网络灵活性,提出一个基于OpenFlow的网络层移动目标防御方案。在
发表于 01-09 10:30
•0次下载
基于设备状态的网络状态评估方案
当前通信网络的异构性较强、兼容性较差,网络状态的评估受到极大限制,技术与市场等因素导致网络状态评估标准难以统一。本体具有良好的开放性与可扩展
发表于 01-18 17:05
•0次下载
评论