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

資訊專欄INFORMATION COLUMN

阿里巴巴測(cè)試環(huán)境穩(wěn)定性提升實(shí)踐

gggggggbong / 3016人閱讀

摘要:嘉賓介紹張勁太云,阿里巴巴應(yīng)用與基礎(chǔ)運(yùn)維平臺(tái)產(chǎn)品與架構(gòu)部高級(jí)開發(fā)工程師,主要負(fù)責(zé)測(cè)試環(huán)境研發(fā)和效能提升,喜歡開源。

摘要: 測(cè)試環(huán)境是研發(fā)/測(cè)試同學(xué)最常用的功能,穩(wěn)定性直接影響到研發(fā)效率,那如何提升測(cè)試環(huán)境的穩(wěn)定性?阿里巴巴應(yīng)用與基礎(chǔ)運(yùn)維平臺(tái)高級(jí)開發(fā)工程師張勁,通過阿里內(nèi)部實(shí)踐,總結(jié)了一套測(cè)試環(huán)境穩(wěn)定性提升方法,供大家參考。

點(diǎn)此查看原文:http://click.aliyun.com/m/43287/

導(dǎo)讀:測(cè)試環(huán)境是研發(fā)/測(cè)試同學(xué)最常用的功能,穩(wěn)定性直接影響到研發(fā)效率,那如何提升測(cè)試環(huán)境的穩(wěn)定性?阿里巴巴應(yīng)用與基礎(chǔ)運(yùn)維平臺(tái)高級(jí)開發(fā)工程師張勁,通過阿里內(nèi)部實(shí)踐,總結(jié)了一套測(cè)試環(huán)境穩(wěn)定性提升方法,供大家參考。

痛點(diǎn)

每一次容器申請(qǐng)失敗直接造成研發(fā)測(cè)試停滯, 同時(shí)帶來答疑及問題排查(程序猿最怕的就是在代碼寫得正嗨的時(shí)候被人給打斷,所以一般我都帶耳機(jī)),涉及到測(cè)試鏈路上各個(gè)系統(tǒng)。隨著集團(tuán)pouch化的全面推進(jìn),半年來測(cè)試環(huán)境日容器申請(qǐng)量暴增10倍以上,低成功率導(dǎo)致研發(fā)低效的問題越來越凸顯,每天累計(jì)造成集團(tuán)上百小時(shí)的研發(fā)測(cè)試停滯,損失不可接受,也漸漸成為了pouch化推進(jìn)過程中的一個(gè)阻力。

因此, 測(cè)試環(huán)境穩(wěn)定性亟待大幅提升。

如何提升,經(jīng)過答疑匯總和錯(cuò)誤分析,主要集中在兩個(gè)方面:

已成功申請(qǐng)的資源不可用

測(cè)試環(huán)境宿主機(jī)較差(過保機(jī)器),且虛擬比高,容易發(fā)生故障。
宿主機(jī)故障時(shí),其上的容器不會(huì)被自動(dòng)遷移,很可能導(dǎo)致再次部署重啟時(shí)失敗。
調(diào)度系統(tǒng)巡檢會(huì)將故障宿主機(jī)置為不可調(diào)度,由于其上仍有容器,不能下線修復(fù)后重用, 造成機(jī)器資源越來越少。

新申請(qǐng)資源時(shí)成功率低

測(cè)試環(huán)境機(jī)器被分為優(yōu)先級(jí)不同的資源池,資源池間機(jī)器資源不共享。
測(cè)試環(huán)境機(jī)器的容量/余量不透明,沒有告警,造成因資源不足的調(diào)度失敗。
因?yàn)闇y(cè)試環(huán)境與線上環(huán)境有很大不同,資源調(diào)度系統(tǒng)之前沒有針對(duì)測(cè)試場(chǎng)景優(yōu)化, 成功率不高。

目標(biāo)

容器申請(qǐng)成功率:99.9%

方案

指標(biāo)數(shù)據(jù)

從一開始我們就覺的數(shù)據(jù)非常重要,沒有相關(guān)的穩(wěn)定性數(shù)據(jù),那我們就無的放矢,根據(jù)數(shù)據(jù)我們就能找到需要優(yōu)化的點(diǎn)以及持續(xù)優(yōu)化的動(dòng)力。所以項(xiàng)目開始階段就做了挺長時(shí)間的數(shù)據(jù)收集工作。

