






摘要:存算分離架構的消息隊列被廣泛應用于運營商的核心計費業務場景,其對消息隊列的穩定性要求極高,對異常的容忍度非常低。因此,快速識別、定位消息隊列的性能異常并及時止損就變得愈發重要。針對消息隊列性能異常的問題,傳統的方式是根據消息隊列集群指標設定告警閾值。此方式依賴專家進行規則配置,無法根據不同的集群規模和業務場景靈活、動態地調整規則或閾值,也無法預測消息隊列的性能發展趨勢,因此,極易造成重大故障。基于 AI 的消息隊列性能預測能力,可以基于消息隊列的歷史表現情況,對關鍵指標進行7×24小時巡檢,能夠在性能異常尚在萌芽狀態就發現風險,實現性能異常的提前暴露。當消息隊列性能偏離正常范圍時,能夠及時發出警報,輔助運維人員在問題惡化前進行準確定位并及時止損。同時,根據性能預測結果可以對資源進行合理規劃,有效地治理集群,找出性能瓶頸,有針對性地進行性能優化。本文利用 AI 算法,設計了基于存算分離構架消息隊列的性能預測模型,能夠在消息隊列集群正常運行狀態下,對未來一段時間內的性能做出較為準確的預測,從而有效預防未來可能出現的性能問題。
關鍵詞:存算分離;消息隊列;性能預測;治理集群;性能優化
一、 引言
運營商計費系統由預處理、分揀、批價、扣款、入庫等多個模塊組成。各模塊之間的數據以話單文件為單位在 NAS 盤上傳輸,模塊之間的耦合度較高。隨著 5G 網絡的普及、話單量的迅速增長和業務場景的日趨復雜,對共享文件存儲的依賴性日益提高,導致NAS 逐漸出現 I/O 瓶頸,使得計費系統無法線性擴展。為解決以上問題,通過引入消息隊列對計費系統模塊進行解耦,以期提升系統性能和擴展性。在云原生和 Serverless 時代,存算分離架構的消息隊列能夠支持按照流量和存儲進行獨立的線性擴展。本文以云原生消息隊列為代表,介紹了對消息隊列進行性能預測的意義,具體包括:
(一)資源優化和成本效益
通過性能預測,可以準確評估云原生消息隊列在不同業務場景負載下的資源需求,幫助用戶合理配置和調整資源,避免不必要的成本浪費。
(二)可伸縮性
通過性能預測,用戶可以了解云原生消息隊列在不同規模和負載下的表現,以便根據業務需求進行流量和存儲空間的動態擴/縮容,確保系統能夠靈活應對負載變化。
(三)性能優化和調優
性能預測可以幫助識別云原生消息隊列系統中的性能瓶頸和潛在問題,指導用戶進行性能優化和調優工作。針對特定的工作負載和場景,可以調整系統參數、配置和算法,提高系統的性能和效率。
(四)容量規劃和資源利用
云原生環境中的資源是有限的。通過性能預測,用戶可以更好地規劃云原生消息隊列的容量,合理利用云資源,確保系統能夠滿足業務增長的需求。
(五)自動化和智能運維
性能預測可以為自動化的資源調配、彈性擴/縮容等操作提供數據支持,實現更智能的系統運維。
(六)應用性能保障
無論是在云原生環境還是 Serverless 架構中,應用的性能對于用戶體驗和業務開展至關重要。因此,性能預測是實現高效、可靠和可擴展的云原生應用的關鍵手段之一。
本文以計費業務系統目前使用的云原生消息隊列為研究對象,基于歷史表現情況,利用AI 算法對關鍵指標進行分析預測,并根據預測結果,實現優化資源利用、確保可伸縮性、進行性能優化、規劃容量、實現智能運維、保障應用性能等目標。
二、 建模思路
(一)模型介紹
性能預測模型歸屬于時間序列預測模型。該預測模型通過編制和分析時間序列,以時間序列所反映的發展過程、方向和趨勢為基礎,類推或延伸下一段時間可能達到的水平。根據實際應用場景,通過對數據周期性、季節性、不規則性的分析以及對業務背景的了解,本方案采用線性回歸模型對消息隊列集群過去7天的5分鐘顆粒度指標進行分析,輸出未來一天的預測結果。
本文采用ARIMA模型對未來一段時間內的性能指標進行預測。結合了自回歸(AR)機制、移動平均(MA)策略與差分(I)技術,通過差分處理使原始的非平穩時間序列數據得以轉化為平穩形態,推導出差分自回歸移動平均模型ARIMA(p,d,q),括號內d表示對數據進行差分處理的階數。ARIMA模型預測流程圖如圖1。
自回歸模型(AR)是一種時間序列分析工具,它揭示當前值與歷史值之間的關聯性,通過變量本身的歷史數據來預測其未來的趨勢。此模型的應用基于一個核心前提:時間序列數據需滿足平穩性條件。
回歸模型(AR)在構建時,首先需要確定一個關鍵參數—階數p。這個階數p代表了我們在預測當前值時,將回溯并使用多少期的歷史數據。p階自回歸模型的公式定義為:
自回歸模型在應用時確實面臨一些局限性和前提條件:
1、自我預測特性:自回歸模型主要依賴變量自身的歷史數據來進行預測。這種自我預測的方式雖然簡潔,但可能限制了模型捕捉外部影響因素的能力。
2、平穩性要求:為了確保預測的準確性,時間序列數據必須滿足平穩性的條件。這意味著數據的統計特性(如均值、方差)在時間上是恒定的。如果數據呈現非平穩性,自回歸模型的預測效果可能會大打折扣。
3、適用范圍限制:自回歸模型最適合用于預測那些與自身前期緊密相關的現象。對于受到外部隨機因素或復雜系統動態影響的時間序列,自回歸模型可能無法提供準確的預測。此外,它也不適用于具有長期記憶性或非線性特征的數據。
(二)評估方法
在選擇某種特定的方法進行預測時,主要通過比較預測值與實際值之間的差距,即預測誤差來評價。最優的預測方法是指預測誤差最小的方法。常用的評估標準有:
1.平均絕對誤差MAE
其中,y是觀測值,yhati是預測值,n是預測值個數。
2.均方根誤差RMSE
3.平均絕對百分誤差MAPE
基于本項目的應用場景,時間序列算法的數值預測均適用于以上三種評估方法,其中,MAE最為常用;MAPE比較好理解,且MAPE通過轉換即可得到平均準確率,因此,本文后續將以MAPE為基礎,通過準確率來進行模型評估。
(三)模型思路
首先,分析消息隊列各指標的數據波動情況,確定使用機器學習的方式進行預測。
其次,針對使用機器學習方式預測的指標,根據歷史數據特征確定時序模型,并對數據進行平穩性檢驗和白噪聲檢驗,以保證數據符合時序預測標準。
最后,利用訓練集樣本構建合適的時間序列預測模型,輸出未來天數的指標預測值,并通過測試樣本對模型效果進行評估。
三、 建模過程
(一)樣本數據準備
用于預測消息隊列性能的指標數據取2024-01-24到2024-01-30的數據為訓練集,之后的數據為測試集。
(二)數據描述性分析
圖2為消息隊列各指標2024-01-24到2024-01-30的歷史數據的指標分布圖。運營商的業務分為忙時和閑時。通常情況下,白天忙時是網絡繁忙的時間段,這時候通過手機上網的人群比較多,屬于上網高峰時間段;晚上閑時是上網低峰時段。從圖2可以看出,數據變化主要呈現周期性狀態。
(三)數據預處理
1.缺失值處理
時間序列預測需要保證數據無缺失。雖然目前所獲數據中均無缺失值,但算法流程中仍需配備缺失值處理機制。對于少量的隨機缺失數據,可采用線性插值的方式進行填充。這種方式對時序數據的原始規律性影響較小。
2.異常值處理
基于對應用場景的了解,性能指標數據理論應該大于等于0,對于小于0的數據,應將其刪除后采用線性插值的方式進行填充。
3.平穩性檢驗
時間序列通過分析隨機變量的歷史與當前狀態預測未來。假定這些變量狀態具代表性且可延續,其核心特征(如均值、方差、協方差)在未來應保持穩定,即平穩性。實踐中,平穩性檢驗多基于樣本值的統計特征分析,常用方法分為主觀圖形判斷和客觀統計檢驗。本場景采用客觀檢驗中的單位根檢驗,若顯著性水平小于0.05,則認為數據平穩。
4.白噪聲檢驗
如果一個時間序列是平穩的,接下來就要判斷數據是不是白噪聲。白噪聲表示數據為隨機性數據,沒有研究意義。通常可以通過LB檢驗來檢驗時間序列是否為白噪聲。若LB檢驗的p值小于0.05,則認為樣本時間序列數據非白噪聲。
綜上所述,消息隊列各性能指標均滿足平穩性檢驗,且為非白噪聲序列。
(四)建模構建
四、 模型評估
(一)模型效果
5個消息隊列性能指標均使用日數據進行預測。可以看出,隨著歷史數據的累計,性能指標預測的準確率也在逐步提升。根據模型評估結果,整體準確率在90%左右,還有優化空間。目前性能指標數據累計時間較短,待數據不斷累計之后,同時結合業務角度分析影響各指標值波動的關鍵因素,則可挖掘出更多的數據規律,通過構建更復雜的模型來提升預測準確率。
(二)性能預測應用
基于消息隊列的性能指標預測,方便用戶分析當前集群的性能和穩定性,能夠更好地治理集群。本模型允許用戶針對生產 TPS、消費 TPS、生產吞吐量、消費吞吐量和磁盤使用率創建容量規劃項,支持用戶對每個容量規劃項設置上限和預警水位。
用戶可以配置容量規劃任務,實現對特定集群的容量管理和預測告警,從而提前感知用量增長趨勢,提前規劃資源,從容應對擴/縮容操作。
在一些特殊情況下,用戶需要進行臨時業務規劃,這部分性能指標難以預測。容量規劃支持手動操作功能,幫助用戶調整預測曲線。
基于存算分離架構,可實時分析集群性能預測的指標。當磁盤使用率出現瓶頸時,通過增加磁盤或云存儲空間應對數據存儲的壓力。當網絡使用率出現瓶頸時,通過增加主機應對網絡傳輸的壓力。
五、 結束語
本文針對消息隊列性能預測進行了深入研究。通過分析和實驗,得出了以下結論:本文提出的一種基于機器學習的消息隊列性能預測方法,能夠準確預測消息隊列的性能指標。通過實驗驗證,本文提出的方法在不同場景下具有較高的準確性和泛化能力。本文的研究為消息隊列的性能優化和資源規劃提供了有價值的參考。當然,本文的研究還存在一些局限性,未來的研究可以從以下幾個方面進行深入探討:進一步提高預測模型的準確性和泛化能力,以適應更多、更復雜的實際場景;探索其他影響消息隊列性能的因素,并將其納入預測模型中;結合實際應用需求,開發更加實用的性能預測工具和系統。希望本文的研究能夠為消息隊列性能預測領域的發展作出貢獻,并為相關實踐提供有益的指導。
作者單位:王娟 中國移動通信集團江蘇有限公司
參考文獻
[1] 陳虹.模型預測控制[M].北京:科學出版社,2013.
[2] 席裕庚.預測控制(第 2 版)[M].國防工業出版社,2013.
[3] 冉小慶.Oracle 性能分析與預測研究[D].大連:大連海事大學,2003.
[4] 博克斯著,王成璋等譯.時間序列分析:預測與控制[M].機械工業出版社,2011.
[5] 張美英,何杰.時間序列預測模型研究綜述[J].數學的實踐與認識, 2011.41(18):189-195.
[6] 薛可,李增智,劉瀏,等.基于ARIMA模型的網絡流量預測[J].微電子學與計算機,2004,21(07):84-87.