欧美日韩电影精品视频_亚洲天堂一区二区三区四区_亚洲欧美日韩国产综合_日韩精品一区二区三区中文_為您提供優質色综合久久88色综合天天

您的位置:首頁(yè) > 美股 >

大型活動(dòng)容量支撐速增10+倍,B站容量管理下的資源活化

2023-06-25 20:09:50 來(lái)源:dbaplus社群

評(píng)論
一、容量管理的設(shè)計(jì)理念1、為什么要做容量管理?1)容量風(fēng)險(xiǎn)未知

集群/資源池/Node容量水位缺乏可視化,穩(wěn)定性難以保證

隨著云原生和K8S普及,若沒(méi)有很好的容量管理,我們就無(wú)法感知整個(gè)集群、整個(gè)資源池以及Node容量的水位變化,也無(wú)法得知是否有必要采購(gòu)資源,無(wú)法察覺(jué)整體的資源風(fēng)險(xiǎn)。

容量變更根因難以追溯

有時(shí)我們?cè)谧鲆恍┌l(fā)版或迭代時(shí),會(huì)發(fā)現(xiàn)原本充足的資源突然出現(xiàn)緊缺。此時(shí),若要查探容量何時(shí)變化或追溯變化的根因,存在一定難度,也比較復(fù)雜。


(資料圖片僅供參考)

HPA覆蓋率低,業(yè)務(wù)穩(wěn)定性難以保障

B站有很多活動(dòng)和突發(fā)流量,但由于HPA的覆蓋率比較低,業(yè)務(wù)容量彈性往往難以保障。

2)降本增效大背景資源使用率低,迫切需要提高整體使用率資源碎片化較為嚴(yán)重,資源無(wú)法得到充分利用平臺(tái)缺乏統(tǒng)一的資源協(xié)調(diào)能力

由于將物理資源分散到各個(gè)部門(mén),如直播業(yè)務(wù)有獨(dú)立的直播物理資源池,電商有專屬物理資源,碎片化程度極高,所以平臺(tái)統(tǒng)一協(xié)調(diào)資源的能力難免存在欠缺。

資源占用大頭難以快速發(fā)現(xiàn),治理困難

降本增效遵循二八原則,即20%的業(yè)務(wù)可能占了80%的資源。我們需要快速如何找出20%的業(yè)務(wù),并推動(dòng)其進(jìn)行治理,這部分業(yè)務(wù)得到治理后往往收益較大。

2、不同部門(mén)的關(guān)注點(diǎn)研發(fā)/部門(mén):要有資源去做資源的擴(kuò)容發(fā)布、藍(lán)綠發(fā)布和回滾。希望部門(mén)的成本不能過(guò)高,避免資源浪費(fèi)。SRE:服務(wù)的穩(wěn)定性。在保證穩(wěn)定性的情況下,聚焦服務(wù)資源的使用率,以達(dá)到降本增效的目的。平臺(tái):需要統(tǒng)籌資源buffer,控制資源的超賣(mài)率,保證底層容量的穩(wěn)定,從而實(shí)現(xiàn)降本增效的目標(biāo)。成本部門(mén):資源使用率,賬單、預(yù)算和成本。

3、容量管理面臨的挑戰(zhàn)內(nèi)部因素復(fù)雜,變動(dòng)頻繁

包括代碼變更、配置變更、壓測(cè)活動(dòng)、多活切量、定時(shí)任務(wù)和緩存過(guò)期等,都可能導(dǎo)致容量模型發(fā)生改變。

外部場(chǎng)景多樣,難以預(yù)知

B站活動(dòng)比較多,運(yùn)營(yíng)也會(huì)進(jìn)行不定時(shí)的推廣,一些熱門(mén)事件或話題都有可能導(dǎo)致容量的突增。

鏈路瓶頸點(diǎn)多,難以提前發(fā)現(xiàn)

無(wú)論是東西向流量還是南北向流量,整個(gè)鏈路比較長(zhǎng),因此上游服務(wù)、下游服務(wù)和中間件都可能遇到瓶頸。

應(yīng)急依賴人工,恢復(fù)時(shí)間長(zhǎng)

以上問(wèn)題發(fā)生時(shí),如果依靠人工應(yīng)急,上游擴(kuò)容可能會(huì)將下游直接打垮,容易引發(fā)二次故障。

