MQTTパフォーマンス・ベンチマーク: EMQXシングルノードが2Mメッセージスループットをサポート
背景
この記事では、EMQXのメッセージスループットのベンチマーク結果を提供します - EMQXのシングルノードは1秒間に200万メッセージのスループットを処理できます。
テストシナリオ
このベンチマークテストは、EMQXに接続する20のパブリッシャと1000のサブスクライバをシミュレートします。すべての接続が確立されると、各パブリッシャは1秒あたりペイロード16バイトのQoS 0メッセージを100個発行します。 サブスクライバは、トピックワイルドカードを介してすべてのパブリッシャのメッセージを購読します。
- 平行接続: 20のパブリッシャ、1000のサブスクライバ
- パブリッシュトピック: 各パブリッシャには
test/
をプレフィックスとする一意のトピックがあります - サブスクライブトピック: すべてのサブスクライバは
test/#
の形式のワイルドカードトピックを購読します - QoS: 0
- ペイロード: 16バイト
- メッセージスループット: 2,000,000/秒
テスト環境
テスト環境はAlibaba Cloud上に構成されており、すべての仮想マシンはVPC(仮想プライベートクラウド)サブネット内にあります。
マシンの詳細
サービス | デプロイ | バージョン | OS | CPU | メモリ | クラウドホストモデル |
---|---|---|---|---|---|---|
EMQX | single node | 5.0.21 | RHEL 8.5 | 64C | 128G | hfc6.16xlarge |
テストツール
このベンチマークテストでは、XMeterを使用してMQTTクライアントをシミュレートします。 XMeterはJMeter上に構築されていますが、スケーラビリティと機能が強化されています。 テスト中に包括的かつリアルタイムのテストレポートを提供します。 さらに、組み込みのモニタリングツールを使用して、EMQXマシンのリソース使用状況を追跡します。
XMeterにはオンプレミス版とパブリッククラウドSaaS版があります。 このテストでは、EMQXと同じVPCにプライベートXMeterをデプロイしています。
システムチューニング
Linuxカーネルのチューニングについては、EMQXドキュメントを参照してください。
ベンチマーク結果
EMQXダッシュボードは、2M以上の発信メッセージ/秒が達成され、レートは30分間のテスト全体でかなり安定していることを示しています。
メトリクス
パブ-サブの平均レイテンシ | 2.93ms |
---|---|
メッセージングフェーズのCPU使用率 | 最大92%、平均88% |
メッセージングフェーズのメモリ使用量 | 最大1.2GB、平均1.1GB |
まとめ
このベンチマークレポートは、シングルノードデプロイメントにおけるEMQXのメッセージスループットパフォーマンスの高さを示しています。 EMQXは、大量のメッセージ送信下でもメッセージレイテンシを低く保ちながら、複雑なビジネスシナリオで使用できます。