在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

RocketMQ on openEuler提供高性能消息隊列的穩定性解決方案

openEuler ? 來源:openEuler ? 2023-06-28 10:57 ? 次閱讀

RocketMQ on openEuler,是一種將 RocketMQ 消息中間件通過容器化的方式部署在 openEuler 操作系統上運行,借助 openEuler 系統對于 OS 緩存回收效率增強的內核特性,提升消息中間件在面向超大規模高并發、高吞吐量、低延遲場景下穩定性和可靠性的軟件解決方案。

RocketMQ 消息隊列在穩壓測試中遇到的 OOM 問題

移動云 RocketMQ 消息隊列產品正式上線前,通過壓測工具,創建多組生產者/消費者進程對 RocketMQ 獨享集群做多輪性能和穩定性的壓力測試。

測試環境

590e597c-14dc-11ee-962d-dac502259ad0.jpg

壓測結果

在某次持續長時間的壓測過程中,發現消息收發吞吐,在一段時間內的某一時刻會出現大幅度 TPS(生產/消費)抖動下降的現象,并且是周期性的。

5945ecb6-14dc-11ee-962d-dac502259ad0.png

移動云 RocketMQ 消息隊列一直都比較穩定運行,為何在高并發的壓測下也會出現 TPS 的抖動?我們初步懷疑是 CPU 負載或者 RocketMQ Broker 組件 GC 頻率過高導致,但通過查看 CPU 負載和 JVM GC 頻率并未發現任何異常。最終,經過排查發現是由于 Broker Pod 進程中的 buff/cache 在持續長時間壓測下不斷增加,系統無法及時有效回收,導致 Pod 中的運行進程占用內存空間超出預先設置的 Limit 限制,觸發了 OOM Killer 機制重啟了 Broker Pod。

RocketMQ on openEuler—解決大規模高并發場景下提升穩定性的新選擇

為何在持續高并發下進行消息收發會導致系統的 buff/cache 的持續增加?通過翻閱操作系統手冊,可知 buff/cache 主要體現在系統的 PageCache 上。

PageCache 在 RocketMQ 消息存儲中的重要作用

PageCache 也叫頁緩沖或文件緩沖,在 linux 讀寫文件時,它用于緩存文件的邏輯內容,從而加快對磁盤上映像和數據的訪問。

5973da0e-14dc-11ee-962d-dac502259ad0.png

上圖中,紅色部分即為,PageCache。可見 PageCache 的本質是由 Linux 內核管理的內存區域。平時我們寫的各種程序,通過 mmap 及 buffered I/O 將文件讀取到內存空間實際上都是讀取到 PageCache 中。為了在大規模高并發場景下實現實現低延遲、高吞吐的目標,RocketMQ 消息隊列的存儲模塊主要采用如下兩種方案。

「Mmap + PageCache 的消息并發讀寫方案」:在該方案中,消息的讀寫流程都會經過 PageCache。在多線程并發讀寫的場景下,PageCache 不可避免會有鎖的問題,尤其是在維護 PageCache 一致性時,系統回刷臟頁時磁盤壓力較高,會導致出現毛刺現象。

「堆外內存池化技術 + PageCache 的消息讀寫分離方案」:消息寫入時候寫至 RocketMQ 啟動時創建的堆外內存塊(DirectByteBuffer)中,同時消息從 PageCache 中讀取。這樣,消息讀寫分離使得整體流程并發性更好,有效降低時延,同時利用堆外內存池減少了用戶態與內核態的切換開銷。

PageCache 在 RocketMQ 消息隊列的存儲層扮演著舉足輕重的作用,一旦系統的 PageCache 出現問題(如緩存回收、一致性和缺頁中斷等問題),都會對消息收發的主要流程造成嚴重的影響。

openEuler 系統在緩存回收效率方面的優化

為了防止 PageCache 申請過多(默認無限制)將可靠內存耗盡,需要對 PageCache 的總量及使用可靠內存總量進行限制。相對于 CentOS 系統內核無法對未超出 node 節點內存資源的 PageCache 進行及時回收,openEuler 針對 PageCache 的回收增加了相關的系統內核參數,并為限制 PageCache 使用量的功能提供若干 proc 接口,接口定義在/proc/sys/vm/下,用來控制 PageCache 的使用量,具體如下:

59b07cc0-14dc-11ee-962d-dac502259ad0.png

「cache_reclaim_enable」:表示 PageCache 限制的功能的使能開關;

「cache_reclaim_s」:表示定期觸發 cache 回收的時間,以秒為單位。系統會根據當前 online 的 cpu 個數來創建工作隊列,如果有 n 個 cpu 則創建 n 個工作隊列,每個工作隊列每隔 cache_reclaim_s 秒進行一次回收。該參數與 cpu 上下線功能兼容,如果 cpu offline,則會減少工作隊列個數;反之,cpu online 則會增加工作隊列個數。

