金融行業的信創升級正逐步深化,已從最初的周邊系統替換,發展至對關鍵及核心業務系統的全面替代。在這一過程中,分布式架構成為構建關鍵核心業務系統的首選。而消息隊列(MQ)中間件作為這一架構中的基礎平臺,對于實現業務系統的解耦和模塊化拆分,發揮著至關重要的作用。
用戶將X86平臺下的MQ移植到信創平臺下,性能表現如何?近期,深信服攜手華銳技術完成了采用深信服信創超融合承載華銳AMQ分布式低時延消息中間件的兼容、可靠性驗證,本文將分享相關的測試結果與調優思路,為金融用戶在選型中提供參考。
華銳技術是分布式基礎軟件公司和證券資管行業核心業務平臺提供商,自主研發的分布式架構下低時延消息隊列產品AMQ,功能對標IBM MQ、Active MQ、Rocket MQ和Kafka等隊列產品,并在可用性、可靠性、性能和靈活性方面都有明顯提升,廣泛的應用在銀行、證券、基金等關鍵行業的核心場景。
業務系統介紹
消息隊列MQ(Message Queue)正成為企業IT系統通信的核心,以其低耦合性、可靠的消息傳遞、廣播能力、流量控制和確保最終數據一致性的特點,支持異步RPC通信。它由生產者創建消息,消息服務端負責存儲和分發,消費者則接收并根據消息執行業務邏輯,共同構成了消息隊列的基本運作流程。
除以上三個核心組件外,華銳AMQ產品提供控制管理中心(Domainserver)。該中心統一管理多套消息服務器集群,負責系統的配置、監控和系統運維。
MQ的典型應用場景主要有三個:
1. 流量削峰:在高峰期將流量限制在系統可承受的范圍內,避免因為突發的大量請求導致系統崩潰。
2. 應用解耦:將系統中的不同模塊解耦,使得可以獨立地進行開發、部署和升級
3. 異步處理:主要應用于實時性要求不嚴格的場景,發送方將消息發送到隊列后即可繼續執行其他任務,而不需要等待接收方的即時響應。這種異步通信方式提高了系統的響應速度和吞吐量,使得系統能夠更好地處理大量并發請求。
測試環境介紹
AMQ應用集群部署環境
本次測試采用Master - Slave 主從同步部署,生產者將消息寫入到 Master 節點,Master 會同步數據到 Slave 形成副本,如果有多個消費者就可以去不同的節點進行消費。
AMQ虛擬機資源配置
虛擬機MQ_1部署Producer和Consumer以及壓測軟件,虛擬機MQ_2和MQ_3部署AMQ Master和Slave集群軟件。
AMQ虛擬機資源配置
超融合服務器資源配置
超融合服務器采用標準部署架構,架構圖及軟硬件配置如下:
X86裸金屬資源配置
采用2臺物理服務器,主從架構部署AMQ 集群,配置為CPU Intel Xeon Gold 6132@2.60GHz + Intel Xeon Gold 6246@3.40GHz,以及1臺壓測機進行壓測。
測試方法介紹
部署三臺鯤鵬服務器。
在鯤鵬服務器01上,開通一臺虛擬化服務器,啟動生產者(Producer)和消費者(Consumer)進程,并運行AMQ_Perf工具,構建壓測機。
在鯤鵬服務器02和03上,各開通一臺虛擬化服務器,部署AMQ集群,并且在AMQ集群開啟持久化。通過AMQ_Perf工具可以實現生產者(Producer)不同速率下消息發送,以及統計消費者(Consumer)接收不同消息發送速率下的時延結果、吞吐量。
主要測試不同TPS壓力下的響應時間&時延。響應時間即完成一次事務所需要的時間。一般從AVG、PCT90、PCT95、PCT99(PCT99可以簡稱P99)等多個維度去看。我們主要關注AVG和PCT99兩個指標,其中AVG指標為P50\P90\P95\P99平均值。
- AVG指標:
表示平均時延(Latency),通常用于衡量消息處理的平均時間,包括消息從生產者發送到消費者接收并處理的整個過程。消息處理的平均時間是衡量MQ性能的重要指標,因為它直接影響到消息的延遲和系統的響應時間。一個較低的平均處理時間,意味著系統能夠更快地處理消息,從而提高整體的吞吐率和效率。
- PCT指標:
在MQ中間件中,PCT通常用于衡量消息處理時間的分布情況,可以反映消息隊列在保證消息可靠傳遞方面的表現。例如,P95、P99等表示95%或99%的消息處理時間低于某個值。這種指標有助于識別系統中的異常情況和性能瓶頸。通過分析PCT,可以了解大多數消息的處理時間以及少數消息的延遲情況,從而優化系統配置和資源分配,確保系統的高可用性和穩定性
值得一提的是,全鏈路時延統計的方法是將生產者(Producer)和消費者(Consumer)部署在同一虛擬機中,通過生產者(Producer)產生消息信息,發送到AMQ集群,消費者(Consumer)獲取消息信息,即記錄一次時延,從而獲取批量發送不同數據包場景下的時延情況。時延=消費者(Consumer)獲取到時間 - 生產者(Producer)產生消息時間。
通過AVG和P99指標數據,以便更客觀評價華銳AMQ在深信服信創超融合平臺上的性能表現。
測試內容介紹
本次測試的內容主要通過以下場景進行測試和對比,獲取不同TPS下,AVG和PCT99:
場景一:測試在X86裸金屬運行RedHat系統下,AMQ的AVG和PCT99數據表現。
場景二:測試在未對超融合平臺進行優化情況下,采用深信服信創超融合平臺,創建麒麟虛擬機運行AMQ的AVG和PCT99數據表現。
場景三:測試在對超融合平臺進行調優情況下,采用深信服信創超融合平臺,創建麒麟虛擬機運行AMQ的AVG和PCT99數據表現。
通過以上三個場景的對比,可直觀地查看在采用深信服信創超融合平臺與X86裸金屬架構下,承載AMQ產品在小規模TPS,中等規模TPS,以及極限45W TPS規模下的性能表現。
測試結果介紹
從測試場景一的X86裸金屬架構測試結果中可以看出,45W消息速率下,已經達到了極限速率,此時p99的波動變大,出現X86服務器由于波動造成時延更高的情況。
從測試場景二的采用深信服信創超融合(未調優)的測試結果中可以看出,在未調優的情況下,高壓力超過15W TPS的P99響應時間波動大,時延達到秒級,不滿足使用要求,在超過15W TPS情況下未記錄數據。
從測試場景三的采用深信服信創超融合平臺(調優)的測試結果中可以看出,調優之后,高壓力超過15W TPS的P99響應時間波動小。
效果對比
將X86裸金屬架構下的avg(us)和深信服信創超融合對比:
TPS在小于20W小壓力場景下,深信服信創超融合性能略低于X86裸金屬架構。
TPS在20W到35W之間,深信服信創超融合比X86裸金屬架構性能提升10%。
TPS在45W高壓力的場景下,深信服信創超融合比X86裸金屬架構性能提升37%。
通過將X86裸金屬架構下的P99(us)和深信服信創超融合對比:
TPS在性能極限45W以下,低于X86裸金屬架構性能30%。
TPS在45W,深信服信創超融合比X86裸金屬性能提升20%。
出現上述結果原因是,AMQ使用單核輪詢的方式去處理消息,依賴于CPU的單核性能,而ARM的單核性能通常比X86服務器要差,所以avg時延會略微高于X86。
p99統計的是消息中時延最高的那一部分,這一部分通常是由于消息得不到CPU的及時處理導致了時延增加,對于單核性能的差距更加敏感。
從avg和P99指標來看,當TPS的壓力越大,如avg的指標在大于35W時,P99的指標在極限45W時,深信服信創超融合平臺性能會優于X86裸金屬架構。在高壓力場景下,深信服對超融合平臺和虛擬機進行調優設置,保障資源能夠得到有效的處理,調優手段如下:
1. 鯤鵬服務器的硬件設置調整:
對于鯤鵬服務器的調整修改BIOS設置(參考鯤鵬最佳實踐文檔)、電源策略修改為性能模式、內存刷新速率改為自動以提升服務器的處理能力。
2. 對于超融合平臺調整:
由于AMQ性能參考為延時,主要主要聚焦在網絡的調整,包括aNet網絡的轉發核心調整到四核提升網絡吞吐、網絡轉發核位置調整到numa0,與網卡所在的numa一致(降低內存時延,消除網卡跨numa的開銷);開啟物理網卡切分,虛擬機使用直通的VF網卡。
3. 超融合虛擬機設置調整:
聚焦在CPU的調度、CPU預留、將AMQ標記為重要虛擬機保證性能,開啟虛擬機網絡親和;其中CPU預留和標記重要虛擬機,保證在性能搶占情況下資源分配,以提升性能。
聯合測試結論
對比華銳AMQ行業內的最佳實踐“30W TPS情況下的平均時延小于100us”,華銳AMQ與深信服信創超融合的性能聯合調優測試表現,高于華銳AMQ的參考值水平。
在深信服信創超融合和X86性能對比中,深信服信創超融合得益于對平臺調優,壓力越大性能表現越好,尤其在極限45W TPS場景下,avg性能為29us,P99性能表現為85us,能夠滿足生產的場景的需求。
云朋友 實干派是深信服打造的一檔生態伙伴技術內容專欄,將定期為大家推送合作伙伴性能調優相關的技術解析、場景實踐等內容,為大家深度解析深信服在云計算領域的創新能力、技術動態、場景應用及前瞻分析。