4、容量管理的整體思路

整個(gè)容量體系的設(shè)計(jì),從下到上分為幾大部分,包括基礎(chǔ)容量、彈性資源、合池和配額管理。

首先是基礎(chǔ)容量,它包含平臺(tái)關(guān)注的集群容量、資源池容量、Node容量,以及應(yīng)用畫(huà)像的相關(guān)數(shù)據(jù)。雖然我們將服務(wù)本身發(fā)版涉及到應(yīng)用資源的容量視作基礎(chǔ)容量,同時(shí)業(yè)務(wù)也會(huì)關(guān)注。

在這些基礎(chǔ)容量之上,我們構(gòu)建了一些彈性資源,包括VPA和HPA,還有我們的合池和配額管理。同時(shí)我們構(gòu)建了整個(gè)容量可視化的一些頁(yè)面,用于幫助我們的業(yè)務(wù)和平臺(tái)更好地將自己的資源數(shù)據(jù)可視化,做一些資源的管理。

二、容量管理之降本增效1、降本增效通用手段

2、具體方案介紹1)彈性伸縮-VPA(Vertical Pod Autoscaler)

針對(duì)每一個(gè)服務(wù),我們都有服務(wù)的軟限和硬限,這是K8S的基本概念。應(yīng)用CPU Used即應(yīng)用的CPU的真實(shí)使用量。B站所有的硬限和軟限都是通過(guò)我們的發(fā)布平臺(tái)caster去指定,它們可能是業(yè)務(wù)基于經(jīng)驗(yàn)設(shè)置的,設(shè)置的值不一定合理。隨著業(yè)務(wù)和服務(wù)越來(lái)越多,這種不合理性就會(huì)越發(fā)明顯,導(dǎo)致分配率非常高,但整體的使用率卻不高。

如何解決這個(gè)問(wèn)題?

我們認(rèn)為,研發(fā)部門(mén)無(wú)需關(guān)注軟限多少,只需關(guān)注需要多少資源。基于應(yīng)用的真實(shí)CPU使用量和應(yīng)用畫(huà)像,評(píng)估它的服務(wù)等級(jí)、是否多活等指標(biāo),以此判斷應(yīng)動(dòng)態(tài)分配多少軟限。這種方法能提高整個(gè)服務(wù)的部署密度,提高整體資源池的使用率。

進(jìn)行大型活動(dòng)時(shí),如果分配率已經(jīng)很高,可以應(yīng)用VPA的策略,把非核心服務(wù)(如 L2/L3的后臺(tái)服務(wù))用來(lái)降級(jí),調(diào)低軟限,給核心服務(wù)騰讓資源。

我們通過(guò)VPA管理平臺(tái)下發(fā)VPA策略,使其經(jīng)過(guò)VPA-API組件。這個(gè)組件是一個(gè)中間代理,主要實(shí)現(xiàn)對(duì)K8S集群中VPA Generator對(duì)象的增刪改查操作,負(fù)責(zé)匯總收集VPA相關(guān)的可觀測(cè)數(shù)據(jù)。

VPA Generator主要負(fù)責(zé)拆解先前下發(fā)的具有相同畫(huà)像的規(guī)則,如果下發(fā)一個(gè)L0等級(jí)的多活規(guī)則,它會(huì)拆解并創(chuàng)建很多對(duì)應(yīng)VPA對(duì)象,最后通過(guò)VPA Recommender從監(jiān)控系統(tǒng)中采集一些對(duì)應(yīng)的應(yīng)用資源指標(biāo),計(jì)算推薦值即合適的request值,并通過(guò)VPA Updater組件調(diào)整Pod的資源。

發(fā)布服務(wù)時(shí)也可能涉及到資源改變,VPA Webhook會(huì)監(jiān)聽(tīng)類似事件,再動(dòng)態(tài)調(diào)整Pod值。

①策略管理

包括VPA指標(biāo)管理、模板管理和預(yù)估/對(duì)照組。

