阿里雲容器服務cni網絡插件terway非官方網絡性能測試

terway網絡性能測試

背景

酷劃在線成立於2014年,是國內激勵廣告行業的領軍者。酷劃致力於打造一個用戶、廣告主、平臺三方共贏的激勵廣告生態體系,旗下產品“酷劃鎖屏”“淘新聞”分別爲鎖屏、資訊行業的領跑者。

伴隨着公司服務端架構向微服務演進的過程中,運維成本提高,資源利用率低,等問題日益凸顯,目前公司服務器規模超過700+臺ECS,服務數量1000+,隨着容器化技術的成熟,計劃在近期大規模將生產環境遷移到阿里雲容器服務平臺上,但由於VxLan等主機轉發模式的Overlay網絡均有較大的性能損耗,所以我們將目光瞄準阿里雲容器服務平臺開源的terway網絡插件,期望使用容器服務達到ECS的網絡性能,進而對terway網絡性能進行詳細的評估。

測試說明

本測試基於阿里雲容器服務Kubernetes版(1.12.6-aliyun.1),Kubernetes集羣使用阿里雲控制檯創建,測試分兩部分:

  • 同可用區網絡性能測試
  • 跨可用區網絡性能測試

本測試的所有網絡流量均爲跨節點通信(容器分佈在不同的宿主機節點上)
本測試的所有測試均穿插測試超過3組取結果平均值

關鍵指標

  • 吞吐量(Gbit/sec)
  • PPS(Packet Per Second)
  • 延時(ms)

測試方法

吞吐量,PPS測試使用iperf3
版本信息如下:

iperf 3.6 (cJSON 1.5.2)
Linux iperf3-terway-57b5fd565-bwc28 3.10.0-957.5.1.el7.x86_64 #1 SMP Fri Feb 1 14:54:57 UTC 2019 x86_64
Optional features available: CPU affinity setting, TCP congestion algorithm setting, sendfile / zerocopy, socket pacing

測試機命令:

# 啓動服務器模式,暴露在端口16000,每1秒輸出一次統計數據
iperf3 -s -i 1 -p 16000

陪練機命令:

# 測試吞吐量
# 客戶端模式,默認使用tcp通信,目標機爲172.16.13.218,持續時間45,-P參數指定網卡隊列數爲4(跟測試的機型有關),目標端口16000
iperf3 -c 172.16.13.218 -t 45 -P 4 -p 16000
# 測試PPS
# 客戶端模式,使用udp發包,包大小爲16字節,持續時間45秒,-A指定CPU親和性綁定到第0個CPU
iperf3 -u -l 16 -b 100m -t 45 -c 172.16.13.218 -i 1 -p 16000 -A 0
# 測試延遲
# ping目標機30次
ping -c 30 172.16.13.218

測試結果

同可用區網絡性能測試

機型說明

測試機型選用ecs.sn1ne.2xlarge,規格詳情如下

實例規格 vCPU 內存(GiB) 網絡帶寬能力(出/入)(Gbit/s) 網絡收發包能力(出/入)(萬PPS) 多隊列** 彈性網卡(包括一塊主網卡)
ecs.sn1ne.2xlarge 8 16.0 2.0 100 4 4

測試結果

說明:縱軸表達流量流出方向,橫軸表達流量流入方向,所以組合情況一共有9種

吞吐量 terway-eni terway host
terway-eni 2.06 Gbits/sec 2.06 Gbits/sec 2.07 Gbits/sec
terway 2.06 Gbits/sec 2.06 Gbits/sec 2.06 Gbits/sec
host 2.06 Gbits/sec 2.07 Gbits/sec 2.06 Gbits/sec
PPS terway-eni terway host
terway-eni 193K 170K 130K
terway 127K 100K 128.4K
host 163K 130k 132K
延時 terway-eni terway host
terway-eni 0.205 ms 0.250 ms 0.211 ms
terway 0.258 ms 0.287 ms 0.282 ms
host 0.170 ms 0.219 ms 0.208 ms

結果解讀

  • 各種模式下均可將網卡帶寬打滿,從吞吐量上看結果無明顯區別
  • 從流量流入容器角度看數據,流向terway-eni模式在各項指標均接近甚至超過流向宿主機的性能
  • 從流量流出容器角度看數據,從terway-eni模式性能接近但略低於宿主機流量流出性能,但明顯高於terway默認網絡

跨可用區網絡性能測試

測試機型選用ecs.sn1ne.8xlarge,規格詳情如下

實例規格 vCPU 內存(GiB) 網絡帶寬能力(出/入)(Gbit/s) 網絡收發包能力(出/入)(萬PPS) 多隊列** 彈性網卡(包括一塊主網卡)
ecs.sn1ne.8xlarge 32 64.0 6.0 250 8

測試結果

說明:縱軸表達流量流出方向,橫軸表達流量流入方向,所以組合情況一共有9種

吞吐量 terway-eni terway host
terway-eni 5.94 Gbits/sec 4.21 Gbits/sec 4.58 Gbits/sec
terway 5.94 Gbits/sec 3.61 Gbits/sec 3.77 Gbits/sec
host 5.92 Gbits/sec 4.16 Gbits/sec 3.71 Gbits/sec
PPS terway-eni terway host
terway-eni 154K 158K 140K
terway 136K 118K 136K
host 190K 136K 172K
延時 terway-eni terway host
terway-eni 0.65 ms 0.723 ms 0.858 ms
terway 0.886 ms 0.484 ms 0.804 ms
host 0.825 ms 0.626 ms 0.621 ms

結果解讀

  • 由於增加了跨可用區的調用,使影響結果的因素變多
  • host to host的吞吐量,並沒有達到網卡的理論最大值,但是流入terway-eni的吞吐量基本達到了機型的帶寬6 Gbit/sec,需要進一步調查宿主機間吞吐量上不去的原因
  • 從容器流出的流量角度看,terway-eni模式整體明顯高於terway默認網絡模式,但低於宿主機網絡性能
  • 從流入容器的流量角度看,terway-eni的PPS結果數據優勢比較明顯,接近甚至超越宿主機網卡性能
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章