測(cè)試環(huán)境鏈路數(shù)據(jù)收集:從上至下包括Normandy(基礎(chǔ)應(yīng)用運(yùn)維平臺(tái)),黃蜂(資源申請(qǐng)平臺(tái)),Zeus(二層調(diào)度),Sigma(集團(tuán)資源調(diào)度系統(tǒng));其中我們最關(guān)心的就是最終容器交付的成功率,以及失敗case。失敗case可以幫助我們分析整個(gè)系統(tǒng)中到底哪些地方存在問題,成功率趨勢(shì)則幫助我們檢驗(yàn)新的修復(fù)優(yōu)化是否真的有效且穩(wěn)定,也是最終成果的衡量指標(biāo)。、
測(cè)試環(huán)境鏈路穩(wěn)定性數(shù)據(jù)展示平臺(tái):其實(shí)上下游的每個(gè)系統(tǒng)都有自己的數(shù)據(jù),但是沒有整合,有的用阿里表哥,有的是發(fā)郵件,有的則沒有展示出來,所以做這樣一個(gè)小東西的目的就是將上下游系統(tǒng)的數(shù)據(jù)統(tǒng)一整合在一個(gè)頁面上,更便于查看分析問題。
每日/周/月錯(cuò)誤分析:收集每天的錯(cuò)誤數(shù)量及樣例,便于分析問題。

已申請(qǐng)容器不可用

容器自動(dòng)置換

容器自動(dòng)置換是為了解決已申請(qǐng)的容器不可用問題,簡單來說就是在另一臺(tái)好的宿主機(jī)上擴(kuò)一個(gè)新容器,然后將原來在故障宿主機(jī)上的舊容器下線。

整個(gè)流程如下:Sigma(資源調(diào)度系統(tǒng))自動(dòng)巡檢出故障宿主機(jī)(比如磁盤滿/硬件故障等),通知Atom(故障機(jī)替換)置換該故障宿主機(jī)上容器,Atom向Normandy(基礎(chǔ)應(yīng)用運(yùn)維平臺(tái))發(fā)起機(jī)器置換流程。

通過自動(dòng)置換將故障機(jī)騰空,然后下線修復(fù)。

新申請(qǐng)容器失敗

合理化資源池分配

屏蔽底層系統(tǒng)失敗

因?yàn)闇y(cè)試環(huán)境與線上環(huán)境差異很大,一般測(cè)試環(huán)境使用的機(jī)器都是線上淘汰機(jī),同時(shí)為了節(jié)省預(yù)算,每臺(tái)宿主機(jī)的虛擬比都很高,導(dǎo)致在創(chuàng)建和使用容器時(shí)都特別容易失敗,所以有必要做一個(gè)容器buffer池屏蔽掉底層失敗對(duì)用戶的影響。

buffer池的整個(gè)邏輯非常簡單清晰:在測(cè)試環(huán)境容器生產(chǎn)鏈路靠近用戶的一端嵌入buffer池,預(yù)生產(chǎn)一批容器,在用戶需要的時(shí)候分配給他。即使申請(qǐng)buffer容器失敗,依然可以按原生產(chǎn)鏈路繼續(xù)生產(chǎn)容器。每次從buffer池申請(qǐng)一個(gè)容器后,buffer池會(huì)自動(dòng)異步補(bǔ)充一個(gè)相同規(guī)格的容器進(jìn)來,以維持buffer池的容量。

如何確定buffer哪些規(guī)格的容器及池子的容量是另一個(gè)關(guān)鍵點(diǎn):需要統(tǒng)計(jì)每種規(guī)格-鏡像-資源池的歷史申請(qǐng)量,按比例分配每種buffer的容量。同時(shí)為了保證即使在底層系統(tǒng)中斷服務(wù)時(shí),整個(gè)系統(tǒng)依然對(duì)用戶可用,還需要確定高峰期的容器申請(qǐng)量,可允許中斷時(shí)長以及測(cè)試環(huán)境機(jī)器資源, 用來確定整個(gè)buffer池子的容量。

還需要考慮的一點(diǎn)是,用戶也分為普通用戶(研發(fā)測(cè)試人員),系統(tǒng)用戶(比如自動(dòng)化測(cè)試系統(tǒng)等),他們的優(yōu)先級(jí)也不同,需要優(yōu)先保證普通用戶可用。