VPA的指標(biāo)管理:基于不同的指標(biāo)例如CPU的使用量max、P99等做一些調(diào)整。VPA的模板管理:基于我們的一些應(yīng)用畫(huà)像,例如根據(jù)L0服務(wù)或L2服務(wù)等不同的服務(wù)畫(huà)像做一些不同的模板和管理。VPA的策略預(yù)估與對(duì)照:分清哪種指標(biāo)或哪部分對(duì)我們更優(yōu),因此我們會(huì)對(duì)不同的策略進(jìn)行策略預(yù)估和對(duì)照,以便擇優(yōu)。②數(shù)據(jù)運(yùn)營(yíng)

包括VPA的覆蓋大盤(pán)、VPA執(zhí)行記錄和VPA策略分析。

VPA覆蓋大盤(pán):分析整個(gè)資源池的覆蓋率和執(zhí)行記錄,記錄服務(wù)軟限的調(diào)整幅度。VPA策略分析:調(diào)整后,通過(guò)可視化界面觀察是否還存在問(wèn)題。③黑名單

整個(gè)服務(wù)的使用量一般會(huì)在活動(dòng)時(shí)劇增,或某個(gè)服務(wù)上線了新功能,進(jìn)行壓測(cè),都會(huì)導(dǎo)致整個(gè)容量數(shù)據(jù)變化。所以我們制作了黑名單機(jī)制,進(jìn)行VPA策略避讓,保證在非預(yù)期的情況下,不會(huì)對(duì)這些服務(wù)進(jìn)行相關(guān)調(diào)整。

④預(yù)警

即使執(zhí)行了VPA,通常也有可能出現(xiàn)不符合預(yù)期的情況,所以我們制作了失敗率、覆蓋率和冗余度的策略預(yù)警。如果本次調(diào)整有多處不符合預(yù)期,提前預(yù)警將遞送給SRE和平臺(tái)方,然后進(jìn)行治理和排障。

2)PaaS合池

我們的漫畫(huà)業(yè)務(wù)、直播業(yè)務(wù)和OGV業(yè)務(wù)都是獨(dú)立的物理資源池,如下圖所示,番劇的CPU分配率很高,而漫畫(huà)跟直播的分配率相比較低。如果番劇需要資源去完成一些事情,漫畫(huà)和直播往往不能滿足,所以需要采購(gòu)獨(dú)立的預(yù)算,或額外申請(qǐng)?jiān)粕腺Y源。

所以我們認(rèn)為業(yè)務(wù)不應(yīng)關(guān)注底層資源,從而完成了PaaS的合池。合池后,業(yè)務(wù)更關(guān)注邏輯的配額管理,即整個(gè)配額的使用率。如果使用率過(guò)高或出現(xiàn)問(wèn)題,業(yè)務(wù)可以解決,底層資源則由平臺(tái)統(tǒng)一管控,進(jìn)而平臺(tái)的統(tǒng)一管控能力提升。

合池具體如何落地?可分為以下幾步:

標(biāo)準(zhǔn)化治理

基于歷史原因,不同的資源池使用不同策略,甚至配置、內(nèi)核版本也各不相同,所以涉及到標(biāo)準(zhǔn)化的操作。首先,去除特殊約束,有些服務(wù)可能綁定了特殊的物理機(jī)發(fā)布。其次,不能配置nolimit相關(guān)的服務(wù),因?yàn)楹铣赝戤吅笕绻硞€(gè)服務(wù)壓力比較大,且配得不合理,往往會(huì)增加物理機(jī)的壓力,影響其他業(yè)務(wù)。同時(shí),我們還進(jìn)行了去cpuset化、統(tǒng)一操作系統(tǒng)內(nèi)核和日志規(guī)范化的操作。

平臺(tái)支撐

由于合池完畢后資源也不能無(wú)限使用,所以要基于合池后的不同組織進(jìn)行邏輯配額管理,再整個(gè)大資源池覆蓋VPA。

老板的支持

合池涉及到不同的部門(mén),這一方面最重要的是需要老板的支持。自上而下進(jìn)行的合池較依賴協(xié)同合作。

3)配額管理

容量平臺(tái)提供了配額管理相關(guān)的策略下發(fā)能力,同時(shí)對(duì)接內(nèi)部的CMDB業(yè)務(wù)樹(shù)?;诮M織業(yè)務(wù)的關(guān)系,可以設(shè)置不同的組織需要的資源數(shù)量。若使用超額,會(huì)聯(lián)動(dòng)發(fā)布平臺(tái),進(jìn)而控制整體資源。如果資源不夠,可能就無(wú)法發(fā)布或擴(kuò)容。

