# Serverless TPS Limit Reached Alert

The Serverless TPS Limit Reached alert indicates that the real-time message throughput of an EMQX Cloud Serverless deployment has reached or exceeded its tier limit of 1,000 TPS.

This condition may cause published messages to be dropped. Common causes include a sudden increase in traffic during a business peak and a client defect that publishes messages too quickly.

## Sudden Increase in Message Traffic

### Symptom

A business peak or batch job causes many messages to be published within a short period, pushing real-time TPS above the Serverless deployment limit.

On the deployment **Overview** page, the real-time inbound and outbound message TPS reaches or exceeds the deployment limit.

### 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.
- For sustained high-throughput workloads, switch to a **Dedicated deployment** and scale it to meet demand.

## Excessive Client Publish Rate

### Symptom

One or a small number of clients publish continuously at a high rate without rate limiting, consuming too much of the available TPS.

The real-time inbound and outbound message TPS reaches or exceeds the deployment limit while the overall connection count remains stable.

### Common Causes

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

### Resolution

- Check for client logic that sends duplicate messages.
- Add a client-side publish rate limit.
- Use publish rate-limit logs to identify the affected `clientid`, then locate the client under **Monitor** -> **Clients**.

## Troubleshooting

1. Log in to the EMQX Cloud Console.

2. Open the deployment **Overview** page and check **Inbound and Outbound Message TPS**. Verify whether real-time TPS has reached or exceeded the deployment limit.

   ![Inbound and outbound message TPS on the deployment Overview page](./_assets/sls_tps_limit_overview.png)

## Monitoring and Statistics

- Go to **Metrics** -> **Real-time Metrics** -> **Total TPS** to view current TPS and determine whether the deployment remains under high load.

  ![Total TPS in real-time metrics](./_assets/sls_tps_limit_stats.png)

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

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

## Impact

- This alert applies only to **EMQX Cloud Serverless deployments**.
- The deployment continues running after the alert is triggered, and the alert itself does not incur additional charges.
- If TPS remains above the deployment limit, messages may be dropped. Investigate and reduce the load promptly.