「cache_reclaim_weight」:表示每次回收的權值,內核每個 CPU 每次期望回收 32 * cache_reclaim_weight 個 page。該權值同時作用于 page 上限觸發的回收和定期 pageCache 回收;

RocketMQ on openEuler 方案在生產環境中的驗證

為解決遇到的 OOM 問題,我們針對獨享集群所在機器進行了操作系統內核版本的升級,更新至最新的 BC-Linux for Euler 21.10 版本(BC-Linux for Euler 是移動云操作系統團隊以 openEuler 社區操作系統為基礎,借助開源社區的開放優勢,通過定制化方式研發的企業級 Linux 操作系統)。更新系統后,采用兩種消息體(1Kb 和 4Kb)分別對同樣的測試環境進行長時間的壓測。

測試場景 1

測試消息大小 1Kb 消息收發性能及長時間壓測穩定性,測試中,獨享集群能夠達到收發消息總和 TPS 為 2w+TPS(其中發送消息 1w+TPS,消費消息 1w+TPS)。消息生產和消費的速度規律,如下圖所示:

59ca8fac-14dc-11ee-962d-dac502259ad0.png

從圖中可見在消息體大小為 1Kb 的消息時,消息生產和消費速度在長時間壓測下沒有抖動,TPS 保持平穩,整個壓測時間服務正常。

測試場景 2

測試消息大小 4Kb 消息收發性能及長時間壓測穩定性,測試中,集群能夠達到收發消息總和 TPS 為 1.4w+ TPS(其中發送消息 0.7w+TPS,消費消息 0.7w+TPS)。消息生產和消費的速度規律,如下圖所示:

59faf926-14dc-11ee-962d-dac502259ad0.png

從圖中可見在消息體大小為 4Kb 的消息時,消息生產和消費速度長時間壓測沒有抖動,TPS 保持平穩,整個壓測時間服務正常。

總結

移動云 RocketMQ 消息隊列的獨享實例在 22 年已完成了云原生化的完全升級,特別適合云原生、Serverless 化架構和大數據流計算的技術演進與相關應用場景。目前,RocketMQ on openEuler 的解決方案已在廣州 3 AZ2、呼和浩特、北京、杭州等多個資源池上線且完成了部分存量服務器的遷移與改造升級。后續,移動云 RocketMQ 消息隊列并將不斷提升服務質量,為廣大客戶創造更多的價值。歡迎大家多多關注。

審核編輯:湯梓紅

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 內核
    +關注

    關注

    3

    文章

    1401

    瀏覽量

    40860
  • cpu
    cpu
    +關注

    關注

    68

    文章

    10995

    瀏覽量

    214846
  • 容器
    +關注

    關注

    0

    文章

    503

    瀏覽量

    22301
  • 消息隊列
    +關注

    關注

    0

    文章

    33

    瀏覽量

    3047
  • openEuler
    +關注

    關注

    2

    文章

    323

    瀏覽量

    6145

原文標題:RocketMQ on openEuler 提供高性能消息隊列的穩定性解決方案