降本增效的收益

成本:通過(guò)這些手段,我們實(shí)現(xiàn)了22年H1在線業(yè)務(wù)PaaS物理機(jī)的0新增,同時(shí)整個(gè)S12的活動(dòng)保障實(shí)現(xiàn)了0采購(gòu)。平臺(tái):統(tǒng)一管控能力極大提升同時(shí),快速支撐大型活動(dòng)方面,活動(dòng)數(shù)量攀升了不止10倍。以往進(jìn)行大型活動(dòng)支撐時(shí),直播資源不足往往需要采購(gòu)預(yù)算,周期漫長(zhǎng)。目前我們可以通過(guò)協(xié)調(diào)資源和統(tǒng)籌調(diào)度盡快交付資源,時(shí)間也從原來(lái)的一個(gè)半月縮短到現(xiàn)在的一個(gè)小時(shí)或兩個(gè)小時(shí)。PaaS的整體使用率獲得較大提升。業(yè)務(wù):首先,對(duì)于小業(yè)務(wù)而言,由于本身資源池的資源較少,物理機(jī)不多,所以宕機(jī)對(duì)它的影響較大。合池后資源池的規(guī)模較大,服務(wù)相對(duì)分散,所以無(wú)論掛一臺(tái)機(jī)器還是兩臺(tái)機(jī)器,對(duì)小業(yè)務(wù)的影響會(huì)大大降低。第二,業(yè)務(wù)整體的容量需求得到快速滿足。資源緊張時(shí),它也可以進(jìn)行臨時(shí)的藍(lán)綠發(fā)布或者HPA超賣(mài)。三、容量管理之穩(wěn)定性1、在線業(yè)務(wù)的典型特征2、彈性伸縮-HPA(Horizontal Pod Autoscaler)

HPA的設(shè)計(jì)理念與VPA相似,包括策略管理、彈性預(yù)檢、可觀測(cè)和預(yù)警。

策略管理

因?yàn)镠PA基于CPU使用率、內(nèi)存使用率或QPS之類等指標(biāo)進(jìn)行管理,有些基于不同的應(yīng)用畫(huà)像進(jìn)行管理。例如,針對(duì)L0和L1的服務(wù),它們的CPU使用率若達(dá)到30%就應(yīng)該擴(kuò)容,至于非多活的服務(wù),達(dá)到擴(kuò)容標(biāo)準(zhǔn)的最小值則可能稍高。

彈性預(yù)檢

配備HPA后也并非萬(wàn)無(wú)一失,因?yàn)镠PA做彈性會(huì)涉及到下游及一些基礎(chǔ)的技術(shù)組件,比如數(shù)據(jù)庫(kù)會(huì)涉及到一些連接池,需要考慮它是否會(huì)滿,是否會(huì)導(dǎo)致其他風(fēng)險(xiǎn)等。所以我們進(jìn)行一些彈性預(yù)檢的相關(guān)措施,包括臨近值預(yù)檢和容量風(fēng)控等能力。

可觀測(cè)

我們會(huì)觀測(cè)異常記錄和覆蓋率,比如對(duì)L0服務(wù)的覆蓋率如何,是否所有L0的服務(wù)都覆蓋了HPA,HPA被觸發(fā)時(shí)HPA的彈性質(zhì)量如何等問(wèn)題進(jìn)行觀測(cè)。

預(yù)警

我們?cè)O(shè)計(jì)了擴(kuò)縮容的失敗預(yù)警和HPA失效的預(yù)警,如果觸發(fā)一些HPA擴(kuò)容或縮容的事件,研發(fā)部門(mén)會(huì)收到相關(guān)時(shí)間通知,告知因服務(wù)壓力或流量導(dǎo)致HPA發(fā)生變化。

1)HPA可視化①HPA管控

