iperf+sed+gnuplotting查看無線網絡速度

********版權聲明:本文爲博主原創文章,未經博主允許不得轉載。*********

一、問題概述:

在使用的系統中,使用無線網絡出現自動斷開、速度較慢等問題,爲了分析該問題,故研究了iperf。

二、設計分析:

1.使用iperf蒐集無線網卡一段時間內的傳輸數據。

2.通過sed命令對數據進行分析處理,得到可以繪圖的數據。

3.使用gnuplotting工具將數據繪製成曲線,可以直觀看出網絡速度曲線圖。


根據以上分析,故採取方式如下:

1. 無線網絡是否持續聯通:因爲TCP一般不丟包, 一旦丟包可以認爲網絡不穩或斷開, 而UDP本身丟包率高, 所以判斷起來稍微複雜。

2. 無線網絡速度是否正常:判斷平均速率即可, 然後對比是否接近預期值(不同型號的網卡會不同), 此外TCP可以自動判斷最大吞吐量, 而UDP需要手動設置 bandwidth(default 1 Mbit/sec)

無線網絡速度是否穩定:需要判斷曲線是否平穩,用gnuplotting處理。

三、使用iperf蒐集數據:

【測試方法】:

    本次測試採取的TCP傳輸模式。

【測試硬件】:

2個臺式機(1臺爲server,1臺爲測試機),1臺無線路由器。

server:連接有線網絡。

client:被測試機,輪循更換安裝指定網卡進行測試,該系統連接路由器測試ssid。

【測試命令】:

TCP:

server:

iperf3 -s -f m     #-s代表服務端,-f m表示單位統一爲


client:
iperf3 -c 10.0.4.1 -f m -t 72000 -i 5 | tee tcpc-w-****.log     #-c代表客戶端,-t代表時常爲2h,-i代表返回間隔爲5s。tee代表將標準輸出存儲至後面的log文件內。


四、使用sed處理數據:

1.獲取平均值:

cat  tcpc-w-****.log | grep "^-" -A 3
2.獲取作圖數據:
sed -n '/sec/p' tcpc-w-****.log | sed -n '/KBytes/p' |sed -n 's/.*-//p' | sed -n 's/Mbits.*//p' | sed -n 's/sec .*Bytes//p'  >>tcpc-w-****.data


五、使用gnuplotting繪圖:

gnuplot> set title  'tcpc-w-AR9462'
gnuplot> set xlabel 'Time(sec)'
gnuplot> set ylabel 'Bandwidth(Mbits/sec)'
gnuplot> set xtics 1000.0
gnuplot> set ytics 10.0
gnuplot> set xrange [0:7500]
gnuplot> set yrange [-40:60]
gnuplot> plot 'tcpc-w-****.data'  w l lt 3 lw 2


六、大師推薦:

日誌文件命令行處理的話,推薦zcat(如果使用的是gzip壓縮的日誌文件) + sort + uniq + awk,還有grep。

gnuplot有一本英文的書:http://www.salttiger.com/gnuplot-in-action-2nd-edition/推薦一個不錯的網站,http://www.gnuplotting.org/

七、資料引用:

iperf資料:

http://blog.csdn.net/gl1987807/article/details/40506197

http://www.open-open.com/lib/view/open1418022081620.html


GNUPLOT資料:
http://blog.csdn.net/liyuanbhu/article/details/8502383

http://linux.chinaunix.net/techdoc/develop/2009/07/21/1125242.shtml

發佈了17 篇原創文章 · 獲贊 2 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章