2016-12-15 8 views
2

IOTアプリケーションを使用しています。通信のどこで私はmqttプロトコルを使用しています。 Emqttd(http://emqtt.io/)をmqttブローカーとして使用しています。これで、私のすべてのデバイスと私のノード・サーバーは、クライアントとしてMQTT Brokerに接続されます。 デバイスがステータスを更新する必要があるときはいつでも、デバイスは特定のトピックで公開し、ノードサーバーはすべてのトピックをリッスンしています。しかし、私は恐れています。私のサーバーはこれらのメッセージをすべて処理し、ステータスをデータベースに更新できますか?いいえの制限はありますか?毎秒クライアントが処理できるメッセージの数 また、デバイスのステータスをデータベースに更新するためのより良い方法があります。MQTTクライアント・ハンドルとして機能するサーバーのメッセージ数

+0

クライアントの仕様によって異なります。私は、1コア400Mhz ARMデバイスを持っています。これは、1秒あたりmqttで約1000のメッセージを送信することができます。コードはC++で書かれていますが、より強力なデバイスでは、ノードでより良い結果を得ることができるでしょう。 サーバーが受信メッセージを処理できないと思われる場合は、ノードmqttクライアントのクラスタリングを調べることをお勧めします。 – Tobi

+2

ターゲット環境の展開担当者でパフォーマンス/スループットをテストする必要があります。これは珍しいことではありません。スケールする必要のあるサーバー/ネットワーキングシステム/サービスのために必要なことです。 – barny

答えて

0

MQTTブローカーは、無制限の接続数を処理できます。これは、ブローカーがインストールされているサーバーを微調整することで実現できます。 システムをチューニングする際は、次のパラメータを考慮する必要があります。 1.オープンポート数:サーバのulimitを増やすことでこれを実現できます。 2.実行中のバックグラウンドプロセスの数はできるだけ少なくする必要があります。

+0

ブローカーには、ソフトウェアと同じようにパフォーマンスの制限があります。 –