包括HPA 的批量開(kāi)啟和禁用。保障大型活動(dòng)時(shí),往往會(huì)希望容量是穩(wěn)態(tài)的,再基于穩(wěn)態(tài)的容量進(jìn)行壓測(cè),此時(shí)需要先關(guān)閉HPA,在低峰谷區(qū)進(jìn)行壓測(cè)。在資源不變的情況下,壓測(cè)穩(wěn)態(tài)能夠支撐的量的數(shù)值。后續(xù)可能分為幾輪壓測(cè),最后一輪壓測(cè)會(huì)開(kāi)啟全部HPA,觀察我們最終能支持的量,基于這些量預(yù)估容估。除此之外,還可能涉及HPA的增刪改查能力。

②可視化

主要是HPA覆蓋率,要確定整個(gè)HPA在不同區(qū)域和不同等級(jí)覆蓋的應(yīng)用數(shù)及覆蓋率,對(duì)比指標(biāo)數(shù)據(jù)和彈性實(shí)例。

彈性實(shí)例對(duì)比表明當(dāng)前服務(wù)的實(shí)例數(shù)量,并展示一個(gè)關(guān)鍵數(shù)據(jù)。這個(gè)數(shù)據(jù)幫助我們基于HPA配置策略,確定彈性實(shí)例的最終數(shù)量。彈性實(shí)例受限于HPA的最大值控制。如果純粹通過(guò)配置策略計(jì)算擴(kuò)容的實(shí)例數(shù),那么能夠通過(guò)HPA擴(kuò)至15個(gè)。但如果無(wú)最大限制,可能會(huì)直接擴(kuò)至20個(gè)。因此,借助可視化能直接看出HPA的設(shè)置是否合理,了解整個(gè)HPA變化的實(shí)際趨勢(shì)。

2)HPA并非可以無(wú)限擴(kuò)容

HPA受限于連接池或下游服務(wù)有限的承載能力,因此我們排查了整個(gè)過(guò)程需要使用消息隊(duì)列、Tidb、泰山KV、緩存以及中間件等相關(guān)組件。整體排查后,發(fā)現(xiàn)MySQL風(fēng)險(xiǎn)較大 ,因?yàn)榇蠖鄶?shù)組件基本是集中式的代理,例如Tidb和泰山KV都是集中式的proxy部署,無(wú)連接池相關(guān)風(fēng)險(xiǎn)。緩存使用的redis和mc往往具有較大支持連接數(shù),所以風(fēng)險(xiǎn)相對(duì)可控。MySQL 則不同,因此我們?cè)趶椥灶A(yù)檢這方面增加對(duì)MySQL和連接池的預(yù)檢。如果整個(gè)擴(kuò)容導(dǎo)致MySql水位變高,就會(huì)進(jìn)行相關(guān)提示。服務(wù)進(jìn)行HPA擴(kuò)容時(shí),可能會(huì)導(dǎo)致下游的服務(wù)壓力、下游雪崩,導(dǎo)致一些底層的中間件出現(xiàn)一定的問(wèn)題或壓力。

解決這個(gè)問(wèn)題的整體思路:

一是HPA預(yù)檢,二是基于全鏈路的彈性,三是對(duì)超出預(yù)期的流量做一些組件的限流。

3)容量巡檢

容量巡檢的作用在于,如果某些服務(wù)有風(fēng)險(xiǎn),能夠?qū)崿F(xiàn)相關(guān)數(shù)據(jù)可視化。

針對(duì)不同的場(chǎng)景和不同的角色,關(guān)注點(diǎn)也不同。

業(yè)務(wù)更關(guān)注整個(gè)業(yè)務(wù)維度,例如使用率如何、有無(wú)風(fēng)險(xiǎn)應(yīng)用等應(yīng)用維度,能盡快找到這些列表,進(jìn)而快速完成治理。配額管理方面,則包括整個(gè)配額的使用率和配額可調(diào)度的實(shí)例數(shù)量,幫助快速判斷配額風(fēng)險(xiǎn)。

平臺(tái)方則更關(guān)注資源池的分配率,如可調(diào)度的實(shí)例數(shù)峰值、資源使用率、資源池是否為單節(jié)點(diǎn),還會(huì)關(guān)注整個(gè)VPA的調(diào)整失敗率和冗余度。基于平臺(tái)方的關(guān)注事項(xiàng),我們制作了風(fēng)險(xiǎn)的巡檢大盤(pán),用以確定哪些資源有風(fēng)險(xiǎn)、哪些資源比較空閑、哪些資源急需治理等情況。

4)超載保護(hù)

