MQTT 開放基準測試規範:全面評估你的 MQTT Broker 效能

EMQX發表於2023-04-23

引言

我們很高興地宣佈:由 EMQ 提供的 MQTT 開放基準測試規範現已正式釋出!

該測試規範包含了實用的典型使用場景、一套衡量 Broker 效能的主要指標,以及一個模擬負載和收集測試結果的工具,可以幫助開發者評估 MQTT Broker 的可擴充套件性和效能,從而選擇最需要和合適的產品。

客觀實用的 MQTT 負載測試方法

釋出/訂閱模式下,MQTT Broker 是連線裝置和傳輸物聯網資料的核心。隨著物聯網的普及,處理海量裝置及其產生的高速資料流充滿了挑戰,MQTT Broker 的可擴充套件性和效能也因此成為物聯網解決方案的關鍵。

在這一背景下,EMQ 提出了這套 MQTT 開放基準測試規範,旨在提供一種客觀且實用的 MQTT Broker 測試方法,它將透過以下主要優勢簡化 MQTT Broker 的負載測試:

提供開放實用的評估基準

儘管有許多研究論文和技術文章對 MQTT Broker 進行了評估和比較,但當前的基準測試通常只衡量一些特定的因素,並不能反映出大規模物聯網應用的真實場景。而 EMQ 提供的 MQTT 開放基準測試規範則從多個方面進行全面評估,同時設計了對任何 Broker 都公平的場景,以此來建立一個客觀中立的測試基準。

基於真實的使用場景和可行的度量標準

我們分析並解決了來自我們客戶的大量實際測試需求,基於此提出了這套 MQTT 開放基準測試規範。我們相信它可以滿足絕大多數的測試需求。

面向社群開放的全面基準測試

我們致力於圍繞這套 MQTT 基準測試規範建立一個開放和協作的社群。隨著社群貢獻的各種使用場景不斷增加,這套規範也將能更加準確地反映行業需求。歡迎與我們一起為 MQTT 協議建立一個全面的基準測試規範。

MQTT 開放基準測試規範的內容

第一版 MQTT 開放基準測試規範主要介紹了影響 MQTT broker 效能的關鍵因素,並定義了衡量可擴充套件性、可用性、延遲時間和計算資源成本的指標。

規範還將典型的使用場景分為連線、廣播、點對點和上報,幷包含了基於真實客戶需求的實際用例。

此外,為了說明這些用例在基準測試中是如何應用的,我們提供了一些詳細的基準測試結果的例子。

基準測試結果示例

為了展示一個實際的例子,下面我們將介紹一個使用 NanoMQ 作為 MQTT Broker 的廣播用例和基準測試結果的詳細情況。

在這個廣播用例中,建立了 5 個釋出者和 1000 個訂閱者的連線(即為了“廣播”的目的,訂閱者比釋出者多),並使用了 5 個主題進行釋出/訂閱。每個訂閱者完成連線後,立即訂閱所有 5 個主題。每個釋出者完成連線後,都向一個獨佔的主題傳送一個 16 位元組的訊息。釋出者和訂閱者都使用 QoS 1。每個釋出者的釋出速率是每秒 50 條訊息,因此,總的預期訂閱速率是每秒 250K 條訊息。

在本次基準測試中,NanoMQ 部署在一個單節點上。配置詳情如下:

本次基準測試使用了 XMeter 作為測試工具,它模擬了所有的裝置連線和訊息吞吐量,分析資料並生成指標報告。以下是一些重點指標:

詳細的圖表如下:

未來規劃

在上文我們使用了 NanoMQ 作為示例,但實際上這套測試規範對所有采用了 MQTT 協議的 Broker 都是適用的。我們也將對其進行持續的迭代和完善,並計劃後續推出一個用於 MQTT 基準測試的工具。

歡迎感興趣的讀者檢視我們的 GitHub 主頁瞭解更多資訊,期待來自大家的寶貴意見和貢獻。

版權宣告: 本文為 EMQ 原創,轉載請註明出處。

原文連結:https://www.emqx.com/zh/blog/open-mqtt-benchmark-suite-the-ultimate-guide-to-mqtt-performance-testing

相關文章