圖7. 基于性能數(shù)據(jù)的數(shù)據(jù)庫規(guī)格ScaleUp模型離線訓(xùn)練示意圖
圖8. 基于性能數(shù)據(jù)的數(shù)據(jù)庫規(guī)格ScaleUp實(shí)時(shí)推薦方法示意圖
2.3.2 ScaleOut決策算法
ScaleOut決策算法與ScaleUp決策算法的思路類似,本質(zhì)問題是確定增加多少個(gè)只讀節(jié)點(diǎn),能使實(shí)例當(dāng)前的workload負(fù)載降至合理的水位 。在ScaleOut決策算法里,我們同樣實(shí)現(xiàn)了基于規(guī)則的與基于分類的算法,分類算法的思想與2.3.1章節(jié)里描述的基本類似,基于規(guī)則的算法思想則如圖9.所示,首先我們需要確定與讀流量最相關(guān)的指標(biāo),這里選取的是com_select、qps及rows_read指標(biāo),s_i表示第i個(gè)節(jié)點(diǎn)讀相關(guān)指標(biāo)的表征值,c_i表示第i個(gè)節(jié)點(diǎn)的目標(biāo)約束表征值(通常使用CPU使用率、RT等直接反應(yīng)業(yè)務(wù)性能的指標(biāo)),f指目標(biāo)函數(shù),算法的目標(biāo)便是確定增加多少個(gè)只讀節(jié)點(diǎn)X,能使整個(gè)集群的負(fù)載降至f函數(shù)確定的范圍 。該計(jì)算方法明確且有效,算法上線后,以變配后集群的CPU負(fù)載是否降至合理水位作為評估條件,算法的準(zhǔn)確率達(dá)到了85%以上,在確定采取ScaleOut變配方式后,ScaleOut決策算法新增的只讀節(jié)點(diǎn)基本都能處于“恰好飽和”的工作負(fù)載,能夠有效的提升數(shù)據(jù)庫實(shí)例的吞吐 。
圖9. 基于性能數(shù)據(jù)的數(shù)據(jù)庫節(jié)點(diǎn)數(shù)量ScaleOut推薦算法示意圖
3. 落地3.1 實(shí)現(xiàn)架構(gòu)
Autoscaling能力集成在DAS服務(wù)里,整個(gè)服務(wù)涉及異常檢測、全局決策、Autoscaling服務(wù)、底層管控執(zhí)行多個(gè)模塊,如圖10.所示是DAS Autoscaling的服務(wù)能力架構(gòu) 。異常檢測模塊是DAS所有診斷優(yōu)化服務(wù)(Autoscaling、SQL限流、SQL優(yōu)化、空間優(yōu)化等)的入口,該模塊會(huì)7*24小時(shí)對監(jiān)控指標(biāo)、SQL、鎖、日志及運(yùn)維事件等進(jìn)行實(shí)時(shí)檢測,并會(huì)基于AI的算法對其中的趨勢如Spike、Seasonaliy、Trend及Meanshift等進(jìn)行預(yù)測及分析;DAS的全局決策模塊會(huì)根據(jù)實(shí)例當(dāng)前的workload負(fù)載給出最佳的診斷建議;當(dāng)由全局決策模塊確定執(zhí)行Autoscaling操作時(shí),則會(huì)進(jìn)入到第2章節(jié)介紹的Autoscaling工作流程,最終通過數(shù)據(jù)庫底層的管控服務(wù)來實(shí)現(xiàn)實(shí)例的擴(kuò)、縮容 。
圖10. DAS及AutoScaling的服務(wù)能力架構(gòu)
3.2 產(chǎn)品方案
本章節(jié)將介紹Autoscaling功能在DAS里的開啟方式 。如圖11.所示是DAS的阿里云官網(wǎng)產(chǎn)品首頁,在該界面可以看到DAS提供的所有功能,如“實(shí)例監(jiān)控”、“請求分析”、“智能壓測”等等,點(diǎn)擊“實(shí)例監(jiān)控”選項(xiàng)可以查看用戶接入的所有數(shù)據(jù)庫實(shí)例 。我們點(diǎn)擊具體的實(shí)例id鏈接并選擇“自治中心”選項(xiàng),可以看到如圖12.及圖13.所示的PolarDB自動(dòng)擴(kuò)、縮容設(shè)置及RDS-MySQL自動(dòng)擴(kuò)容設(shè)置,對于PolarDB實(shí)例,用戶可以設(shè)置擴(kuò)容規(guī)格上限、只讀節(jié)點(diǎn)數(shù)量上限、觀測窗口及靜默期等選項(xiàng),對于RDS-MySQL實(shí)例,用戶可以設(shè)置觸發(fā)閾值、規(guī)格上限及存儲(chǔ)容量上限等選項(xiàng) 。
圖11. DAS產(chǎn)品首頁
圖12. PolarDB自動(dòng)擴(kuò)、縮容設(shè)置圖示
圖13. RDS-MySQL自動(dòng)擴(kuò)、縮容設(shè)置圖示
3.3 效果案例
本章節(jié)將介紹兩個(gè)具體的線上案例 。如圖14.所示為線上PolarDB實(shí)例的計(jì)算規(guī)格Autoscaling觸發(fā)示意圖,在05:00-07:00的時(shí)間段,實(shí)例的負(fù)載慢慢上升,最終CPU使用率超過了80%,在07:00時(shí)觸發(fā)了自動(dòng)擴(kuò)容操作,后臺(tái)的Autoscaling服務(wù)判斷實(shí)例當(dāng)前讀流量占主導(dǎo),于是執(zhí)行了ScaleOut操作,為集群增加了兩個(gè)只讀節(jié)點(diǎn),通過圖示可以看到,增加節(jié)點(diǎn)后集群的負(fù)載明顯下降,CPU使用率降至了50%左右;在之后的2個(gè)小時(shí)里,實(shí)例的業(yè)務(wù)流量繼續(xù)增加,導(dǎo)致實(shí)例負(fù)載繼續(xù)在緩慢上升,于是在09:00的時(shí)候再次達(dá)到了擴(kuò)容的觸發(fā)條件,此時(shí)后臺(tái)服務(wù)判斷實(shí)例當(dāng)前寫流量占主導(dǎo),于是執(zhí)行了ScaleUp操作,將集群的規(guī)格由4核8GB升級到8核16GB,由圖示可以看到規(guī)格升級后實(shí)例的負(fù)載趨于穩(wěn)定,并維持了近17個(gè)小時(shí),之后實(shí)例的負(fù)載下降并觸發(fā)了自動(dòng)回縮操作,后臺(tái)Autoscaling服務(wù)將實(shí)例的規(guī)格由8核16GB降至4核8GB,并減少了兩個(gè)只讀節(jié)點(diǎn) 。Autoscaing服務(wù)在后臺(tái)會(huì)自動(dòng)運(yùn)行,無需人工干預(yù),在負(fù)載高峰期擴(kuò)容、在負(fù)載低谷時(shí)回縮,提升業(yè)務(wù)穩(wěn)定性的同時(shí)降低了用戶的成本 。
以上關(guān)于本文的內(nèi)容,僅作參考!溫馨提示:如遇健康、疾病相關(guān)的問題,請您及時(shí)就醫(yī)或請專業(yè)人士給予相關(guān)指導(dǎo)!
「愛刨根生活網(wǎng)」www.malaban59.cn小編還為您精選了以下內(nèi)容,希望對您有所幫助:- mysql定時(shí)備份數(shù)據(jù)庫命令 mysql數(shù)據(jù)庫自動(dòng)備份方法
- 阿里云服務(wù)器租用費(fèi)用 阿里云服務(wù)器怎么樣
- 一人被批捕一人被監(jiān)視居住 阿里女員工案王某文為何未被批捕
- 盤點(diǎn)阿里的10個(gè)賺錢項(xiàng)目 阿里創(chuàng)業(yè)平臺(tái)怎么賺錢
- 阿里女員工案王某文為何未被批捕?律師回應(yīng):反映檢察院對該案慎重
- 阿里女員工案王某文為何未被批捕?檢方和代理律師回應(yīng)
- 阿里女員工案王某文為何未被批捕
- 阿里女員工被侵害案:1名嫌犯被批捕
- 數(shù)據(jù)庫數(shù)據(jù)去重方法 mysql查詢?nèi)ブ睾蟮目倲?shù)
- 數(shù)據(jù)庫遷移的兩種方法 oracle數(shù)據(jù)庫遷移方案對比