即使有了這些保障,也無(wú)法保證萬(wàn)無(wú)一失。因?yàn)榱髁客话l(fā)很常見(jiàn),如佩洛西事件等熱點(diǎn)事件導(dǎo)致B站的直播流量激增、超出預(yù)期,所以這方面需要依靠彈性資源。另一比較重要的手段則是依靠技術(shù)組件限流熔斷和降解。

限流

目前限流主要包括分布式的全局限流和基于http、grpc、qps的限流,同時(shí)因?yàn)槊總€(gè)業(yè)務(wù)方基本上都會(huì)健全賬號(hào),所以我們會(huì)對(duì)一些比較核心的業(yè)務(wù)做基于caller即調(diào)用方的限流,從而避免因某一個(gè)業(yè)務(wù)的流量突發(fā)而導(dǎo)致整個(gè)賬號(hào)體系出現(xiàn)問(wèn)題。

另一方面,我們基于BBR進(jìn)行動(dòng)態(tài)限流,基于cpu使用率、成功qps和響應(yīng)rt等限流,同時(shí)聯(lián)動(dòng)移動(dòng)端并進(jìn)行流控。如果服務(wù)端超出承受極限,我們會(huì)給移動(dòng)端下發(fā)策略,驅(qū)使移動(dòng)端做流控的控制,避免用戶重試導(dǎo)致雪崩。

熔斷

包括通過(guò)滑動(dòng)窗口計(jì)算成功失敗率以及熔斷后需要進(jìn)行的操作。

降級(jí)

基于多活進(jìn)行跨可能區(qū)的降級(jí),業(yè)務(wù)對(duì)這個(gè)操作無(wú)感,這也是我們做多活的一個(gè)好處。而對(duì)于Node SSR相關(guān)的降級(jí),支持降級(jí)至靜態(tài)頁(yè),業(yè)務(wù)也無(wú)感,但耗時(shí)相對(duì)長(zhǎng)些。至于數(shù)據(jù)類的降級(jí),假若AI方面的算法服務(wù)出了問(wèn)題,我們可以進(jìn)行兜底數(shù)據(jù)展示,但用戶方的內(nèi)容質(zhì)量就有所下降。弱依賴降級(jí)時(shí),部分服務(wù)會(huì)直接降級(jí),不展示非核心數(shù)據(jù)。

四、容量管理之可視化運(yùn)營(yíng)1、基礎(chǔ)容量

我們更關(guān)注集群、資源池、Node和應(yīng)用維度的數(shù)據(jù),所以制作一些可視化圖表,以便更快查看整個(gè)集群資源池和應(yīng)用在這段時(shí)間內(nèi)的變化趨勢(shì)。

以資源池和Node為例,由于要控制超賣(mài),所以要控制資源池和Node的容量水位和超賣(mài)率(Node也有部分熱點(diǎn))。

有些會(huì)觸發(fā)二次調(diào)度,把上面的部分服務(wù)調(diào)用到非熱點(diǎn)的服務(wù)中。應(yīng)用則包括應(yīng)用的資源使用量、使用率、實(shí)例數(shù)和單實(shí)例容器數(shù),它的容器包括多少容器數(shù),例如有一個(gè)Pod,它可能包含一個(gè)主容器和相關(guān)伴生容器,伴生有可能導(dǎo)致容量變化。我們基于這些數(shù)據(jù)制作趨勢(shì)圖,并在監(jiān)控上保存應(yīng)用的相關(guān)容量數(shù)據(jù)。與監(jiān)控相比,因?yàn)閿?shù)據(jù)點(diǎn)更加分散,所以保存期限更長(zhǎng),目前已保存了超過(guò)兩年的容量數(shù)據(jù)。

2、業(yè)務(wù)組織容量

業(yè)務(wù)痛點(diǎn)

在進(jìn)行降本增效時(shí),如何快速找到資源占用的大頭并優(yōu)先治理;哪些業(yè)務(wù)的實(shí)用率較低使用不合理;是哪個(gè)業(yè)務(wù)擴(kuò)容導(dǎo)致成本突增容量治理的效果如何,哪些業(yè)務(wù)的治理不符合預(yù)期

解決方案

