成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

一個智能運維算法測試方法

Jingbin_ / 604人閱讀

摘要:單元測試是方法級別的測試,是保證代碼質(zhì)量的基礎(chǔ),一般由開發(fā)同學(xué)自行完成。但接口測試和測試無法覆蓋所有測試需求,比如算法。

摘要: 質(zhì)量是企業(yè)長遠生存的根基,是企業(yè)競爭的免死金牌。作為質(zhì)量控制團隊的一員,保障和提高所負責(zé)系統(tǒng)的質(zhì)量,是工作的核心。而完善的測試覆蓋,是保證質(zhì)量的有效手段。

寫在前面
質(zhì)量是企業(yè)長遠生存的根基,是企業(yè)競爭的免死金牌。作為質(zhì)量控制團隊的一員,保障和提高所負責(zé)系統(tǒng)的質(zhì)量,是工作的核心。而完善的測試覆蓋,是保證質(zhì)量的有效手段。

測試按類型來分,分為功能測試和性能測試。功能測試,按照測試金字塔模型,又分為三種:單元測試、接口測試和 UI 測試。單元測試是方法級別的測試,是保證代碼質(zhì)量的基礎(chǔ),一般由開發(fā)同學(xué)自行完成。接口測試和 UI 測試是端到端的測試,需要覆蓋完整的業(yè)務(wù)場景,一般由測試同學(xué)通過自動化的方式來完成覆蓋,并加入持續(xù)集成中,保證所有提交的代碼都不會影響產(chǎn)品的正常功能。

但接口測試和 UI 測試無法覆蓋所有測試需求,比如算法。算法作為機器學(xué)習(xí)和人工智能的基礎(chǔ),其有效性至關(guān)重要,特別是在集團智能化運維的大潮下,各種算法層出不窮,尋找有效的方法對算法的優(yōu)劣進行評測就成了測試團隊的職責(zé)。但是算法不需要驗證接口,也不需要測試 UI,而是需要建立一套有針對性的評測指標(biāo),并想辦法得到被測算法的各項指標(biāo)值來對算法進行評價。

算法測試

算法測試的流程其實很簡單,只有三步:

構(gòu)造輸入
使用構(gòu)造的輸入來運行算法
獲得輸出,并使用算法的輸出來計算各項指標(biāo)值,對算法做出評價

把算法作為一個黑盒,測試需要做的就是完成第一步和第三步。其中最重要的又是第一步,因為輸入確定了,輸出基本就是確定的,不同點只是在于你如何分析而已。那么如何構(gòu)造輸入呢?有兩種方法,一是手工構(gòu)造數(shù)據(jù)集,優(yōu)點是較簡單,可以隨意構(gòu)造,缺點是無法反應(yīng)線上的真實情況,會出現(xiàn)大量的漏測場景。還有一種方式是直接使用線上的數(shù)據(jù),優(yōu)點是場景覆蓋全面,缺點是數(shù)據(jù)收集較為耗時。如果能構(gòu)造一個測試系統(tǒng),使得線上數(shù)據(jù)的收集=》算法運行=》輸出評價成為一個完全自動化的流程,那么可以極大的提高算法測試的效率和有效性。

下面將以無人值守發(fā)布系統(tǒng)的算法測試為例,介紹一下上述測試思路的一種實現(xiàn)方法。

無人值守發(fā)布

無人值守發(fā)布(RiskFree)著力與解決快速分析新版本的應(yīng)用的各項指標(biāo)以識別異常,攔截有問題的發(fā)布,降低發(fā)布導(dǎo)致的故障率。無人值守發(fā)布系統(tǒng)的輸入主要有三個:ali360 的系統(tǒng)監(jiān)控和基礎(chǔ)監(jiān)控數(shù)據(jù)、sunfire 的業(yè)務(wù)監(jiān)控數(shù)據(jù)、a3 的日志分析數(shù)據(jù)。通過算法對這三個系統(tǒng)的輸入數(shù)據(jù)進行分析,得到異常分,對于異常分較高的應(yīng)用觸發(fā)攔截。

故障回放測試