同時(shí)為了最大程度的降低引入buffer池后可能對(duì)用戶造成的影響,buffer池內(nèi)加了許多動(dòng)態(tài)開關(guān),用于及時(shí)屏蔽某些功能。比如可針對(duì)具體應(yīng)用設(shè)置是否需要修改容器主機(jī)名,此操作非常耗時(shí),如果不改主機(jī)名,則平均不到1秒內(nèi)會(huì)申請(qǐng)成功;如果某個(gè)應(yīng)用不想使用buffer,也可立即屏蔽;如果buffer池本身出現(xiàn)問題,可以快速降級(jí),在整個(gè)鏈路中去掉buffer功能。

另外buffer池在交付buffer容器前會(huì)額外做一次檢查,判斷容器是否可用,避免容器交付后,因?yàn)槿萜鞑豢捎枚鴮?dǎo)致的服務(wù)部署失敗,用戶使用不了等問題。buffer池內(nèi)部也會(huì)定期清理臟容器(不可用, 數(shù)據(jù)不一致等)和補(bǔ)充新的buffer容器。

總結(jié)

上圖展示測(cè)試環(huán)境最近2個(gè)月的容器申請(qǐng)成功率趨勢(shì),包括buffer池全量前后一個(gè)月。

從圖中可以看到,11月末12月初的兩天成功率極低,均是因?yàn)檎{(diào)度失敗,之后根據(jù)資源池余量預(yù)測(cè)及報(bào)警及時(shí)調(diào)整了各個(gè)資源池的容量,提前消除了調(diào)度失敗的可能,在此之后,成功率波幅都減少很多。

另一點(diǎn),從buffer全量后,成功率波幅明顯比buffer全量前大幅減小,波動(dòng)次數(shù)明顯減少,成功率趨于穩(wěn)定。

buffer池全量后的一周內(nèi),由于buffer池內(nèi)部的bug以及buffer命中率較低,成功率浮動(dòng)較大,在bug修復(fù)以及提高buffer池命中率后,成功率基本穩(wěn)定。

上圖展示近兩個(gè)月的每日成功率趨勢(shì)圖,縱向?qū)Ρ攘擞脩粢暯?有buffer)與底層系統(tǒng)視角(無buffer)。從圖中可以看出,buffer池確實(shí)屏蔽了許多底層系統(tǒng)失敗,除了其中一天buffer池被穿透導(dǎo)致成功率大跌。

展望

雖然經(jīng)過一系列改造優(yōu)化后,成功率有了明顯的提升,但是依然有很多地方需要完善:

資源池容量自動(dòng)調(diào)配:目前算法簡單,有些情況無法解決,比如大規(guī)模的新增或刪除容器造成對(duì)余量趨勢(shì)的誤判。另外也要避免引入自動(dòng)調(diào)配后造成宿主機(jī)標(biāo)簽的混亂。
buffer池模版動(dòng)態(tài)的增減以及每種buffer的數(shù)量動(dòng)態(tài)變化。當(dāng)前buffer池一個(gè)難題就是如何覆蓋到低頻的應(yīng)用鏡像,這種鏡像雖然低頻但是容易申請(qǐng)失敗,一旦這種容器大量申請(qǐng),容易穿透buffer池,造成大量失敗。
擴(kuò)大buffer池的容量,需要根據(jù)機(jī)器資源伸縮。

除了對(duì)以前工作的完善,測(cè)試環(huán)境依然有許多要做的事情:比如如何提高整個(gè)測(cè)試環(huán)境資源的利用率, 如何減少容器交付耗時(shí)(從用戶申請(qǐng)到用戶可用),如何推動(dòng)應(yīng)用的可調(diào)度化等等,希望能夠和大家一起探討。

嘉賓介紹

張勁(太云),阿里巴巴應(yīng)用與基礎(chǔ)運(yùn)維平臺(tái)-產(chǎn)品與架構(gòu)部高級(jí)開發(fā)工程師,主要負(fù)責(zé)測(cè)試環(huán)境研發(fā)和效能提升,喜歡開源。

云效粉絲福利:

1.想要和作者一起共事嗎?云效2.0-StarOps智能運(yùn)維平臺(tái)-致力于打造具備世界級(jí)影響力的智能運(yùn)維平臺(tái),誠聘資深技術(shù)/產(chǎn)品專家

