成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

得物前端巡檢平臺的建設和應用(建設篇)

開發 前端
我們致力于為用戶提供更加穩定、高效的前端巡檢體驗,減輕測試回歸成本帶來的負擔。在業務目標方面朝著“三高”目標持續迭代;巡檢性能從0.4個頁面/秒提升到4個頁面/秒,穩定性方面也會持續關注。

1、背景

我們所在的效能團隊,對這個需求最原始的來源是在一次“小項目”的評審中,增長的業務同學提出來的,目的在于保障前端頁面穩定性的同時減少大量測試人力的回歸成本。

頁面穩定性提升,之前迭代遇見過一些C端的線上問題,比如頁面白屏、頁面報錯等不同類型的問題,嚴重影響了用戶體驗,需要針對這一專項進行優化,提高用戶體驗。

回歸投入成本大,H5頁面巡檢在用戶穩定性提升上具有較大意義,在每個迭代大概有近十萬個頁面需要巡檢(比如雙旦、情人節等大促活動期間則更多)。

本文中的部分技術調研、演示代碼塊、疑惑問題等,均由ChatGPT提供

2、建設

開局先放一張平臺完整的使用流程圖(跟著箭頭的順序)

圖片

部門內以“小項目”的形式立項之后,我們就開始了巡檢平臺的建設。

首先是在業務目標方面

增長的測試同學作為業務方,給我們這個項目定了“三高”目標,大概可以概括為三高:“平臺使用效率高”、“巡檢執行效率高”、“告警準確性高”。同時也很貼心的給我們列舉了大概需要的功能模塊一期巡檢平臺功能設計PRD

其次是在技術實現方面

我們當時備選的基礎語言語言有Python和Node,Python是我們比較熟悉的,在當時項目時間比較緊張的背景下Python看來是一個比較不錯的選擇;但考慮到要做的是前端巡檢,Node本身是一個基于Chrome V8引擎的JavaScript運行時,可以讓JavaScript在服務器端運行,在這個項目中的表現應該會比Python更友好一些,于是最終選擇了Node。

自動化測試工具方面,我認為仁者見仁智者見智,能為之所用的就是好工具,剩下的就是過程中“佛擋殺佛,鬼擋殺鬼”式地解決種種問題就是了。我挑選了幾個市面上常見的,問了下ChatGpt的意見,給大家參考。

圖片

2.1  性能

在原先回歸2000個頁面,要等1個多小時才知道結果,這顯然是不能滿足“巡檢執行效率高”這個目標的;于是我們從架構上做了優化,最終巡檢性能從0.4個頁面/秒提升到4個頁面/秒

優化前后的兩個方案對比流程圖如下

  • 方案一的主要流程如下
  1. 任務啟動模式:支持手動、定時兩種
  2. 下發任務:由巡檢后端調用巡檢器服務進行任務執行,負載模式有ingress內部處理(輪詢)
  3. 日志上報:巡檢完成后上傳日志,后臺更新任務狀態

圖片

  • 方案二的主要流程如下
  1. 任務啟動模式:支持手動、定時兩種
  2. 任務拆解:將任務關聯的url按一定大小拆分為一批子任務。比如一個任務有1000個url,每個子任務分配50個url,則會拆分為20個子任務,插入到子任務表
  3. 巡檢器領取任務:每個pod循環調用領取任務接口,任務調度中心根據先進先出、任務狀態等邏輯返回子任務,未領取到任務則進入下一次循環
  4. 日志上報:巡檢完成后上傳日志,后臺更新子任務狀態,當某個批次的子任務全部執行完成后認為當次任務執行完成

圖片

“方案二”相比于“方案一”,在以下4個方面帶來了改善

  1. 解決pod單點負載過高的問題

由于“方案一”是由后端直接發起的任務,這個任務具體會由哪個巡檢器處理是未知的,完全交給容器的ingress負載均衡策略,容易造成某個pod被分配多個任務導致CPU飆升,其余pod卻是空閑情況;改成執行器主動獲取之后就可以把每個資源都利用起來

  1. 巡檢任務繁重時可動態擴容
  2. 如果我們把壓力放到單個pod上面,就算增加再多的pod也是無效的,大概意思有點類似下圖

圖片

  1. 多消費者模式加速任務執行

理論上來說,只要我們多起幾個pod,就可以更快速地把任務隊列中的待巡檢URL執行完成

  1. 巡檢異常支持“斷點續傳”
  2. 如下圖,如果因為巡檢器故障、容器重新部署、網絡等原因導致SUB_TASK_4執行異常之后,后臺會有重試邏輯允許該任務可以被其他pod再次消費,已經執行的不會再次被執行

圖片

這樣做了之后,從巡檢耗時、資源使用情況來看,都還算比較合理

圖片

圖片

2.2   穩定性

我們想壓榨單個pod更大的資源進行巡檢任務處理,于是使用了一個主進程+多個子進程的方式來做,這樣在必要的時候,就可以在單pod上并行處理。但是在過程中發現了2個問題:

  1. 子進程異常退出導致任務“無疾而終”

因為我對Node.js并不是很熟悉,查閱了資料之后發現通過child_process起子進程之后,主進程是可以通過事件注冊捕獲異常的。通過這個方法我們捕獲到了70%的進程異常退出事件,并將該事件上報給后端,做后續的處理

圖片

  1. 子進程還是有30%的概率會異常退出

上面說到捕獲了70%的異常,剩下30%的異常退出更加隱蔽;表現就是毫無任何征兆的情況下,子進程就是會異常掛掉,top看了服務器進程也沒有發現zombie進程之類的,/var/logs/message下也沒有任何異常日志

