Webinar
Introducing EMQX 6.1: Durable MQTT Streams and Analytics-Ready Data | Register Now →

MQTTパフォーマンス・ベンチマーク: EMQXとTimescaleDBの統合

EMQX TeamEMQX Team
Aug 30, 2023製品
MQTTパフォーマンス・ベンチマーク: EMQXとTimescaleDBの統合

IoTシナリオでは、多数のデバイス、高いデータ生成レート、そして膨大なデータ量の課題がよくあります。そのため、これら大量のデータにアクセスし、保存、処理する方法は重要な課題となっています。

EMQXは、IoTのための高スケーラブルでパワフルなMQTTブローカーで、単一クラスターで数十億の同時接続と1秒間に数百万のメッセージを処理できます。さらに、組み込みのデータインテグレーション機能により、Kafka、SQL、NoSQL、時系列データベースなど、40を超えるクラウドサービスとエンタープライズシステムとのシームレスなインテグレーションが可能です。

このブログシリーズでは、単一ノードEMQXサーバーとのインテグレーションのベンチマークテスト結果を紹介します。

本記事では、TimescaleDBとのインテグレーションの結果をご紹介します。単一ノードのEMQXが1秒間に10万件のQoS1メッセージを処理し、TimescaleDBに挿入する性能を達成しました。

テストシナリオ

このベンチマークテストは、10万のMQTTクライアントが1秒間に5000の接続レートでEMQXに接続することをシミュレートしています。すべての接続が確立された後、各クライアントは1秒間にペイロード200バイトのQoS1メッセージを1つパブリッシュし、すべてのメッセージはルールエンジンによってTimeScaleDBに書き込まれます。

  • 同時接続数: 100,000
  • トピック数: 100,000
  • CPS(新規接続数/秒): 5000
  • QoS: 1
  • キープアライブ: 300s
  • ペイロード: 200 bytes
  • メッセージ送信TPS: 100,000/second

テスト環境

テスト環境はAlibaba Cloud上に構築されており、すべての仮想マシンはVPC(Virtual Private Cloud)サブネット内にあります。

マシンの詳細

サービスデプロイメントバージョンOSCPUメモリクラウドホスト
EMQX単一ノード5.1.0Centos 7.832C64Gc6.8xlarge
PostgreSQL/TimescaleDBスタンドアローン13.5Centos 7.816C64Gc6.4xlarge

テストツール

このベンチマークテストでは、MQTTクライアントをシミュレートするためにXMeterを使用しています。XMeterはJMeter上に構築されていますが、スケーラビリティと機能面で強化されています。テスト中に包括的かつリアルタイムのテストレポートを提供します。また、組み込みのモニタリングツールを使用して、EMQXとTimescaleDBのリソース使用状況を追跡できます。

XMeterにはプライベートデプロイメントバージョンとパブリッククラウドSaaSバージョンがあります。このテストでは、EMQXとTimescaleDBと同じVPCにプライベートXMeterをデプロイしています。

準備

EMQXとTimescaleDBのインテグレーション設定の詳細な手順は、EMQXドキュメントを参照してください。以下の3つの図は、このベンチマークテストで使用されたTimescaleDBブリッジの設定です。

TimescaleDBブリッジとルールの設定

ブリッジとルールが作成されると、ダッシュボードから以下のようなデータフローが確認できます。

システムチューニングベンチマーク結果

Linuxカーネルチューニングの詳細はEMQXドキュメントを参照してください。

ベンチマーク結果

テスト結果

  • CPUとメモリの使用率は安定
  • CPU使用率平均: 77%
  • メモリ使用量最大: 13GB
  • パブリッシュ応答時間平均: 2.39ミリ秒

テスト完了後、EMQXダッシュボードのデータブリッジ統計とデータベースの対応するテーブルのクエリ数を比較したところ、すべてのメッセージがリアルタイムでTimescaleDBに書き込まれ、正常に処理されたことが確認できました。

結果グラフ

テスト中のEMQXダッシュボードとルールエンジンのスクリーンショット

上記2つのスクリーンショットは、入力メッセージレートとデータブリッジによる処理レートが共に10万/秒を超えており、ルールにマッチしたすべてのメッセージがリアルタイムでデータベースに書き込まれていることを示しています。

テスト完了後のスクリーンショット

上記のスクリーンショットは、EMQXが受信したすべてのメッセージがTimeScaleDBに正常に転送されたことを示しています。

XMeterレポートチャート

まとめ

TimescaleDBは時系列データベース分野において、使いやすさ、高速クエリ、コスト効率の高さが認められています。EMQXとTimescaleDBの統合により、両者の強みが活かされ、IoTアプリケーションに対する包括的なソリューションが提供されます。

さらに、EMQXとTimescaleDBはそれぞれクラウドサービスを提供しています。クラウドの一元管理、水平スケーリングなどの機能を活用することで、簡単にEMQX CloudとTimescale Cloudサービスをデプロイおよび統合し、既存のクラウドネイティブインフラストラクチャに接続できます。詳細は当社のブログをご参照ください。

EMQX Enterprise を無料トライアル
任意のデバイス、規模、場所でも接続可能です。
Get Started →

著者

EMQX Team
EMQX Team

The EMQX team develops the EMQX Platform, continuously delivering high-performance, scalable MQTT solutions that bridge IoT systems and AI capabilities for evolving industry needs.

ブログの購読