工作地點(diǎn):杭州、北京、美國

https://job.alibaba.com/zhaop...

2.參與你不知道的《阿里巴巴Java開發(fā)手冊(cè)》背后故事文內(nèi)活動(dòng),贏取簽名版《阿里巴巴Java開發(fā)手冊(cè)》,活動(dòng)即將截止,欲參加從速!

識(shí)別以下二維碼,閱讀更多干貨

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

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

相關(guān)文章

  • 阿里巴巴1682億背后的“企業(yè)級(jí)”高效持續(xù)交付

    摘要:摘要在北京云棲大會(huì)上,阿里巴巴高級(jí)技術(shù)專家陳鑫花名神秀,給大家?guī)砹藘|背后的企業(yè)級(jí)高效持續(xù)交付,引起強(qiáng)烈共鳴。 摘要: 在2017北京云棲大會(huì)上,阿里巴巴高級(jí)技術(shù)專家陳鑫(花名神秀),給大家?guī)砹恕?682億背后的企業(yè)級(jí)高效持續(xù)交付》,引起強(qiáng)烈共鳴。神秀從技術(shù)負(fù)責(zé)人關(guān)心的研發(fā)流程混亂、質(zhì)量無法保障、環(huán)境管理低效、資源浪費(fèi)等方面,結(jié)合阿里巴巴的DevOps實(shí)踐,深度解析了企業(yè)級(jí)持續(xù)交付如...

    Youngs 評(píng)論0 收藏0
  • 鮮為人知的混沌工程,到底哪里好?

    摘要:通過本文,你將了解到為什么需要混沌工程,阿里巴巴在該領(lǐng)域的實(shí)踐和思考未來的計(jì)劃。而阿里目前并沒有一個(gè)專門的職位來實(shí)施混沌工程,項(xiàng)目目標(biāo)業(yè)務(wù)場(chǎng)景人員結(jié)構(gòu)實(shí)施方式的不同導(dǎo)致了對(duì)于穩(wěn)定狀態(tài)行為的定義不太標(biāo)準(zhǔn)。 阿里妹導(dǎo)讀:混沌工程屬于一門新興的技術(shù)學(xué)科,行業(yè)認(rèn)知和實(shí)踐積累比較少,大多數(shù)IT團(tuán)隊(duì)對(duì)它的理解還沒有上升到一個(gè)領(lǐng)域概念。阿里電商域在2010年左右開始嘗試故障注入測(cè)試的工作,希望解決微...

    yexiaobai 評(píng)論0 收藏0
  • 六年打磨!阿里開源混沌工程工具 ChaosBlade

    摘要:這一次,經(jīng)歷了年時(shí)間的改進(jìn)和實(shí)踐,累計(jì)在線上執(zhí)行演練場(chǎng)景達(dá)數(shù)萬次,我們將阿里巴巴在故障演練領(lǐng)域的創(chuàng)意和實(shí)踐,濃縮成一個(gè)混沌工程工具,并將其開源,命名為。 showImg(https://segmentfault.com/img/remote/1460000018704226); 阿里妹導(dǎo)讀:減少故障的最好方法就是讓故障經(jīng)常性的發(fā)生。通過不斷重復(fù)失敗過程,持續(xù)提升系統(tǒng)的容錯(cuò)和彈性能力。今...

    BakerJ 評(píng)論0 收藏0
  • 崔立強(qiáng):Dev無感Ops,如何做到高效軟件交付

    摘要:用云效首先可以獲得研發(fā)模式的標(biāo)準(zhǔn)化,我們將其命名為,這是目前應(yīng)用最廣最適合阿里巴巴的分支管理模式,不但具有高度自由,快速迭代的特性,還可以與流水線結(jié)合,讓整個(gè)公司具有統(tǒng)一的軟件交付規(guī)范。最終避免了的發(fā)布故障。 在2018第二屆研發(fā)效能嘉年華上,阿里巴巴云效技術(shù)專家崔力強(qiáng)帶來了如何做到高效軟件交付的精彩演講,首先介紹了阿里巴巴在近幾年在交付平臺(tái)上的技術(shù)經(jīng)驗(yàn),以及目前云上工具平臺(tái)交易的趨勢(shì)...

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

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

0條評(píng)論

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