要對無人值守發(fā)布系統(tǒng)進行測試,除了保證其基本功能外,最重要的是要對其算法的有效性進行驗證,主要落在兩個指標(biāo)上:準(zhǔn)確率和召回率:
準(zhǔn)確率 = 有效攔截 (潛在故障)/ 所有攔截
召回率 = 有效攔截 / 所有應(yīng)該攔截的發(fā)布單
測試需要構(gòu)造一個數(shù)據(jù)集,使得通過該輸入得到的輸出可以正確的反映算法的準(zhǔn)確率和召回率。給開發(fā)一個準(zhǔn)確的參考,驗證自己的優(yōu)化是否有效。

輸入數(shù)據(jù)集由各個監(jiān)控系統(tǒng)的輸出數(shù)據(jù)構(gòu)成。且不說監(jiān)控系統(tǒng)輸出的數(shù)據(jù)量大且復(fù)雜,手工構(gòu)造數(shù)據(jù)效率底下且工作量大。就算是最后手工成功構(gòu)造了數(shù)據(jù)集,也無法保證數(shù)據(jù)的有效性和覆蓋率。在測試流程里的準(zhǔn)確率和召回率高,并不意味著在線上可以有效攔截故障,這就使測試的價值大打折扣。

所以最有效的方法就是直接錄制線上的監(jiān)控數(shù)據(jù),并用該數(shù)據(jù)集做回放來驗證算法的效果。而且為了提高測試效率,解放雙手,需要將數(shù)據(jù)的選擇、收集、回放、結(jié)果展示做成一個自動化流程,使得開發(fā)可以一鍵觸發(fā),選擇任意想要的數(shù)據(jù)集進行回放。

對于無人值守發(fā)布系統(tǒng)來說,一次發(fā)布對應(yīng)一個 plan。所以基本思路就是錄制該 plan 運行過程中三個監(jiān)控系統(tǒng)產(chǎn)生的所有數(shù)據(jù),并分別存放在三個表中。然后調(diào)用 riskfree 提供的通過 planId 觸發(fā)分析的回放接口,返回對應(yīng)的錄制數(shù)據(jù),完成回放。最后在 plan 分析結(jié)束后收集結(jié)果,進行展示。下面將錄制和回放模塊分開做詳細講解。

錄制流程

第一步是選擇想要錄制的 plan。本文中選擇的是所有在發(fā)布過程中觸發(fā)了攔截的 plan。為了計算回放之后的準(zhǔn)確率和召回率,需要對這些 plan 進行打標(biāo),標(biāo)記哪些是有效攔截,哪些是誤攔截。標(biāo)記標(biāo)準(zhǔn)為:無人值守觸發(fā)攔截 && 發(fā)布單被手工關(guān)閉或回滾=有效攔截,其他的都是誤攔截。這種方法理論上可以保證標(biāo)記的準(zhǔn)確性。該任務(wù)由定時任務(wù)來完成,在每天的零點對前一天的發(fā)布單進行過濾,通過對無人值守發(fā)布和海狼的數(shù)據(jù)庫的數(shù)據(jù)分析,計算出需要選擇的 plan 和對應(yīng)的標(biāo)記,存儲到本地的數(shù)據(jù)庫中。

選好 plan 之后,需要將該 plan 分析過程中獲取的三個監(jiān)控系統(tǒng)的數(shù)據(jù)拉取下來并分別保存。流程很簡單,只要把在分析過程中獲取到的監(jiān)控數(shù)據(jù)全部保存下來即可。由 riskfree 提供錄制接口,通過 planId 來重新觸發(fā)分析,在分析過程中將得到的監(jiān)控數(shù)據(jù)通過錄制模塊提供的 API 存儲到錄制模塊的 DB 中。因為監(jiān)控系統(tǒng)會存儲一個月左右的歷史數(shù)據(jù),所以只要錄制及時,所有對應(yīng)得監(jiān)控數(shù)據(jù)都可以獲取到。錄制和回放可以使用同一個接口,通過配置項來判斷本次觸發(fā)是錄制還是回放。當(dāng)然錄制模塊需要做好冪等操作,確保不會有重復(fù)得數(shù)據(jù)被插入到數(shù)據(jù)集中。