文章出處:【微信號:openEulercommunity,微信公眾號:openEuler】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    LED燈具的性能穩定性測試

    穩定性測試。費思方案設備:電源:FTG系列電源。FTP系列電源(供電)負載:FT6100系列多通道電子負載,(用于分配個通道電流)實現原理:負載能夠精準快速的控制回路中的電流,實現恒流輸出。并且可以實現
    發表于 12-07 15:00

    高性能頻率補償使DC-DC轉換器具有75μs的高穩定性響應

    DN53- 高性能頻率補償使DC-DC轉換器具有75μs的高穩定性響應
    發表于 07-16 16:10

    電子穩定性控制系統ESC解決方案

    電子穩定性控制系統ESC解決方案 電子穩定性控制系統(ESC)幫助駕駛員保持對于汽車的控制。通過采用一個微控制器,一套用于測量汽車輛橫向和縱向加速度
    發表于 04-12 15:22 ?5466次閱讀
    電子<b class='flag-5'>穩定性</b>控制系統ESC<b class='flag-5'>解決方案</b>

    穩定性的高速激光打碼機解決方案

    穩定性的高速激光打
    發表于 01-07 17:13 ?0次下載
    高<b class='flag-5'>穩定性</b>的高速激光打碼機<b class='flag-5'>解決方案</b>

    高性能慣性導航和穩定性

    無人機和其他無人應用需在惡劣環境中工作,為了滿足精密穩定性和導航要求,能夠抑制振動、沖擊和溫漂的高性能MEMS必不可少。
    的頭像 發表于 06-04 13:47 ?4663次閱讀

    滿足無人機應用的高性能慣性導航和穩定性高性能MEMS技術

    無人機和其他無人應用需在惡劣環境中工作,為了滿足精密穩定性和導航要求,能夠抑制振動、沖擊和溫漂的高性能MEMS必不可少。
    的頭像 發表于 08-05 06:12 ?2664次閱讀

    什么是熱電偶穩定性?如何檢測熱電偶穩定性

    在規定的條件下,熱電特性變化大即表明穩定性差,變化小則表明穩定性良好。熱電偶的穩定性好壞會直接影響到熱電偶測量的準確性,因此,穩定性是衡量熱電偶性能
    發表于 12-31 09:19 ?2803次閱讀
    什么是熱電偶<b class='flag-5'>穩定性</b>?如何檢測熱電偶<b class='flag-5'>穩定性</b>?

    DN53-高性能頻率補償為DC-DC轉換器提供75μs的高穩定性響應

    DN53-高性能頻率補償為DC-DC轉換器提供75μs的高穩定性響應
    發表于 04-30 10:01 ?9次下載
    DN53-<b class='flag-5'>高性能</b>頻率補償為DC-DC轉換器<b class='flag-5'>提供</b>75μs的高<b class='flag-5'>穩定性</b>響應

    HPC SIG致力openEuler上的高性能計算軟件生態

    提供的便捷、穩定的相關開源軟件包。 目前參與成員有華為 HPC 解決方案成員,并拓展了眾多高校參與,如上海交大、浙江大學、蘭州大學
    的頭像 發表于 09-26 09:37 ?2281次閱讀

    恒溫晶振對溫度穩定性解決方案

    恒溫晶振(OCXO; KO系列) 對溫度穩定性解決方案采用了恒溫槽技術: 將晶體置于恒溫槽內,通過設置恒溫工作點,使槽體保持恒溫狀態。
    的頭像 發表于 09-09 14:31 ?2013次閱讀

    怎么分析電路的穩定性

    怎么分析電路的穩定性?? 電路的穩定性是指電路在不同條件下保持穩定的能力。穩定性是電路設計中十分重要的一個方面,因為穩定的電路能夠
    的頭像 發表于 09-17 16:44 ?2377次閱讀

    如何權衡阻抗控制性能穩定性的關系

    阻抗控制性能提升后對穩定性有怎樣的影響?如何權衡阻抗控制性能穩定性的關系? 當阻抗控制性能提升時,往往需要更高的控制增益來實現更快的響應和
    的頭像 發表于 11-14 15:26 ?1244次閱讀
    如何權衡阻抗控制<b class='flag-5'>性能</b>與<b class='flag-5'>穩定性</b>的關系

    IXXAT NT系列高穩定性網關網橋解決方案

    IXXAT NT系列高穩定性網關網橋解決方案
    的頭像 發表于 12-22 14:00 ?678次閱讀
    IXXAT NT系列高<b class='flag-5'>穩定性</b>網關網橋<b class='flag-5'>解決方案</b>

    DC/DC轉換器中輸入濾波器穩定性問題的簡單解決方案

    電子發燒友網站提供《DC/DC轉換器中輸入濾波器穩定性問題的簡單解決方案.pdf》資料免費下載
    發表于 10-14 10:05 ?0次下載
    DC/DC轉換器中輸入濾波器<b class='flag-5'>穩定性</b>問題的簡單<b class='flag-5'>解決方案</b>

    庫存平臺穩定性建設實踐

    作者:京東物流 尹昊喆 前言 本文總結庫存平臺穩定性建設中遇到的問題以及解決方案。感謝【金鵬】、【孫靜】、【陳瑞】同學在本文撰寫中提供的內容及幫助! 庫存平臺面臨的穩定性挑戰 庫存平臺
    的頭像 發表于 12-11 09:50 ?401次閱讀
    庫存平臺<b class='flag-5'>穩定性</b>建設實踐
    主站蜘蛛池模板: 日本不卡视频在线视频观看 | 国产小视频在线看 | 四虎影视最新地址 | 欧美猛交xxxx免费看 | 美女黄网站人色视频免费国产 | 欧美女人天堂 | 人人澡人人澡人人看青草 | 欧美三级视频网 | 午夜大片免费完整在线看 | 欧美成人激情在线 | 国产手机在线国内精品 | 永久免费人成网ww555kkk手机 | 天天cao在线 | 色老头性xxxx老头视频 | 22eee在线播放成人免费视频 | 福利视频一区二区三区 | 99在线国产视频 | 色偷偷91久久综合噜噜噜 | 亚洲成人高清 | 国产一区二区三区 韩国女主播 | 永久黄网站色视频免费 | 在线观看视频你懂的 | 亚洲精品久久久久午夜三 | 在线播放网址 | 狠狠色丁香婷婷综合橹不卡 | 久久青| 色yeye在线观看 | 欧美一区二区在线观看视频 | 天天插天天插 | 成人毛片一区二区三区 | 亚洲人成网站在线 | 国产20岁美女一级毛片 | 日本三级三级三级免费看 | 在线免费观看毛片网站 | 好男人www社区影视在线 | 看毛片网站 | 亚洲天天做日日做天天看2018 | 男人操女人免费 | 欧美伦理一区二区三区 | 天天弄| 亚洲人色大成年网站在线观看 |