吞吐量、丟包率性能測試疑問,網路設備(如路由器、防火牆)性能測試時,按照RFC2544文檔描述,如下?


謝邀。

一個大客戶項目里,要求創建180K個動態UDP隧道,需要在實驗室驗證成功,並需要對CPS、PPS、Throughput給出性能指標,流量要經過這18萬個隧道,我恰好有這方面的經驗。

所謂「CPS」,是「Connection Per Second」,即一秒鐘可以建立多少個隧道

PPS,「Packet Per Second」,即一秒鐘可以轉發多少個包

Throughput,吞吐量,即一秒鐘可以轉發多少bit流量,這個最難以衡量!為何?因為這個嚴重依賴包的大小。

測試包尺寸越大,這個吞吐量也會越高,為了讓各個廠家有一個共同參照的衡量指標,會選擇常用的幾種包長度來衡量:64、200、500、1000、1500,然後這五種尺寸的包按照相同的發送速率(PPS)穿越被測設備,流量慢慢增大,直到發現有流量丟失,在丟與沒丟的邊界就是最大的吞吐量。

丟包率

上文測試的最大吞吐量,是一個短期測試的過程,很容易得到結果。但丟包率卻是一個長期測試的過程,比如在一定的負載(比如50%吞吐量,模擬現實網路),流量一直打一周、半個月,看看系統是否穩定,有沒有出現報警日誌,有沒有崩潰,有沒有丟包,如果丟包、丟包率是多少?

這種丟包率都非常小,一般是低於10萬分之一,所以只要不超過一個標準,這種丟包率都是可以接受的。

歸納一下,吞吐量主要測試路由器最大的包轉發能力,考察的是性能指標;而丟包率是測試路由器的穩定性,考察的是可靠性指標。

另外,對於路由器,無論是TCP還是UDP,都是IP包,沒有任何關係!

對於防火牆,由於TCP時有狀態的,防火牆要特殊處理,要記錄TCP連接狀態;而對於UDP則是無狀態的,只需對埠號做允許、拒絕的操作,所以要分別測試、拿到各自的性能指標。


謝邀,我不是搞網路的,是搞 Linux 的,並不專業。已經有搞網路的大神解釋了很多了,我比較直接地回答一下題主的問題

吞吐量,是個並沒有嚴格定義的概念。你想用什麼樣子的流量來測試,用什麼樣子的單位,都可以。所以,吞吐量這個東西,是必須帶前提條件的,前面往往會附帶一大堆定語,沒有這一大堆定語的吞吐量沒啥意義(除非這些定語能夠從上下文推測出來)。

丟包這個東西比較複雜 。這裡僅僅討論路由器本身產生的丟包。在吞吐量很低的情況下丟包也是不可避免的,只不過如果設備硬體和環境(例如溫度濕度等)沒有問題的話一般丟包率非常低,流量接近(注意是接近不是達到)最大吞吐量的時候丟包率開始增加。流量增大到超過系統的最大處理能力之後,丟包率急劇增加,同時吞吐量增加不明顯。

有吞吐量就有最大吞吐量。在有的語境中,最大吞吐量是指吞吐量壓到最大幾乎不再增加的那個值,也有的語境中最大吞吐量是讓丟包率小於某個閾值下的吞吐量的最大值。這也是要特別注意的地方。一定要注意上下文和各種定語。

測試丟包率主要有兩種,一種是尋找丟包率和流量之間的關係曲線,從而根據項目實際需要制定「安全」的吞吐量範圍,然後設法將流量控制在這個安全範圍中。還有一種是測試在不同的吞吐量的情況下(包括很低的吞吐量),在不同的環境下(不同的流量類型,不同的溫度濕度等環境條件,等等),測量設備的丟包情況,判斷設備的各種指標是否滿足需求,有沒有潛在的硬體故障或者設備老化或者環境問題等。


推薦閱讀:

南京正厚軟體是培訓嗎,培訓效果呢? 聽說是挺負責的公司,有沒有去了解過的,請告知內幕?
測試好多都是性能小白,雖學了些性能知識,但在實際工作做開展性能測試,都很茫然,求指導,應該怎麼處理?
新人如何學習性能測試?
如何做一份精緻的性能測試報告?
哪款網站壓力測試工具值得推薦?

TAG:路由器 | 防火牆 | 性能測試 | 網路設備 |