1. 程式人生 > >廣播系統測試總結

廣播系統測試總結

系統介紹

作為基礎服務,這套系統目前是公司效能要求最高的服務啦,這套系統分三個服務分別以A,B,C代替

A:服務於gateway,B

B:服務於A,gateway

C:服務於其他服務,B

測試環境

centos7

20核,40processor

125G

萬兆網絡卡,40佇列

測試步驟

情景一:

目的是通過工具和各種服務混搭,測出單程序A的壓力到底是多少

物理機a部署1個A和2個C, 物理機b部署5個B,物理機c部署12個gateway tool,執行緒數各開啟20個(合理數目,不建議再大)

A: recv 15w/s, send 75w/s, cpu佔比35%,各執行緒佔比80%~95%壓力較大,單程序傳送上限不要超過70w/s,開啟spdlog基本沒影響

rx        tx        rxkB        txkB

15w    76w     1w           4.8w

B: A_recv 7.5w/s,cpu佔比6%,不開啟send spdlog情況, 單程序cpu不超過80%,開啟後,總cpu佔比15%,各程序cpu佔比190%

rx        tx        rxkB        txkB

75w    500      5w           70

機器b中途遇到問題,cpu不高,檢視頻寬,丟包引數,網絡卡引數,sokect快取等都沒有任何錯誤,最後發現是軟中斷過於集中一個cpu導致,效能一直上不去

情景二:

我們知道A的壓力後,a機器上部署合理數目A,分擔壓力,然後測出單程序B的壓力

物理機a部署2個A和2個C, 物理機b部署1個B,物理機C部署12個gateway tool,和8個C tool

 A: recv 15w/s, send 35w/s, cpu佔比20%,各執行緒佔比50%~60%

B: C_recv 20w/s, A_recv 12w/s, send 100w/s,cpu佔比7%, 各執行緒佔比20%~50%,未開spdlog,開啟spdlog除了send的選項,基本沒影響,再開啟send選項之後cpu迅速2000+%

rx        tx        rxkB        txkB

32w    100w    4w           15w

B: C_recv 10w/s, A_recv 12w/s, send 70w/s,cpu佔比25%, 各執行緒佔比80%~95%壓力較大,開啟spdlog情況,單程序傳送上限不要超過60w/s

C: recv 20w/s,send 30w/s, 各執行緒佔比40%~50%,開啟spd後recv 15w/s, send 20w/s,各執行緒佔比80%~95%壓力較大,單程序傳送上限不要超過20w/s

情景三:

各個程序效能已經得到,接下來測試機器壓力

物理機a部署2個A和2個C, 物理機b部署5個B,物理機C部署12個gateway tool,和8個C tool

A

rx        tx        rxkB        txkB

20w    100w    1w           6.5w

B

rx        tx        rxkB        txkB

132w    230w    12w       36w

總結

測試過程中要開啟監測工具,從軟體層面檢視是否丟包

C壓力在發包和spdlog,單程序傳送量最大不要超過20w

B壓力在發包和spdlog,單程序傳送量最大不要超過60w

A壓力在於發包,單程序傳送量最大不要超過70w

最終的目的是:

根據壓力測試找出瓶頸

根據流量,計算出每個機器部署的片數,和需要的機器數

目前線上流量百萬級,並且毫無壓力