MQTTパフォーマンス・ベンチマーク: EMQX シングルノード メッセージ レイテンシ と リスポンス時間
背景
このブログでは、EMQXのメッセージレイテンシと応答時間のベンチマーク結果を提供します。
テストシナリオ
このベンチマークテストは、EMQXに接続する1000のパブリッシャと1000のサブスクライバをシミュレートします。すべての接続が確立された後、各パブリッシャは1秒あたりペイロード50バイトのメッセージを1つ発行し、平均値を取得するために30分間実行します。
- 平行接続: 1000のパブリッシャ、1000のサブスクライバ
- QoS: QoS 0、QoS 1、QoS 2レベルのメッセージをテスト
- ペイロード: 50バイト
- メッセージスループット: 1000/秒
テスト環境
テスト環境はAlibaba Cloud上に構成されており、すべての仮想マシンはVPC(仮想プライベートクラウド)サブネット内にあります。
マシンの詳細
サービス | デプロイ | バージョン | OS | CPU | メモリ | クラウドホストモデル |
---|---|---|---|---|---|---|
EMQX | single node | 5.0.6 | RHEL 8.5 | 2C | 4G | c6.large |
テストツール
このベンチマークテストでは、XMeterを使用してMQTTクライアントをシミュレートします。 XMeterはJMeter上に構築されていますが、スケーラビリティと機能が強化されています。 テスト中に包括的かつリアルタイムのテストレポートを提供します。 さらに、組み込みのモニタリングツールを使用して、EMQXマシンのリソース使用状況を追跡します。
XMeterにはオンプレミス版とパブリッククラウドSaaS版があります。 このテストでは、EMQXと同じVPCにプライベートXMeterをデプロイしています。
システムチューニング
Linuxカーネルのチューニングについては、EMQXドキュメントを参照してください。
ベンチマーク結果
定義
- レイテンシ: ブローカーがパブリッシャからサブスクライバへメッセージを送信するのにかかる時間
- 応答時間: メッセージ受信とメッセージ送信の時間差
メトリクス
QoS 0 | QoS 1 | QoS 2 | |
---|---|---|---|
レイテンシ(ms) | 0.048 | 0.065 | 0.07 |
応答時間 (ms) | 1.7 | 1.7 | 1.7 |
XMeterレポートチャート
QoS 0
QoS 1
QoS 2
まとめ
これは低負荷のテストであり、結果はEMQXが非常に低いメッセージレイテンシを有していることを示しています。 実際、EMQXは大量のメッセージでもレイテンシを低く保つことができます。 これらの結果は、EMQXが高レベルのリアルタイム応答性を必要とするIoTアプリケーションにおいて価値のあるツールになりうることを示唆しています。