產(chǎn)品體驗中心 下載與支持 產(chǎn)品社區(qū) 澤眾云   合作代理 |  咨詢電話:400-035-7887/021-6072 5088

什么是全鏈路壓測?全鏈路壓測怎么做?

發(fā)布時間:2020-06-11

什么是全鏈路壓測:基于實際的生產(chǎn)業(yè)務場景、系統(tǒng)環(huán)境,模擬海量的用戶請求和數(shù)據(jù)對整個業(yè)務鏈進行壓力測試,并持續(xù)調優(yōu)的過程。 

全鏈路壓測解決什么問題:針對業(yè)務場景越發(fā)復雜化、海量數(shù)據(jù)沖擊下整個業(yè)務系統(tǒng)鏈的可用性、服務能力的瓶頸,讓技術更好的服務業(yè)務,創(chuàng)造更多的價值。 

全鏈路壓測 

面對的問題點以及解決方案

1、業(yè)務模型梳理

首先應該明確的是:全鏈路壓測針對的是現(xiàn)代越來越復雜的業(yè)務場景和全鏈路的系統(tǒng)依賴。所以首先應該將核心業(yè)務和非核心業(yè)務進行拆分,確認流量高峰針對的是哪些業(yè)務場景和模塊,

針對性的進行擴容準備,而不是為了解決海量流量沖擊而所有的系統(tǒng)服務集群擴容幾十倍,這樣會造成不必要的成本投入。 

2、數(shù)據(jù)模型構建

數(shù)據(jù)構建和準備,應該考慮這幾點問題:

①、數(shù)據(jù)的真實性和可用性

可以從生產(chǎn)環(huán)境完全移植一份當量的數(shù)據(jù)包,作為壓測的基礎數(shù)據(jù),然后基于基礎數(shù)據(jù),通過分析歷史數(shù)據(jù)增長趨勢,預估當前可能的數(shù)據(jù)量;

②、數(shù)據(jù)脫敏

基于生產(chǎn)環(huán)境的全鏈路壓測,必須考慮的一點是不能產(chǎn)生臟數(shù)據(jù),以免對生產(chǎn)造成影響,影響用戶體驗等,因此在數(shù)據(jù)準備時需要進行數(shù)據(jù)脫敏;

③、數(shù)據(jù)隔離

同樣,為了避免造成臟數(shù)據(jù)寫入,可以考慮通過壓測數(shù)據(jù)隔離處理,落入影子庫,mock對象等手段,來防止數(shù)據(jù)污染;

3、壓測工具選型

全鏈路壓測應對的都是海量的用戶請求沖擊,可以使用分布式壓測的手段來進行用戶請求模擬,目前有很多的開源工具可以提供分布式壓測的方式,比如jmeter、Ngrinder、locust等。

也可以考慮澤眾出品的性能測試工具:PerformanceRunner

考慮到壓測量較大的情況下回傳測試結果會對agent本身造成一定資源占用,可以考慮異步上傳,甚至事務補償機制?!?nbsp;

4、壓測環(huán)境搭建

全鏈路壓測都是基于生產(chǎn)環(huán)境,解決了業(yè)務模型和數(shù)據(jù)以及壓測工具選型開發(fā),就要考慮系統(tǒng)擴容和風險規(guī)避了,比如壓測不能影響實際的生產(chǎn)業(yè)務運行,還有資源申請等。

重新搭建一套完全匹配生產(chǎn)環(huán)境的壓測環(huán)境,成本太高,且需求頻次較低,投入成本太大。  

5、系統(tǒng)容量規(guī)劃

前面提到了業(yè)務拆分和流量預估,在系統(tǒng)容量規(guī)劃階段,首先應該對單個接口單個服務進行基準測試,調整配置參數(shù),得到一個基準線,然后進行分布式集群部署,通過nginx負載均衡。

至于擴容,要考慮到服務擴容和DB資源擴容,以及服務擴容帶來的遞減效應。

至于大流量沖擊情況下,可以考慮隊列等待、容器鎖、長連接回調、事務降級等方式來解決。 

6、測試集群部署

能做全鏈路壓測的業(yè)務系統(tǒng),基本都是分布式系統(tǒng)架構,服務集群部署和負載均衡,就是需要實現(xiàn)和考慮的技術點。

需要解決的問題有:

①、服務間通信問題

一般通信方式有兩種:同步和異步。

同步調用一致性強,但是要考慮性能和調用失敗的事務處理。

異步調用的話,可以降低服務間的耦合,提升性能體驗,但是一致性是需要解決的(分布式架構有個CAP理論,感興趣的可以查詢相關資料看看)。

②、負載均衡問題

需要將大流量沖擊均勻的分發(fā)給集群上的每臺機器,目前比較優(yōu)秀的負載均衡服務器是nginx,但nginx的部署貌似也存在一些問題,我們公司之前就遇到過訂單重復問題。

③、容災問題

需要確保的一點是:當服務中的某臺或者某部分服務宕機,可以及時的進行服務轉發(fā),而不至于連鎖反應下整個系統(tǒng)鏈路的服務掛掉?!?nbsp;

7、數(shù)據(jù)收集監(jiān)控

壓測數(shù)據(jù)收集,需要由agent機回送給Contorller機器,但數(shù)據(jù)量過大會占用一定的資源,可以考慮異步實現(xiàn)測試結果回送。

更多性能測試文章推薦:

WEB性能測試怎么做?常用的WEB性能測試工具有哪些?

性能測試工具PerformanceRunner與LoadRunner有什么區(qū)別?

性能測試工具PR腳本和錄制失敗原因有哪些?

本文內容不用于商業(yè)目的,如涉及知識產(chǎn)權問題,請權利人聯(lián)系SPASVO小編(021-60725088-8054),我們將立即處理,馬上刪除。
滬ICP備07036474號 2003-2024 版權所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd.
微信
咨詢

添加客服微信 歡迎咨詢測試工具和測試服務

微信客服
問題
反饋
產(chǎn)品
畫冊

掃描二維碼下載澤眾軟件企業(yè)宣傳冊

產(chǎn)品畫冊
返回
頂部

方案咨詢

×
提交信息

電話咨詢,400-035-7887,安排專業(yè)技術售前給您解答(產(chǎn)品試用、技術交流、服務咨詢和商務報價)。

您的信息已成功提交!

我們的客服人員稍后會與您聯(lián)系