偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

數(shù)據(jù)平臺流量回放最佳實踐

開發(fā) 前端
基于數(shù)據(jù)平臺各系統(tǒng)以讀接口為主的特點,非常適合流量回放的回歸形式,后續(xù)會將各個系統(tǒng)按優(yōu)先級陸續(xù)接入我司流量回放平臺,并通過流量埋點的方式快速提升接口覆蓋。

一、背景與挑戰(zhàn)

1.1 數(shù)據(jù)平臺業(yè)務(wù)背景

數(shù)據(jù)平臺利用大數(shù)據(jù)智能分析、數(shù)據(jù)可視化等技術(shù),對公司內(nèi)外部經(jīng)過采集、建設(shè)、管理、分析的多源異構(gòu)數(shù)據(jù)進行呈現(xiàn)和應(yīng)用,實現(xiàn)了數(shù)據(jù)共享、日常報表自動生成、快速和智能分析,深度挖掘數(shù)據(jù)價值,滿足企業(yè)各級部門之間的數(shù)據(jù)分析應(yīng)用需求。因而也具有數(shù)據(jù)量大,場景多,數(shù)據(jù)準確性要求高,查詢性能要有保障等特點。

1.2 傳統(tǒng)測試方法

基于數(shù)據(jù)平臺的特點,使得我們在線下進行數(shù)據(jù)測試或者回歸測試時成本比較高,難度也比較大。所以我們希望能有一種有效的手段來降低測試的成本和門檻,實現(xiàn)測試的標準化。一直以來我們都是通過編寫自動化測試來實現(xiàn)的。但是傳統(tǒng)的自動化測試其實是有很多弊端的,比如成本高,覆蓋場景有限,標準化難度高等。

1.3 傳統(tǒng)自動化的弊端

1.3.1 成本高:

人工編寫、維護自動化用例成本高

較低的測開比無法跟上迭代的速度

1.3.2 覆蓋場景有限:

線下構(gòu)造測試場景難度大

場景覆蓋度有限

1.3.3 標準化難度高:

強依賴QA個人經(jīng)驗和能力

開發(fā)獨立排查自動化問題難度高,推動開發(fā)自測效果差因此我們希望利用線上的流量來搭建一個流量回放的平臺,與自動化測試結(jié)合,來實現(xiàn)一個符合數(shù)據(jù)平臺特點的自動化測試體系。

2、流量回放平臺介紹

流量回放的實現(xiàn)原理即是使用線上入口錄制用戶操作的真實流量,到預(yù)發(fā)環(huán)境進行回放,對比生產(chǎn)和預(yù)發(fā)環(huán)境錄入接口的子調(diào)用、響應(yīng)差異去定位代碼問題,接入對象范圍是只讀、讀寫、只寫接口,優(yōu)點是業(yè)務(wù)代碼零侵入,自動流量diff,真實鏈路調(diào)用,數(shù)據(jù)可查,問題定位精準,發(fā)現(xiàn)問題的可能性提高,缺點是面向范圍有一定局限性,操作不慎可能導(dǎo)致回放的接口中存在寫操作的子調(diào)用產(chǎn)生臟數(shù)據(jù),影響業(yè)務(wù)。

2.1 流量回放平臺調(diào)研

確定之后我們便立刻展開了調(diào)研,研究對比了公司的流量回放平臺,阿里的Doom以及Twitty的Diffy,差異如下圖。

圖片

2.2 數(shù)據(jù)平臺業(yè)務(wù)特點

  1. 因為數(shù)平報表的查詢特點, 導(dǎo)致代碼中對外查詢鏈路少,對內(nèi)的維度條件業(yè)務(wù)組合多,基于這樣的特點導(dǎo)致在使用Pandora平臺錄制線上流量時,流量錄制不全,大多數(shù)場景無法完全覆蓋。
  2. 復(fù)雜的數(shù)據(jù)平臺一般都依賴大量屬性配置管理、定時同步任務(wù)等,因此預(yù)發(fā)環(huán)境和生產(chǎn)環(huán)境配置庫需要隔離,保護數(shù)據(jù)不被污染。而流量回放又依賴配置庫和數(shù)據(jù)庫相同,使用場景高度依賴配置數(shù)據(jù), 導(dǎo)致回放落地難度大。
  3. 數(shù)據(jù)平臺的流量回放,驗證結(jié)果時往往需要對數(shù)據(jù)進行校驗, 請求會對生產(chǎn)數(shù)據(jù)庫造成一定查詢壓力,可能會影響生產(chǎn)環(huán)境穩(wěn)定性。需要控制好回放速度和控制、監(jiān)控和降級保護。
  4. 部分數(shù)據(jù)是實時的,回放結(jié)果需要計算波動率。

基于以上特點導(dǎo)致數(shù)據(jù)平臺無法接入公司的Pandora平臺,我們也在第一時間聯(lián)系公司平臺負責(zé)人進行溝通和提出改進需求方案。

