tencent cloud

TDMQ for MQTT

Release Notes and Announcements
Release Notes
Product Introduction
TDMQ Product Series Introduction and Selection
What Is TDMQ for MQTT
Scenarios
Technical Architecture
Product series
MQTT Protocol Compatibility Notes
Comparison with Apache
High Availability
Product Constraints and Usage Quota
Basic Concepts
Supported Regions
Billing
Billing Overview
Renewal Instructions
Viewing Consumption Details
Overdue Payment Instructions
Refund
Getting Started
Guide for Getting Started
Preparations
Public Network Access
VPC Network Access
User Guide
Usage Process Guide
Configuring Account Permission
Creating a Cluster
Managing Topic
Connecting to the Cluster
Querying Messages
Managing Client
Managing a Cluster
Viewing Monitoring Metrics and Configuring Alarm Policies
Data Integration
Integrating Data Into SCF
Integrating Data Into CKafka
Integrating Data into RocketMQ
Development Guide
MQTT 5 Advanced Features
Data Plane HTTP API Description
Quota and Flow Control Mechanism Description
Configuring a Custom Domain Name
Configuring SQL Filtering
Configuring Point-to-Point Subscription
MQTT over QUIC
Managing Client Subscription
Message Enhancement Rule
Use Cases
Must-Knows for MQTT Client Development
Observability
Topic and Wildcard Subscriptions
​​API Reference
History
Introduction
API Category
Making API Requests
Cluster APIs
Topic APIs
Authorization Policy APIs
User APIs
Client APIs
Message Enhancement Rule APIs
Message APIs
Data Types
Error Codes
SDK Reference
Access Point Format
Java SDK
C SDK
Javascript/Node.JS/Mini Program
Go SDK
iOS SDK
JavaScript SDK
Dart SDK
Python SDK
.NET
Security and Compliance
Permission Management
FAQs
Related Agreement
Privacy Policy
Data Privacy And Security Agreement
TDMQ for MQTT Service Level Agreement
Contact Us
DocumentationTDMQ for MQTTProduct IntroductionProduct Constraints and Usage Quota

Product Constraints and Usage Quota

PDF
Focus Mode
Font Size
Last updated: 2026-04-01 16:21:33
To ensure stable performance of the cluster, TDMQ for MQTT imposes some usage limits based on different sales specification differences. For key feature differences between sales specifications, refer to Product Series. Below introduces the dimensional limitations you may encounter when using MQTT.

Sales Specification Limits

Limit Item
Limit Description
Behavior After Exceeding the Limit
Recommendation
Cluster TPS Limit
Strictly limited according to the specifications selected on the purchase page.
Note: The settings of the QoS and cleanSession parameters affect TPS calculations. One TPS is not equivalent to producing or sending one message. For details, see Billing Overview.
After the TPS limit is exceeded, message production or consumption requests will be rejected and result in errors. For details, see Quota and Flow Control Instructions.
You can view the relevant throttling metrics in the console. For details, see Monitoring Instructions.
When making a purchase, estimate traffic based on the actual situation. When traffic throttling occurs, you can choose to upgrade cluster specifications to handle sudden traffic spikes.
Number of Client Connections to the Cluster
Strictly limited according to the specifications selected on the purchase page.
Client connections will be rejected, and CONNECT requests will return an error.
When making a purchase, estimate the number of clients based on the actual situation. When the number of clients reaches the upper limit, you can choose to upgrade cluster specifications.
Number of Cluster Subscriptions
30 x Maximum number of client connections. The number of cluster subscriptions includes shared subscriptions and automatic subscriptions.
New client subscriptions will be rejected, and SUBSCRIBE requests will return an error.
When quota conflicts occur across multiple subscription scenarios, subscriptions are throttled according to the following priority: non-clean-session subscriptions > Auto Subscribe rules > manual subscriptions added by clients. For details, see Auto Subscribe Instructions.
Number of Topic Filters Subscribed per Client (Client ID)
30. The number of cluster subscriptions includes shared subscriptions and automatic subscriptions.
New client subscriptions will be rejected, and SUBSCRIBE requests will return an error.
When quota conflicts occur across multiple subscription scenarios, subscriptions are throttled according to the following priority: non-clean-session subscriptions > Auto Subscribe rules > manual subscriptions added by clients. For details, see Auto Subscribe Instructions.
Cluster Subscription Rate
Maximum number of subscription requests (MQTT SUBSCRIBE requests) that a cluster can accept per second, whose value is the greater of 100 and 1/100 of the number of client connections in the cluster specification, that is, max(100, ClientNum/100).
New client subscriptions will be rejected, and SUBSCRIBE requests will return an error.
Cluster Unsubscription Rate
Maximum number of unsubscription requests (MQTT UNSUBSCRIBE requests) that a cluster can accept per second, whose value is the greater of 100 and 1/100 of the number of client connections in the cluster specification, that is, max(100, ClientNum/100).
New client unsubscriptions will be rejected, and UNSUBSCRIBE requests will return an error.
Cluster Connection Creation Rate
max(100, ClientNum/100). If the maximum number of connections for a cluster is 10000, the number of new client connections allowed per second is 100. Up to 100 new connections can be established per second.
Client connections will be rejected, and CONNECT requests will return an error.
Rate of Connections with Will Messages
100. Number of new client connections with Will messages allowed per second.
Client connections will be rejected, and CONNECT requests will return an error.

