wifi吞吐量測試和分析方法

https://blog.csdn.net/tankai19880619/article/details/91966964

iperf -c ipaddress_server -t 60 -i 1 -w 2M

iperf -s  -i 1 -w 2M

-w window 對於TCP方式,此設置爲TCP窗口大小。對於UDP方式,此設置爲接受UDP數據包的緩衝區大小,限制可以接受數據包的最大值

-u  udp  -b UDP模式使用的帶寬,比如-b 100M

-p  port

上行(PC作Server,手機作Client)

 

 

影響wifi吞吐量的因素

首先,吞吐量屬於極限測試、即檢驗手機在極限狀態下的最大網絡容量。故,最好選擇近距離屏蔽房環境測試、以排除干擾。

1.軟件因素

後臺掃描

藍牙共存

EDCA競爭,RTS、CTS幀等

息屏省電模式

2.硬件

發射端:發射功率,雜散等

接收側:接收靈敏度,多天線接收差,板間干擾等

3.環境因素

同頻干擾

鄰頻干擾

低速率設備NAV

4.其他系統性能

CPU調度

管家管控

應用敏感性

 

三、分析方法

直接原因:wifi層面直接原因就是速率協商不上去,或者因爲丟包重傳導致掉速後又不能很快協商上來。

分析根本原因,就要建立在直接原因上去入手分析。

軟件固件,硬件射頻,天線都有可能導致速率協商不上去,掉速較快以及掉速後很久協商不上來。

1.首先確認tcp端口流

  直接打開wireshark,從tcpdump或者空口log中過濾出tcp數據流。

這個步驟比較容易,因爲一般吞吐量測試屬於極限測試、後臺不會掛其他應用。

使用magic iperf一般server端口爲固定的5001,這樣很容易找到對應的tcp長連接。

2.wireshark過濾空口tcp數據流

  使用wireshark過濾規則:

tcp.port eq 5001 && ip.dst eq [] 可以過濾出相關流

3.wireshark的IO統計wifi速率變化

  y軸取wlan_radio.data_rate,查看tcp流物理層速率變化。

 

四、發射和接收兩方面分析

1.發送,過濾wlan.sa eq []

wireshark的IO統計wifi重傳包-因爲重傳是引起掉速的直接原因

   y軸取wlan.fc.retry,查看tcp流物理層速率變化。

wireshark的IO發射功率

  y軸取wlan_radio.signal_dbm

2.接收部分

driver log中查看各個chain的rssi

wlan: [931:D:HDD] hdd_wlan_fill_per_chain_rssi_stats: 4316: RSSI for chain 0, vdev_id 0 is -54

wlan: [931:D:HDD] hdd_wlan_fill_per_chain_rssi_stats: 4316: RSSI for chain 1, vdev_id 0 is -68

fw log中查看誤包情況

R0: FWMSG: [14a30036bc5] ANI_DBGID_POLL phyId 0 listen_time 61-61 ofdmPhyErrCnt 10 cckPhyErrCnt 3 ofdmPhyErrRate 163 cckPhyErrRate 49 level 2 

 

四、根據結果綜合分析

1.如果發送重傳較多,一般爲射頻或天線問題

  需要查看TRP指標,如果沒問題。考慮天線阻抗或射頻板間干擾。

2.如果發送重傳不多,那考慮軟件側固件問題

3.如果接收誤包較多,一般也爲射頻或天線問題

  查看TSI指標,如果沒有問題。考慮chain1等多天線間信號強度差異大,可以查看driver log中相關rssi。

4.如果接收誤包率一致,考慮軟件側固件問題

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章