甚至想過要不要在父子進程之間建立一個通信管道,或者加入supervisor進行?;?。最終湊巧使用fork解決了這個問題

圖片

3、合作

3.1  巡檢組件

我們相信個人的能力是有局限性的,開源+合作才是正確的思路。所以在該項目中,我們除了提供平臺的架構和基礎異常檢測服務,還和前端平臺合作,把巡檢器的巡檢能力做了豐富,比如會場抖動檢測、局部白屏等都是前端平臺貢獻的組件。

巡檢能力根據提供方,可分為2部分

  • 平臺提供:由效能平臺提供常用的巡檢能力
  • 三方提供:由前端平臺提供定制化巡檢能力,接入巡檢平臺的巡檢器中,目前已完成了6個巡檢組件的接入

圖片

巡檢能力Git demo、平臺適配及合作文檔巡檢功能拓展接入方案和demo

圖片

   

圖片

4、體驗

4.1  接入成本

此處感謝我們的業務方(增長域的質量同學),為我們的項目運營和接入提供了很大的支持,梳理了規范的接入手冊和運營機制,最終將一個新平臺的接入成本降低到很低。

由于B端頁面很多是需要登錄的,比如stark商家后臺、策略平臺、工單后臺等,為了B端巡檢的接入成本更低一下,我們還支持了在任務創建時使用SSO手機號的方式動態獲取登錄token,更復雜的登錄場景也支持設置“固定Token”,以此兼容所有場景

圖片

4.2  時間成本

迭代頁面回歸使用巡檢平臺解決,以往100個頁面需要60分鐘,現在僅需花10分鐘跟進巡檢報告,主要的時間可以用于其他質保工作。

4.3  排錯成本

高頻錯誤聚合,大大減少問題排查的時間,尤其是200+錯誤聚合。

圖片

5、后續規劃

5.1  前端頁面100%覆蓋

因為巡檢是一項低成本的質保手段,當前的巡檢器僅使用了20%左右的CPU資源。因此,我們有足夠的余地來執行更多的巡檢任務。

考慮到生產環境中的頁面數量巨大,我們目前已經單次回歸測試了超過數萬個H5頁面,還有許多B端頁面和渠道H5頁面,可以加入到巡檢中來。盡可能使用自動化的方式,為線上穩定保駕護航。目前,我們已經支持從監控平臺拉取指定應用的實時流量巡檢。

圖片

圖片

5.2  小程序巡檢

在和業務方的交流中,我們也關注到線上小程序的冒煙點也是一個重頭,所以Q2我們也會在小程序巡檢方面做一些嘗試。爭取通過低人力投入、自動化的方式前置發現一些問題。

6、總結

以下總結80%由ChatGPT完成

總的來說,我們致力于為用戶提供更加穩定、高效的前端巡檢體驗,減輕測試回歸成本帶來的負擔。在業務目標方面朝著“三高”目標持續迭代;巡檢性能從0.4個頁面/秒提升到4個頁面/秒,穩定性方面也會持續關注。

該項目后續還會有一些工作需要完成,比如巡檢范圍的擴大、小程序巡檢的實現、巡檢組件的繼續完善等等。希望在團隊的共同努力下,為線上前端穩定性和迭代回歸人效提升出一份力。

責任編輯:武曉燕 來源: 得物技術
相關推薦

2025-06-09 18:50:40

2025-01-07 08:34:02

2019-09-20 13:24:39

工業物聯網大數據工業大數據

2022-12-30 18:31:40

履約商家商品

2024-05-09 07:32:09

用戶畫像平臺大數據算法

2023-06-14 11:00:11

2017-02-16 12:00:30

云平臺智慧城市云計算

2023-02-24 18:47:37

供應鏈實時數倉

2022-11-15 10:07:58

2018-04-27 13:11:02

數據平臺分析數據整合

2011-06-14 12:45:41

工業和信息化標準化

2022-10-20 13:06:06

物聯網大數據智慧城市

2023-08-22 14:29:05

大前端

2022-02-23 08:00:00

開發DevOps技術

2013-04-26 15:13:49

企業漏洞漏洞收集

2013-04-28 10:51:09

企業漏洞漏洞收集平臺

2019-08-16 11:48:53

容器云平臺軟件

2010-08-05 09:36:03

NFS服務

2023-03-29 23:34:16

2023-07-07 19:26:50

自建DTS平臺
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 九九视频网 | 天天天操操操 | 99精品久久| 久久人人网 | 国产麻豆乱码精品一区二区三区 | 中文字幕高清 | 人人爽人人爽人人片av | 国内精品久久久久久影视8 最新黄色在线观看 | 黄色一级大片视频 | 欧美精品一 | 影音先锋中文字幕在线观看 | 久久亚洲一区二区三区四区 | 亚洲国产精品va在线看黑人 | 欧美国产日韩一区二区三区 | julia中文字幕久久一区二区 | 夜夜久久 | 黄色网址在线免费观看 | 欧美在线观看一区 | 毛片在线视频 | 欧美激情精品久久久久久 | 欧美电影大全 | 亚洲国产区 | 天天色综 | 天天操天天干天天透 | 国产伦精品一区二区三区四区视频 | 日韩精品久久久久 | 国产在线视频一区二区董小宛性色 | 欧美一区二区三区在线视频 | 日韩影院在线观看 | 男人的天堂在线视频 | 91社区在线观看高清 | 日本一本视频 | 久久久久久久一区 | 久久国产精品一区 | 九九久久这里只有精品 | av免费网站在线 | 精品一区二区三区四区五区 | 成人精品视频99在线观看免费 | 中文字幕免费在线观看 | 欧美日韩成人网 | 亚洲精品一区二区三区中文字幕 |