成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

一個(gè)智能運(yùn)維算法測(cè)試方法

Jingbin_ / 551人閱讀

摘要:?jiǎn)卧獪y(cè)試是方法級(jí)別的測(cè)試,是保證代碼質(zhì)量的基礎(chǔ),一般由開(kāi)發(fā)同學(xué)自行完成。但接口測(cè)試和測(cè)試無(wú)法覆蓋所有測(cè)試需求,比如算法。

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

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

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

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

算法測(cè)試

算法測(cè)試的流程其實(shí)很簡(jiǎn)單,只有三步:

構(gòu)造輸入
使用構(gòu)造的輸入來(lái)運(yùn)行算法
獲得輸出,并使用算法的輸出來(lái)計(jì)算各項(xiàng)指標(biāo)值,對(duì)算法做出評(píng)價(jià)

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

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

無(wú)人值守發(fā)布

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

故障回放測(cè)試

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

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

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

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

錄制流程

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

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

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

回放流程

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

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

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

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

寫(xiě)在最后

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

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

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/8783.html

相關(guān)文章

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

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

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

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

    wwq0327 評(píng)論0 收藏0
  • 清華裴丹:AIOps 落地路線圖

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

    Aomine 評(píng)論0 收藏0
  • 京東海量運(yùn)維的演進(jìn)

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

    jemygraw 評(píng)論0 收藏0
  • 阿里巴巴運(yùn)維體系變遷史

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

    MobService 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<