Charles弱網測試

2022-06-30 07:57:09 字數 3069 閱讀 9089

基礎知識

網路延時

l 網路延時指乙個資料報從使用者的計算機傳送到**伺服器,然後再立即從**伺服器返回使用者計算機的來回時間。通常使用網路管理工具ping(packet internet grope)來測量網路延時。

l 由於網際網路絡的複雜性、網路流量的動態變化和網路路由的動態選擇,網路延時隨時都在不停的變化稱為抖動。網路延時和網路延時的抖動越小,那麼網路的質量就越好。

l 在網際網路上,典型的網路延時為幾十到幾百毫秒。影響網路延時的主要因素是路由的跳數(因為每次路由**都需要時間,因此路由跳數越多,網路延時越大)和網路的流量(網路流量越大,交換機和路由器排隊的時間就越長,網路延時也就越大)。

l 交換機延時(latency)是指從交換機接收到資料報到開始向目的埠複製資料報之間的時間間隔。有許多因素會影響延時大小,比如**技術等等。採用直通**技術的交換機有固定的延時。因為直通式交換機不管資料報的整體大小,而只根據目的位址來決定**方向。所以,它的延時是固定的,取決於交換機解讀資料報前6個位元組中目的位址的解讀速率。採用儲存**技術的交換機由於必須要接收完了完整的資料報才開始**資料報,所以它的延時與資料報大小有關。資料報大,則延時大;資料報小,則延時小。採用直通**技術的千兆交換機有固定的延時,因為直通式交換機不管資料報的整體大小,而只根據目的位址來決定**方向。所以,它的延時是固定的。採用儲存**技術的交換機由於必須要接收完了完整的資料報才開始**資料報,所以它的資料報大,則延時大;資料報小,則延時小。

抖動

丟包

l 丟包率,是乙個比率,網路中資料的傳輸是以傳送和接收資料報的形式傳輸的,理想狀態下是傳送了多少資料報就能接收到多少資料報,但是由於訊號衰減、網路質量等等諸多因素的影響下,並不會出現理想狀態的結果,就是不會發多少資料報就能接收到多少。

l 網路丟包率是指測試中所丟失資料報數量佔所傳送資料報的比率,通常在吞吐量範圍內測試。

l 丟包率主要與網路的流量,準確的說是與從使用者計算機到**伺服器之間每段路由的網路擁塞程度有關。由於交換機和路由器的處理能力有限,當網路流量過高來不及處理時就將一部分資料報丟棄造成丟包。由於tcp/ip網路能夠自動實現重發,這樣發生丟包後不斷重發,將造成更大量的丟包。因此,網路擁塞發生後經常會發生丟包率越來越高的現象,和馬路上的交通堵塞十分相似。

mtu

l 因為協議資料單元的包頭和包尾的長度是固定的,mtu越大,則乙個協議資料單元的承載的有效資料就越長,通訊效率也越高。mtu越大,傳送相同的使用者資料所需的資料報個數也越低。

l mtu也不是越大越好,因為mtu越大, 傳送乙個資料報的延遲也越大;並且mtu越大,資料報中 bit位發生錯誤的概率也越大。

l mtu越大,通訊效率越高而傳輸延遲增大,所以要權衡通訊效率和傳輸延遲選擇合適的mtu。

l 以乙太網傳送ipv4報文為例。mtu表示的長度包含ip包頭的長度,如果ip層以上的協議層傳送的資料報文的長度超過了mtu,則在傳送者的ip層將對資料報文進行分片,在接收者的ip層對接收到的分片進行重組。

l 這裡舉乙個具體的例子說明ip包分片的原理。乙太網的mtu值是1500 bytes,假設傳送者的協議高層向ip層傳送了長度為3008 bytes的資料報文,則該報文在新增20 bytes的ip包頭後ip包的總長度是 3028 bytes,因為3028 > 1500,所以該資料報文將被分片,分片過程如下:

l 首先計算最大的ip包中ip淨荷的長度 =mtu-ip包頭長度=1500-20= 1480 bytes。

l 然後把3028 bytes按照1480 bytes的長度分片,將要分為3片,3028= 1480+1480+68。

l 最後傳送者將為3個分片分別新增ip包頭,組成3個ip包後再傳送,3個ip包的長度分別為1500 bytes、1500 bytes和 88 bytes。

l 從以上分片例子可以看出第

一、二個分片包組成的ip包的長度都等於mtu即1500 bytes。

弱網測試要點

charles實操

利用抓包工具charles進行弱網設定,適用pc端和移動端(ios/android)

操作:開啟proxy->throttle settings

bandwidth(頻寬)【吞吐量】

utilisation(利用)

利用率是總頻寬的百分比,可以在任何乙個時間使用。它只是作為可用頻寬的縮放因子。對於大多數現代網際網路連線利用率始終是100%。

round-trip latency(請求往返延遲)【延時】

往返延遲測量客戶端和遠端伺服器之間的第一次往返通訊的毫秒延遲。它用於客戶端向伺服器和伺服器向客戶端的每次請求。

mtu(最大傳輸單元)

在任何傳輸的tcp資料報的最大尺寸。指定mtu不改變的可用頻寬,但允許charles在mtu分配頻寬大小的塊,導致在每個傳輸包分割的現實水平。

reliability(可靠性)【丟包】

可靠性是衡量連線完全失敗的可能性。這是非常有用的模擬不可靠的網路條件。可靠性是指定為成功發射10kib訊息的可能性,所以,值為50%意味著所有10kib傳輸一半會成功。較大的郵件或更小的訊息或多或少都有可能失敗,所以20kib傳輸將只有25%的成功率和5kib傳輸成功率約70%。

stability(穩定性)【抖動】

穩定性是衡量乙個連線的可能性是不穩定的,因此降低了質量。這是非常有用的模擬網路,如流動網路,定期連線質量差。如果連線不穩定,則連線的質量會在不穩定的質量範圍內隨機下降。此質量值,然後應用作為另乙個縮放因子的可用頻寬。

unstable quality range(不穩定質量範圍)

此處設定主要針對於stability中設定中的範圍

Charles模擬弱網測試

最近嘗試用charles模擬弱網做了下測試,初步記錄一下,適用pc端和移動端 ios android 1.以charles 4.2版本為例,開啟proxy throttle settings 2.出現下面的介面 3.預設那裡有charles常用的網路設定模擬的資料,根據需要自己選擇即可,從上到下網速...

Charles設定弱網測試

借助charles工具做弱網的測試,或者模擬2g 3g的網路情況 charles的使用方法如下 首先,開啟charles,在throttle settings中這只網路狀況,比如 1 proxy throttling settings 2 勾選 enable throttling 使得限制網速可用,...

使用Charles進行弱網測試

1 各個網路下功能測試 低於2g速率的時候都屬於弱網,3g也可劃分為弱網,一般wi fi不劃入弱網測試範疇。1 sim卡的網路切換 手機 設定 流動網路設定 網路型別選擇 3g 4g卡都可以設定關閉3g 4g,只走2g網路。2 具體弱網場景測試,常見場景包括 地鐵 巴士 電梯 樓梯間 停車場 3 使...