Data Plane Service Usage Limits

To ensure server stability and performance, with consideration for open-source protocol standards and specifications, TDMQ for MQTT has the following limits. If specific limit items conflict with current usage scenarios, corresponding operations can be performed based on recommendations in the table. For Platinum Edition clusters, some limit items can be adjusted through ticket service and expert support.
Limit Item Category
Limit Item
Limit Item Description
Behavior after Exceeding the Limit
Recommendation
Resource Naming
Client ID and Alias
Unique within a single cluster. If multiple clients or devices use the same Client ID, they may take over each other, causing disconnections.
Supported characters: digits 0–9, lowercase letters a–z, uppercase letters A–Z, and three special characters: Hyphen (-), Underscore (_), and At sign (@).
Length: 128 bytes.
Client connections will be rejected, and CONNECT requests will be rejected.
If the actual need exceeds the current specification limit, you can contact us through a ticket.
Topic Name
Channel and path for message transmission defined in the MQTT protocol.
Supported characters: UTF-8 encoded characters.
Length: 256 bytes.
Once the quota is reached, client PUBLISH requests will be rejected.
Number of Topic Levels
10. A topic name can contain up to 9 forward slashes (/).
Once the quota is reached, client PUBLISH or SUBSCRIBE requests will be rejected.
Number of Topic Prefixes
Default: 20.
Once the quota is reached, new topic prefixes cannot be created.
Message Properties and Body
Message Size
4MiB, which is the size of a complete packet.
An error will occur if the message sent exceeds the allowed quota.
If the actual need exceeds the current specification limit, you can contact us through a ticket.
Content Type Property Length
256 bytes, applicable only to MQTT 5.0.
Client connections (CONNECT) will be rejected, and PUBLISH requests will return an error.
User Property Length
8KB, applicable only to MQTT 5.0.
An error will occur if the message sent exceeds the allowed quota.
Correlation Data Property Length
8KB, applicable only to MQTT 5.0.
An error will occur if the message sent exceeds the allowed quota.
Length of Message Properties (Excluding Message Body)
16KB
An error will occur if the message sent exceeds the allowed quota.
Maximum Number of Topic Aliases
Disabled by default. Up to 10 per client.
Client connections exceeding the limit will be disconnected.
Message Retention Rules
Retention Time for Unconsumed Messages (Including Retained Messages)
3 days.
Messages will be deleted if they exceed the retention period.
Platinum Edition clusters can be adjusted through ticket service and expert support.
Maximum Number of Retained Messages per Cluster
10000
Once this limit is reached, new PUBLISH requests for retained messages will be rejected by the server.
Message Sending and Receiving
Maximum Number of Unacknowledged Messages (QoS > 0) Received by the Server per Session
For QoS 1 and 2 messages, the maximum number of unacknowledged messages per client is 32.
The server will disconnect the client if it receives messages exceeding the quota.
Platinum Edition clusters can be adjusted through ticket service and expert support.
Maximum Number of Unacknowledged Messages (QoS > 0) Sent by the Server per Session
For QoS 1 and 2 messages, the maximum number of unacknowledged messages per client is 16.
For clients using the MQTT 5 protocol, the limit can be adjusted via the Receive Maximum setting, with a maximum of 1024.
Once the quota is reached, the server stops sending messages to the client.
HTTP API
Each HTTP connection consumes one connection from the quota. Each call is counted as a QoS 1 message for TPS calculation. For details, see API Usage Details.
Once the quota is reached, any calls will return an error.
Number of Queued Messages per Cluster
No quantity limit, but subject to the message retention period.
-
Rate of Retained Message Publishing and Consumption per Cluster
100 messages per second.
Once the quota is reached, message publish requests will return an error. The server will stop sending messages to the client.
Client Connection
Client Heartbeat Check Cycle
(Keep Alive Interval)
30–1200 seconds. According to the protocol, if the server does not receive any message within 1.5 times the Keep Alive interval, it will consider the current connection invalid.
If the interval set by the client exceeds this limit (default: 1200s), 1200s is applied. If the interval set by the client is less than 30s, 30s is applied.
-
Number of New Connections per Client ID
1 per second, 10 per minute.
Client connections will be rejected, and CONNECT requests will return an error.
-
HTTP Query for Client Online Status
Each HTTP connection consumes one connection from the quota. Each message call is counted as a QoS 1 message for TPS calculation. For details, see API Usage Details.
API calls will fail once the limit is exceeded.
When making a purchase, estimate the number of clients based on the actual situation. When the number of clients reaches the upper limit, you can choose to upgrade cluster specifications.
WebSocket Connection Time
24 hours.
Automatically disconnects when the connection time is exceeded.
-
Offline Client Status Retention Time
Retained for 3 days by default. For clients using the MQTT 5 protocol, the retention period can be adjusted by setting Session Expiry Interval, up to 3 days.
Client status will be deleted if it exceeds the retention period.
Platinum Edition clusters can be adjusted through ticket service and expert support.
Offline Client Status Count Limit
The cluster connection limit applies to both offline and online clients.
When the total number of online and offline clients exceeds the cluster's client connection limit, additional client connections will be rejected.
Certificate
Number of Server Certificates per Cluster
3, up to 10.
-
Platinum Edition clusters can be adjusted through ticket service and expert support.
Number of CA Certificates per Cluster
32
Automatic or manual registration will fail once the limit is exceeded.
Automatic Subscription
Number of Automatic Subscription Rules
Defaults to 10, with a maximum of 20.
New automatic subscription rules cannot be created.
If the actual need exceeds the current specification limit, you can contact us through a ticket.
Number of Subscriptions per Automatic Subscription Rule
Defaults to 20, with a maximum of 30.
New subscriptions cannot be added to the rule. Any additions will not take effect.
Shared Subscription
Maximum Number of Shared Subscription Groups per Cluster
20
Once the quota is reached, client subscription (SUBSCRIBE) requests will return an error.
Platinum Edition clusters can be adjusted through ticket service and expert support.
Maximum Number of Subscription Expressions per Shared Subscription Group
10, that is, the number of filters in $share/{ShareName}/{filter}.
Once the quota is reached, client subscription (SUBSCRIBE) requests will return an error.
Number of Clients per Shared Subscription Group
1024
Once the quota is reached, client subscription (SUBSCRIBE) requests will return an error.
Message Enhancement Rules
Number of Message Enhancement Rules per Cluster
10. Each rule can have up to 10 key-value user properties, with each property value not exceeding 8KB.
Once the limit is exceeded, any requests to add new message enhancement rules will fail.
Other Features
Number of Propagation Properties per Client
Up to 10 key-value pairs. For details, see Propagation Properties.
Once the limit is exceeded, any requests to add new propagation properties will fail. You need to call the API to delete existing properties before adding new ones.
Number of Device Identities per Cluster
The limit is equal to the number of client connections to the cluster. For example, a cluster with 2000 TPS and 2000 connections supports up to 2000 device identities.
Once the limit is exceeded, calling the device identity registration API will result in an error.

MQTT Protocol Usage Limits

TDMQ for MQTT currently supports all features of V3.1.1 and all features of the 5.0 protocol except the following:
1. AUTH requests not supported.
2. Will Delay Interval cannot be specified.
3. Server Redirection not supported.
4. The Topic Alias feature is in grayscale. If needed, contact us.
5. When QoS is set to 2, duplicate messages may occur under certain extreme conditions (for example, network jitter). Ensure proper idempotency processing when necessary.

Help and Support

Was this page helpful?

Help us improve! Rate your documentation experience in 5 mins.

Feedback