錄制模塊提供了兩種觸發(fā)錄制的方式。一是定時任務(wù),會在每天的凌晨一點將第一步中篩選出的 plan 的監(jiān)控數(shù)據(jù)收集下來;二是接口觸發(fā)方式,可以指定某些 plan 或某個時間段內(nèi)的 plan 進行錄制,主要是重新錄制在定時任務(wù)中錄制失敗的 plan。

回放流程

1.錄制完成以后,本地的 DB 里會包含各個 plan 對應(yīng)的所有監(jiān)控數(shù)據(jù),回放時只要將這些數(shù)據(jù)準(zhǔn)確的返回給 riskfree 系統(tǒng)即可。為了完全擬合對監(jiān)控系統(tǒng)的調(diào)用方式,需要提供一個 mock 層,分別 mock 對基礎(chǔ)監(jiān)控、業(yè)務(wù)監(jiān)控和日志監(jiān)控接口的調(diào)用。同樣的輸入,mock 接口和線上真實接口返回的數(shù)據(jù)必須完全一致。實際回放時,在 aone 的配置項里將監(jiān)控系統(tǒng)的 URL 替換成 mock 層的 URL 即可。

2.riskfree 的上層是運行層。運行層封裝了各種回放模式,包括按 planId 回放、按監(jiān)控類型回放、按時間段回放、快速回放等等。開發(fā)可以通過接口對各種回放模式進行一鍵觸發(fā)。運行層的底層是一個并發(fā)層,可以配置并發(fā)回放 Plan 的個數(shù)。通過并發(fā)的方式不僅可以壓縮回放時間,提高測試效率。而且可以驗證在高并發(fā)的情況下算法的性能表現(xiàn)。

3.最上面一層是展示層,展示方式包括釘釘提醒、測試報告和趨勢圖。每一次回放的開始和結(jié)束時會有釘釘提醒,結(jié)束時的釘釘提醒包含測試報告的鏈接。測試報告分為概述和詳細信息兩個部分。概述部分包括回放工單總數(shù)、有效攔截數(shù)、誤攔截數(shù)、漏攔截數(shù)、準(zhǔn)確率和召回率,六個指標(biāo),每一個指標(biāo)都是一個錨點,可以直接跳轉(zhuǎn)到詳細信息中的對應(yīng)位置。詳細信息包括五個部分:漏攔截 Plan 詳情、誤攔截 Plan 詳情、與上次回放結(jié)果不同的 plan 詳情、與線上運行結(jié)果不同的 plan 詳情以及全部回放的 plan 詳情五個部分。每一個詳情部分都是一個表格,包括線上 PlanId、回放后產(chǎn)生的線下 planId、本次運行結(jié)果、上次運行結(jié)果、本次回放耗時、上次回放耗時、對應(yīng)發(fā)布單狀態(tài)等等多個字段。概述信息和詳細信息中的各個對比字段使得開發(fā)可以迅速準(zhǔn)確的得到本次優(yōu)化的結(jié)果,并快速定位問題。下圖是某次回放結(jié)果的部分截圖。

4.為了直觀的展示歷次算法優(yōu)化的效果,對相同數(shù)據(jù)集、相同監(jiān)控類型的回放結(jié)果自動生成趨勢圖,并在測試報告中生成對應(yīng)的鏈接。下圖是歷次對 11-03 到 11-10 時間段的 a3 日志分析數(shù)據(jù)進行回放的趨勢圖。

寫在最后

算法測試的重中之重是構(gòu)造數(shù)據(jù)集,而線上真實的數(shù)據(jù)集往往比手工構(gòu)造的數(shù)據(jù)集更有代表性。上文提到的錄制+回放的方法只需稍加變通即可應(yīng)用在各個算法評測項目中。只要將錄制和回放串成一個自動化的流程,即可一勞永逸,不必再擔(dān)心數(shù)據(jù)集的構(gòu)造和更新了。

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://m.hztianpu.com/yun/8783.html

