Taste of Tech Topics

Acroquest Technology株式会社のエンジニアが書く技術ブログ

AWS IoTの性能を測ってみた ~AWS IoT Performance Benchmarks~

こんにちは、再びishida(@)です。

本投稿はQiitaのAWS IoTアドベントカレンダーの11日目になります。
8日目「AWS IoTから NumericなRangeKeyを持つDynamoDBテーブルへput-itemをする方法 - Qiita」からの投稿からの続きとなります。

2015年10月に、AWS re:Invent 2015にて発表されたAWS IoTですが、じわじわと人気が出始めていますね。ブログで「○○と繋いでみた」というような記事を公開している人も増えてきました。

f:id:acro-engineer:20151211103150p:plain

AWS IoTはデバイスとクラウドのセキュリティを確保しつつ、HTTPやMQTTといった様々な通信プロトコルにも対応し、さらに各種AWSサービスへの連携も簡単に可能な、マネージド型クラウドプラットフォームです。

今回、このAWS IoTに対してPub/Subの性能評価を実施し、その結果をまとめてみました。

前提

AWS IoTは、普通のMQTTの仕様に対して、限定的な対応がされています。MQTT v3.1.1とAWS IoTを比較すると、以下のようになります。

AWS IoT MQTT
対応QoS 0,1 0,1,2
Retain ×
Will ×
TLS/SSL
Payloadサイズ制限 128KB 256MB
順序保証 × ×

計測条件/内容

以下の条件で、今回測定をしています。

Clientツール AWS IoT
リージョン ap-northeast-1 ap-northeast-1
インスタンスタイプ c4.xlarge -
インスタンス 1(Pub/Sub同一インスタンス上で実施) -

計測結果

3回ずつ測っての平均値をとりましたが、以下の通りになりました。

Publish Subscribe
QoS=0 32273 4844
QoS=1 10512 1012

*単位は[messages/sec]

  • Publishについては約32000msg/secと、十分な性能を出すことができている。
  • Subscribeは約4800msg/secと、Publishに比べて性能が出ていない。


SSLを使用したMQTT通信のため、そもそも性能がそれほど出ないのではないかと思っていましたが、予想に反してPublishの性能が良かったですね。

IoTが世間でも頻繁に使われるようになった現在において、如何にAWS IoTが時代を引っ張って行ってくれるか、まだまだ目が離せませんね!


それでは。

Acroquest Technologyでは、キャリア採用を行っています。


  • 日頃勉強している成果を、AWSHadoop、Storm、NoSQL、SpringBoot、HTML5/CSS3/JavaScriptといった最新の技術を使ったプロジェクトで発揮したい。
  • 社会貢献性の高いプロジェクトに提案からリリースまで携わりたい。
  • 書籍・雑誌等の執筆や対外的な勉強会の開催を通した技術の発信や、社内勉強会での技術情報共有により、技術的に成長したい。
  • OSSの開発に携わりたい。

 
少しでも上記に興味を持たれた方は、是非以下のページをご覧ください。
 キャリア採用ページ