前兩天有人問我.有沒有測(cè)試與一個(gè)服務(wù)器之間的 連接狀態(tài)的函數(shù)....
emmm,這個(gè)么當(dāng)然沒有.
眾所周知.測(cè)試與服務(wù)器之間的鏈接狀態(tài),通常都是使用 ping命令,所以,我們測(cè)試與目標(biāo)網(wǎng)絡(luò)的連接狀態(tài),理所當(dāng)然的使用ping來實(shí)現(xiàn).ping個(gè)十次八次的然后拿到他的 最大值/最小值/平均值/平均偏差,通過這些數(shù)值去判斷與服務(wù)器之間的連接狀態(tài)是否穩(wěn)定.
例如:
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次百度,然后查看返回的結(jié)果 第16行 rtt開頭的那部分
min:最小值
avg:平均值
max:最大值
mdev:平均偏差值
一般看mdev這個(gè)值,這個(gè)值越小,說明你與目標(biāo)服務(wù)器的連接狀態(tài)越穩(wěn)定,如果越大,則說明越不穩(wěn)定.
至于取值...就看你自己習(xí)慣使用哪種方式取了.是使用shell取值還是使用js來取值.這種使用shell執(zhí)行的命令,我還是比較喜歡使用shell的方式去取值,那一起來看最終的實(shí)現(xiàn):
/**
* 測(cè)試與目標(biāo)網(wǎng)絡(luò)的ping值,返回最小值 最大值 平均值 平均偏差值
* @param {string} target 目標(biāo)網(wǎng)絡(luò)的域名或者IP
* @param {int} count 測(cè)試次數(shù),次數(shù)越大,測(cè)試值越準(zhǔn)確,但時(shí)間會(huì)越長(zhǎng)
*/
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] //與平均值的偏差,值越大,說明網(wǎng)絡(luò)越不穩(wěn)定
};
}
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);
-
服務(wù)器
+關(guān)注
關(guān)注
13文章
9783瀏覽量
87819 -
網(wǎng)絡(luò)
+關(guān)注
關(guān)注
14文章
7811瀏覽量
90826 -
Ping
+關(guān)注
關(guān)注
0文章
69瀏覽量
16427
發(fā)布評(píng)論請(qǐng)先 登錄
ATM網(wǎng)絡(luò)的性能測(cè)試
GSM網(wǎng)絡(luò)測(cè)試儀器和測(cè)試方法
必須學(xué)的幾個(gè)網(wǎng)絡(luò)測(cè)試命令
網(wǎng)絡(luò)測(cè)試儀的使用
zigbee終端和路由配置網(wǎng)絡(luò)狀態(tài)變了
LTE網(wǎng)絡(luò)進(jìn)行容量測(cè)試的方法
無線傳感器網(wǎng)絡(luò)設(shè)計(jì)的目標(biāo)
網(wǎng)絡(luò)測(cè)試與網(wǎng)絡(luò)損傷融合技術(shù)
基于 FPGA 的目標(biāo)檢測(cè)網(wǎng)絡(luò)加速電路設(shè)計(jì)
隨機(jī)模糊神經(jīng)網(wǎng)絡(luò)在目標(biāo)狀態(tài)信息融合中的應(yīng)用
基于小波神經(jīng)網(wǎng)絡(luò)的目標(biāo)跟蹤的研究
網(wǎng)絡(luò)主機(jī)的配置及測(cè)試

目標(biāo)檢測(cè)傳感器網(wǎng)絡(luò)參數(shù)設(shè)計(jì)
基于OpenFlow的網(wǎng)絡(luò)層移動(dòng)目標(biāo)防御方案

評(píng)論