但問題的迫切使得我們決定先小成本的進行一些工作,一方面盡快緩解我們的痛點,一方面也要方便后期接入公司平臺,減少資源浪費。以此為目的,我們在一期使用腳本采集流量, 并借助開源工具Diffy快速實驗了一套簡易的流量回放系統(tǒng)。同時給平臺提出適應(yīng)性接入需求。在二期時,將腳本采集的流量上傳至平臺,接入平臺進行流量回放。

  • 這樣的好處是:

  1. 流量自主可控,可根據(jù)需要定點擴充流量,無需擔(dān)心流量稀疏、錄制對線上環(huán)境的影響、接口覆蓋不全等問題。
  2. 使用日志或埋點的方式采集流量,為流量采集提供了一種流量采集的新思路
  3. 開源工具只有部署和熟悉的資源投入,后期接入平臺后可回收資源,沒有浪費資源重復(fù)造輪子

基于以上背景,進行了數(shù)據(jù)平臺的流量回放實現(xiàn)方案。

2.3 核心原理

整體思路依然是沿著線上獲取流量,分別在不同代碼環(huán)境進行回放,最后對接口返回結(jié)果進行比對,以達到檢測被測代碼準確性的目的。

這里我們將生產(chǎn)的流量根據(jù)時間、接口白名單和操作人等字段進行過濾,并按照窗口進行流量的去重和篩選,最后沉淀為一個穩(wěn)定的流量池。任務(wù)觸發(fā)后會并發(fā)的按照指定速率向預(yù)發(fā)和生產(chǎn)雙發(fā)回放,獲取接口的返回結(jié)果,經(jīng)過一系列降噪操作后,根據(jù)字段對比結(jié)果統(tǒng)計出整體的成功率,并產(chǎn)出報告。

下面我會從流量采集、環(huán)境策略、執(zhí)行調(diào)度、比對結(jié)果四個方面來介紹整個方案。

流量回放交互構(gòu)架圖

圖片

2.3.1 流量采集

通過公司的流量錄制方式, 接口覆蓋提升難度較大, 不太適合數(shù)平對外鏈路少,條件組合多的特點,因此我們想通過埋點篩選的方式進行流量采集。這樣的好處是完美避免了流量錄制過程中流量分布不均,降低對線上服務(wù)的性能影響,同時接口的覆蓋又非常的完整。實現(xiàn)了自主可控,定點獲取流量。

在流量采集中,我們會分批次的去生產(chǎn)系統(tǒng)上根據(jù)配置的日期和數(shù)量不斷地撈取流量,對每一個批次流量根據(jù)入?yún)⒑驼埱舐窂竭M行接口去重,并根據(jù)梳理好的接口白名單、流量操作人、接口關(guān)鍵字、請求類型等來過濾數(shù)據(jù),然后需要對流量中的臟數(shù)據(jù)進行篩選、對參數(shù)中的特殊字符和多余字段進行修正。最后將清洗好的干凈數(shù)據(jù)保存到本地流量池中,等待任務(wù)使用。

圖片

在后期,處理后的流量會通過接口上傳至流量回放回放Pandora平臺,通過我司的平臺化工具更便捷高效的管理流量和執(zhí)行。

上傳后即可在流量回放平臺查看流量,這里也可以通過excel的方式手動上傳,但是每批次流量數(shù)量受限。

圖片

2.3.2 環(huán)境策略

環(huán)境采用了預(yù)發(fā)和生產(chǎn)兩套環(huán)境對比。通過配置將預(yù)發(fā)環(huán)境的數(shù)據(jù)來源指向了生產(chǎn)服務(wù)。并且定時同步生產(chǎn)的配置庫到預(yù)發(fā)環(huán)境,來解決數(shù)據(jù)和配置的Gap。

圖片

圖片

2.3.3 執(zhí)行調(diào)度

調(diào)度有兩種方式, 一種是配置定時觸發(fā),一種是手動調(diào)用接口觸發(fā)。

任務(wù)觸發(fā)后,會獲取流量池中的流量,并對流量的關(guān)鍵字和執(zhí)行數(shù)據(jù)量級再次判斷是否可執(zhí)行。確認執(zhí)行后,將流量放入線程池中開始回放。這里采用了定長線程池和速率控制器來實現(xiàn)高并發(fā)和靈活的請求速率配置。

在任務(wù)執(zhí)行后,也可以根據(jù)實際執(zhí)行情況隨時修改配置來停止任務(wù)或者調(diào)整任務(wù)的發(fā)送速率,控制對線上環(huán)境的影響。

圖片

2.3.4 比對結(jié)果

拿到生產(chǎn)和預(yù)發(fā)的返回結(jié)果之后就是對比兩端結(jié)果,發(fā)現(xiàn)不一致的字段和返回,介于數(shù)平的特點,噪音點會非常的多,因此引入了AAdiff的方式,來達到自動降噪的功能。

如何降噪:

a. AAdiff :在對比之前, 連續(xù)調(diào)用兩次生產(chǎn)環(huán)境,獲取結(jié)果后對比, 將不一致的字段剔除。即可去除不穩(wěn)定或者有波動的字段

