前兩天有人問我.有沒有測試與一個服務器之間的 連接狀態的函數....
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瀏覽量
85328 -
網絡
+關注
關注
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次下載
評論