[AWS IoT] IoT Core limit of 100 transactions per second for each topic ?

0

I am collecting Industrial data using a custom component (client) that reads the data and publishes it on IoT Core using IPC on a specific topic. However, i was reading this guide (https://docs.aws.amazon.com/greengrass/v2/developerguide/ipc-iot-core-mqtt.html) where it says that IoT core has a limit of 100 transactions per second which is not optimal for me. Does the limit arise on a single topic or on IoT Core ?

asked 19 days ago144 views
1 Answer
2
Accepted Answer

Hello,

All IoT Core limits are posted here: https://docs.aws.amazon.com/general/latest/gr/iot-core.html#message-broker-limits.

The limit of 100TPS applies per connection to IoT Core.

AWS
EXPERT
answered 19 days ago
profile picture
EXPERT
reviewed 18 days ago
profile pictureAWS
EXPERT
reviewed 19 days ago
  • Hello, ty for the aswer .By connection in my case you mean the client that is deployed on a linux machine and connects to IoT Core right ? if yes it would mean that that single machine will be able to publish at most 100 messages per second. Since in my case a linux machine would have to handle a larger amount of data to read, how would I get around that ?

  • Correct, there will be a single connection. You should look to decrease the amount of data that you're trying to send to IoT Core. You may look at using StreamManager for bulk data ingestion: https://docs.aws.amazon.com/greengrass/v2/developerguide/work-with-streams.html.

    Consider down-sampling data before sending it using MQTT, or only sending changed values instead of every value for example.

  • Connections are per-MQTT connection (w/ unique clientId per connection). You can have multiple connections on a single device, but to Michael's response, there are probably other options. If it's ingest only you could also use HTTP to publish messages. Note that this can be slower than MQTT if attempting via a single thread or process though.

  • Thanks for the answers. Just to make sure I understood correctly : In the scenario where I have two Custom-Components posting messages to a topic via IPC and I have an MQTT Bridge deployed to forward these messages to IoT Core. In this scenario how many connections do I have active towards IoT Core ? Do I own the same limit of 100 TPS ?

    Because if the number of connections is relative to how many custom-components (in py using ipc cdk's) I have deployed on a single instance then I can deploy more of them to handle more connections in parallel.

  • There is only 1 connection to AWS IoT Core from Greengrass. The limit is still 100 TPS. Do not use the MQTT Bridge component for this; use IPC to publish to iot core.

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.

Guidelines for Answering Questions