b. 指定字段忽略:跟對一些配置字段或者無意義字段進行手動配置忽略,降低噪點。

結(jié)果差異對比匯總后, 會根據(jù)字段進行分組匯總,對與AAdiff不通過的字段會直接置灰。點擊字段即可在右側(cè)查看字段下差異的數(shù)據(jù)。

圖片

通過點擊差異詳情,可進一步看到請求的path、請求體、生產(chǎn)和預(yù)發(fā)的返回值等信息,幫助排查定位問題。

圖片

同時在結(jié)果報表中可以觀測到流量數(shù)、回放成功率等信息。

3、業(yè)務(wù)實踐

這里以智能運營系統(tǒng)為例,對比流量回放接入前后的效能成本差異。

指標

之前

現(xiàn)狀

穩(wěn)定方面

智能運營系統(tǒng)511、512兩個迭代均有多個遺漏回歸bug

功能方面:降低測試人員回歸漏測的風(fēng)險,回歸類型的缺陷逃逸率降低30%

性能方面:通過該工具建立迭代性能回歸機制。



成本方面

接口自動化從2021年12月開始搭建,3xx條自動化,覆蓋1x個接口

維護成本:每迭代1人力維護自動化

工具搭建:接口DIFF探索階段耗時9人日,目前已經(jīng)覆蓋了3x+個接口,使用7xx+條流量用例。

維護成本:每迭代0.5人力排查diff問題



效率方面

接口自動化:case數(shù)3xx個,覆蓋接口數(shù)1x個


流量接口覆蓋數(shù):86%

通過流量回放的方式,不僅快速提升了自動化的接口覆蓋,降低了迭代人力投入,更是增強了回歸的可靠性。

這一點通過迭代質(zhì)量變化趨勢也能很好的反應(yīng)。

 平臺數(shù)據(jù):

流量回放工具在513迭代初步使用, 但覆蓋率和穩(wěn)定性較差, 514迭代完善,正式投入使用。

在514迭代工具正式投入使用后,發(fā)現(xiàn)遺漏bug比例達25%,515迭代質(zhì)量有明顯提升, 連續(xù)兩個迭代線上無缺陷逃逸發(fā)生。平臺質(zhì)量和穩(wěn)定性明顯提升。

目前智能運營流量回放投入使用至今,已持續(xù)支持多個迭代的日?;貧w測試以及日常壓測工作,讀接口覆蓋率達86%,回放通過率穩(wěn)定在98%,發(fā)現(xiàn)回歸漏測比率達25%,大大提高了系統(tǒng)的穩(wěn)定性和線上質(zhì)量。

圖片

4、規(guī)劃與展望

智能運營系統(tǒng)流量回放已進入維護階段,在日常迭代中幫助測試實現(xiàn)冒煙、回歸、壓測、緩存驗證等多種任務(wù)。后續(xù)將通過精準接口流量獲取的方式,將少部分稀疏接口納入覆蓋。并將流量上傳至流量回放平臺。借助流量回放平臺的能力,更加穩(wěn)定、方便的執(zhí)行計劃和排查問題。

基于數(shù)據(jù)平臺各系統(tǒng)以讀接口為主的特點,非常適合流量回放的回歸形式,后續(xù)會將各個系統(tǒng)按優(yōu)先級陸續(xù)接入我司流量回放平臺,并通過流量埋點的方式快速提升接口覆蓋。

責(zé)任編輯:武曉燕 來源: 得物技術(shù)
相關(guān)推薦

2024-04-26 09:38:36

2019-05-16 14:15:19

開源技術(shù) 工具

2023-02-03 18:31:35

訂單流量錄制

2019-12-13 11:55:30

AI 數(shù)據(jù)人工智能

2022-09-05 08:07:25

goreplay監(jiān)控工具

2024-10-15 11:09:43

2023-04-06 13:25:54

月光寶盒

2009-05-05 15:41:28

Saas虛擬化應(yīng)用

2015-11-19 09:26:01

ASP.NET跨平臺實踐

2022-01-17 21:48:35

流量錄制設(shè)計點

2011-08-18 11:05:21

jQuery

2023-07-21 01:12:30

Reactfalse?變量

2013-09-08 23:37:30

EF Code Fir架構(gòu)設(shè)計MVC架構(gòu)設(shè)計

2018-05-02 13:59:01

大數(shù)據(jù)數(shù)據(jù)收集數(shù)據(jù)科學(xué)

2021-07-20 15:37:37

數(shù)據(jù)開發(fā)大數(shù)據(jù)Spark

2013-12-04 09:35:02

云安全移動數(shù)據(jù)

2013-05-17 11:43:55

主數(shù)據(jù)數(shù)據(jù)管理

2017-10-20 08:25:10

數(shù)據(jù)收集工具數(shù)據(jù)源

2016-08-22 15:15:14

數(shù)據(jù)實踐

2017-11-13 06:05:10

數(shù)據(jù)中心災(zāi)難恢復(fù)
點贊
收藏

51CTO技術(shù)棧公眾號