相關(guān)文章

  • 解密百度智能運維工程的架構(gòu)建設(shè)

    摘要:作者介紹王藝,百度云智能運維架構(gòu)研發(fā)負責(zé)人。年轉(zhuǎn)向運維方向,作為智能運維架構(gòu)方向的技術(shù)負責(zé)人,致力于為百度智能運維平臺和產(chǎn)品提供高性能高可用可擴展的系統(tǒng)架構(gòu)和基礎(chǔ)設(shè)施。持續(xù)的數(shù)據(jù)建設(shè),是智能運維建設(shè)的關(guān)鍵。 作者介紹王藝,百度云智能運維架構(gòu)研發(fā)負責(zé)人。2010年加入百度,先后負責(zé)百度鏈接庫、百度志愿計算、百度統(tǒng)一資源管理的研發(fā),經(jīng)歷過千億級網(wǎng)頁鏈接的洗禮,也調(diào)度過數(shù)十萬量級的服務(wù)器,熱衷于直...

    HtmlCssJs 評論0 收藏0
  • 阿里巴巴智能監(jiān)控新場景的探索

    摘要:摘要智能監(jiān)控是智能運維的子領(lǐng)域,詳細分析。我和我的團隊在阿里內(nèi)部的分工是橫向去看阿里巴巴業(yè)務(wù)指標(biāo)的監(jiān)控,我們就以這個話題展開。分享分為五個環(huán)節(jié),從阿里巴巴不同的業(yè)態(tài),特別是新的業(yè)態(tài)帶來的挑戰(zhàn)講起。 摘要:?智能監(jiān)控是智能運維的子領(lǐng)域,詳細分析。 showImg(https://segmentfault.com/img/remote/1460000017348788); 作者簡介 王肇...

    wwq0327 評論0 收藏0
  • 清華裴丹:AIOps 落地路線圖

    摘要:從那個時候開始,我就開始用一些機器學(xué)習(xí)人工智能的技術(shù)來解決的運維問題了,有不少智能運維的嘗試,并發(fā)表了不少先關(guān)論文和專利。而處理海量高速多樣的數(shù)據(jù)并產(chǎn)生高價值,正是機器學(xué)習(xí)的專長。也就是說,采用機器學(xué)習(xí)技術(shù)是運維的一個必然的走向。 大家上午好,非常榮幸,能有這個機會,跟這么多的運維人一起交流智能運維。最近這兩年運維里面有一個很火的一個詞叫做AIOps(智能運維)。我本人是老運維了,在2000...

    Aomine 評論0 收藏0
  • 京東海量運維的演進

    摘要:技術(shù)的迅猛發(fā)展,給運維人員帶來了越來越多的挑戰(zhàn)。運維的轉(zhuǎn)型迫在眉睫。京東運維技術(shù)服務(wù)的演進第一級稱作野蠻生長的階段。京東運維技術(shù)服務(wù)場景化運營部可能會有垂直的三個部門安全運維和數(shù)據(jù)。 IT 技術(shù)的迅猛發(fā)展,給運維人員帶來了越來越多的挑戰(zhàn)。只負責(zé)安裝、部署的傳統(tǒng)型運維的發(fā)展空間已經(jīng)受到越來越多的擠壓:互聯(lián)網(wǎng)的快速發(fā)展,使各種軟件的部署、安裝已經(jīng)不再是技術(shù)問題,各種開源解決方案也讓人懷疑運維人員...

    jemygraw 評論0 收藏0
  • 阿里巴巴運維體系變遷史

    摘要:反正在阿里巴巴,很多的運維人員都說了,我們每年的工作中有一項不用寫的工作就是搬遷。未來我們確實相信阿里巴巴,可能在未來搬遷會相對更少一點,我們認為不能讓搬遷成為阿里巴巴運維團隊的核心競爭力。以上,正是阿里巴巴的運維團隊所覆蓋的五個領(lǐng)域。 隨著大數(shù)據(jù)、機器學(xué)習(xí)和 AI 技術(shù)的飛速發(fā)展,智能化運維成為運維的熱點領(lǐng)域。Gartner 的報告宣稱,到 2020 年,將近 50% 的企業(yè)將會在他們的業(yè)...

    MobService 評論0 收藏0

發(fā)表評論

0條評論

閱讀需要支付1元查看
<