根據(jù)以上痛點(diǎn),我們?cè)O(shè)計(jì)了組織業(yè)務(wù)容量,基于內(nèi)部的CMDB即組織業(yè)務(wù)數(shù),通過(guò)聚合應(yīng)用指標(biāo),從下往上逐漸遞歸,算出整個(gè)組織和業(yè)務(wù)的容量,呈現(xiàn)歷史容量的變化趨勢(shì)。例如,總?cè)萘渴?萬(wàn)盒,1萬(wàn)盒屬于整個(gè)直播業(yè)務(wù),而直播的分支包含直播的房間、直播營(yíng)收相關(guān)業(yè)務(wù)。

列出每一項(xiàng)所占的資源,就能清晰地感知哪些業(yè)務(wù)是資源占比的大頭和占比總量。通過(guò)圖片上的紅線和紅點(diǎn),就能分析它的使用量與使用合理性。下圖右方則呈現(xiàn)了整個(gè)容量的變化趨勢(shì),這樣就能快速定位不合理的板塊。同時(shí),我們支持?jǐn)?shù)據(jù)的一鍵下鉆,作用同上。

3、容量事件

資源治理時(shí),往往會(huì)遇到資源變少變空或不能發(fā)版的問(wèn)題。以往查詢這些問(wèn)題根源,我們可能要翻遍各個(gè)平臺(tái)。例如,查看是否有人在發(fā)布平臺(tái)進(jìn)行擴(kuò)容或縮容操作,部分服務(wù)是否因壓力過(guò)大觸發(fā)HPA,或是否有人在管理平臺(tái)中臨時(shí)添加了機(jī)器導(dǎo)致容量變大。

由于平臺(tái)數(shù)量多,業(yè)務(wù)SRE排查相當(dāng)困難,所以我們做了容量事件相關(guān)的平臺(tái),以消費(fèi)包括發(fā)布平臺(tái)、HPA以及Node管理等整個(gè)變更平臺(tái)的變更事件。通過(guò)變更事件,把數(shù)據(jù)消費(fèi)到容量事件平臺(tái)上,統(tǒng)籌觀察這段時(shí)間業(yè)務(wù)的容量變更,因此容量事件是我們快速定位容量變化根因的重要途徑。這樣做的收益很顯著,以往容量發(fā)生變化,業(yè)務(wù)必須聯(lián)系SRE和平臺(tái)。而現(xiàn)在無(wú)需這樣操作,就能快速感知容量變化的根因,處理效率提升。

4、容量周報(bào)

容量周報(bào)分為部門(mén)周報(bào)和內(nèi)部周報(bào),業(yè)務(wù)部門(mén)更關(guān)注整體資源的用量以及資源使用率的變化。觀察這些數(shù)據(jù)能更好地感知容量效果。除了降本增效以外,業(yè)務(wù)還關(guān)注穩(wěn)定性,希望得知具體的風(fēng)險(xiǎn)應(yīng)用有哪些,以及一周內(nèi)哪些應(yīng)用有怎樣的容量變化。

對(duì)于內(nèi)部來(lái)說(shuō),SRE和平臺(tái)比較關(guān)注哪些部門(mén)的自營(yíng)資源占量較大而使用率較低,這些部門(mén)對(duì)我們來(lái)說(shuō)往往是能用于降本的組織,我們需要提前與他們溝通,所以就需要內(nèi)部周報(bào)幫助完成。同時(shí)我們也列出了部門(mén)資源使用率的排名,排名越靠前說(shuō)明治理得越好,反之亦然。

張鶴

嗶哩嗶哩

基礎(chǔ)架構(gòu)部資深SRE

2020年加入B站,先后負(fù)責(zé)社區(qū)/直播/OGV/推廣搜相關(guān)的SRE工作,深度參與多活,活動(dòng)保障,混沌工程,容量治理相關(guān)的建設(shè),主導(dǎo)容量管理平臺(tái),混沌平臺(tái)的架構(gòu)設(shè)計(jì)和落地,負(fù)責(zé)B站S賽、跨年晚會(huì)、拜年祭等相關(guān)活動(dòng)的基礎(chǔ)架構(gòu)保障工作,目前主要負(fù)責(zé)推廣搜業(yè)務(wù)的穩(wěn)定性建設(shè)。

關(guān)鍵詞:

[責(zé)任編輯:]

相關(guān)閱讀