# TPS Limit Reached Alert

The TPS Limit Reached alert indicates that the number of inbound and outbound MQTT messages processed by an EMQX Cloud deployment in the past 30 minutes has exceeded the TPS limit allowed by the current deployment tier.

This condition means that message throughput has reached the deployment limit. Messages above that limit may be dropped. Common causes include a traffic spike during a business peak, clients publishing too quickly, and an increase in subscribers or subscription scope that produces much more outbound traffic.

## Sudden Increase in Message Traffic

### Symptom

A business peak or batch job causes clients to publish many messages within a short period, temporarily pushing TPS above the deployment limit.

The deployment **Overview** page shows inbound and outbound message TPS above the tier limit, and **Monitor** -> **Metrics** -> **Timeline** -> **Message In/Out** shows a distinct spike.

### Common Causes

- Messages are concentrated during a business peak.
- Batch or scheduled jobs start within the same short period.

### Resolution

- Estimate peak message throughput in advance.
- Scale the deployment before a traffic peak to provide sufficient throughput.

## Excessive Client Publish Rate

### Symptom

One client publishes continuously at a high rate without rate limiting and consumes too much TPS capacity.

If inbound and outbound TPS on the deployment **Overview** page exceeds the tier limit, open **Deployment Logs** and check for messages dropped because a client exceeded its publish rate limit.

Use the `clientid` from the log entry to locate the client under **Monitor** -> **Clients**. If one client's published message count is much higher than expected, it is likely the cause.

### Common Causes

- A client defect sends the same message repeatedly.
- Clients do not enforce a publish rate limit.

### Resolution

- Correct any client logic that publishes duplicate messages.
- Add a client-side publish rate limit.
- Submit a support ticket to request help from EMQX Cloud Technical Support in adjusting the per-client publish rate limit on the listener.

## Increase in Subscribers or Subscription Scope

### Symptom

When the number of subscribers increases or clients subscribe to broader topic filters, especially filters that use `#` or `+`, each inbound message is delivered to more subscribers. The resulting increase in outbound messages can push average TPS above the deployment limit.

Under **Monitor** -> **Metrics**, outbound message volume is much higher than inbound volume and total TPS exceeds the tier limit. Changes in **Subscriptions** and **Connections** occur at the same time.

### Common Causes

- Many new subscribers were added.
- Clients subscribed to broader topic filters.
- Excessive wildcard subscriptions greatly expanded message delivery.

### Resolution

- Check whether clients or topic subscriptions were added recently.
- Refine the topic design and remove unnecessary wildcard subscriptions.
- Distribute workloads with many subscriptions or high fan-out, or upgrade the deployment to a tier that can handle the load.

## Troubleshooting

1. Log in to the EMQX Cloud Console.

2. Go to **Monitor** -> **Alerts** -> **Alert List**. Check whether a TPS Limit Reached alert exists, and review its trigger period and scope. If the average TPS in the past 30 minutes exceeds the maximum TPS allowed by the deployment tier, this alert is triggered.

   ![TPS limit alert records](./_assets/tps_limit_alerts.png)

3. Go to **Monitor** -> **Clients** and review per-client message metrics. If one client sends or receives far more PUBLISH packets than expected, investigate the **excessive client publish rate** scenario.

   ![Per-client message metrics](./_assets/tps_limit_client.png)

## Monitoring and Statistics

Go to **Metrics** -> **Timeline** -> **Message In/Out** to view overall message volume over time. Divide the total message count at a data point by 60 seconds to calculate the average TPS for that minute.

For more detailed deployment TPS data over a specific time range, submit a support ticket to EMQX Cloud Technical Support.

![Message volume on the monitoring timeline](./_assets/tps_limit_monitor.png)

## Impact

- The deployment continues running after this alert is triggered, and the alert itself does not incur additional charges.
- When TPS continues to exceed the deployment tier limit, messages above the limit may be dropped and affect the application.
- If the application requires sustained higher throughput, plan and upgrade the deployment tier in advance.
