If the number of requests sent by users exceeds a threshold that is configured for Object Storage Service (OSS), further OSS requests are throttled. You can configure simple monitoring settings in the CloudMonitor console to monitor requests sent to OSS in real time and receive notifications immediately after throttling is triggered.
Background information
OSS provides bandwidth throttling and queries per second (QPS) throttling at the user and bucket levels. When the QPS or bandwidth usage of requests sent to OSS exceeds the threshold, access to OSS is throttled and the access speed is limited. If bandwidth throttling is triggered, the access latency increases. If QPS throttling is triggered, OSS does not respond to some of the requests. For more information about bandwidth throttling and QPS throttling, see Limits.
In the CloudMonitor console, you can create an alert rule for OSS throttling events and specify that SMS, email, and DingTalk chatbot notifications are sent to specified contact groups if throttling is triggered or the configured alert thresholds are reached.
Prerequisites
A contact group is created and contacts who are expected to receive throttling alerts are added to the contact group. For more information, see Create an alert contact or alert contact group.
Create an alert rule
Log on to the CloudMonitor console.
In the left-side navigation pane, choose .
On the System Event tab, click Save as Alert Rule.
In the Create/Modify Event-triggered Alert Rule panel, configure the following parameters, retain the default values for other parameters, and click Ok.
Parameter | Description |
Alert Rule Name | Specify a name for the alert rule. In this example, set this parameter to rule1. |
Product Type | Select Object Storage Service. |
Event Type | Select All Types. |
Event Level | Select WARN and INFO. |
Event Name | Select All Events. For more information about OSS throttling events supported by CloudMonitor, see OSS. |
Alert Contact Group | Select Alert Notification for Notification Method. Then, select the created contract group for Alert Contact Group. |
Notification Method | Select Warning (Email + Webhook). |
After the alert rule is configured, if OSS throttling is triggered or alert thresholds are reached, CloudMonitor automatically sends notifications to the specified contacts. An alert notification includes information, such as the alert resource, event name, event type, and event details. For more information about alert notifications, see Alert notifications.
The system checks whether throttling is performed at an interval of 1 minute. If throttling is performed for a duration that is equal to or greater than 30 seconds within an interval, the system sends a notification to the specified contacts. The system checks whether configured alert thresholds are reached at an interval of 10 minutes. If configured alert thresholds are reached or throttling is triggered, the system sends a notification to the specified contacts within 1 second.
Alert notifications
If a throttling alert notification is received, check the alert notification to obtain details about the alert event. The following tables describe their causes, impact, solutions, and notification details.
If you want to view the traffic usage of all buckets that belong to the current user after you receive a user-level alert notification, create an OSS monitoring dashboard in advance. For more information, see Create a system preset dashboard.
Event names in alert notifications
The alert thresholds in the following table are calculated based on the formula: Alert threshold = Throttling threshold × 0.8.
Event name | Cause | Impact | Solution |
BucketIngressBandwidthThresholdExceeded | The total inbound bandwidth of the bucket exceeds the inbound bandwidth throttling threshold. | Requests sent to upload objects are throttled and experience increased latency. | Reduce the number of concurrent upload requests. |
BucketEgressBandwidthThresholdExceeded | The total outbound bandwidth of the bucket exceeds the outbound bandwidth throttling threshold. | Requests sent to download objects are throttled and experience increased latency. | Reduce the number of concurrent download requests. |
BucketQpsThresholdExceeded | The total number of requests sent to the bucket per second exceeds the throttling threshold. | OSS does not respond to some requests and returns HTTP status code 503. | Reduce the number of requests sent per second. |
UserIngressBandwidthThresholdExceeded | The total inbound bandwidth of all buckets of the user exceeds the inbound bandwidth throttling threshold. | Requests sent to upload objects are throttled and experience increased latency. | Reduce the number of concurrent upload requests. |
UserEgressBandwidthThresholdExceeded | The total outbound bandwidth of all buckets of the user exceeds the outbound bandwidth throttling threshold. | Requests sent to download objects are throttled and experience increased latency. | Reduce the number of concurrent download requests. |
UserQpsThresholdExceeded | The total number of requests sent to all buckets of the user per second exceeds the throttling threshold. | OSS does not respond to some of the requests. | Reduce the number of requests sent per second. |
BucketImageCpuThresholdExceeded | The number of CPU cores consumed by image processing (IMG) requests sent to the bucket exceeds the throttling threshold. | IMG requests experience increased latency. | Reduce the number of concurrent IMG requests. |
UserImageCpuThresholdExceeded | The number of CPU cores consumed by IMG requests sent to all buckets of the user exceeds the throttling threshold. | IMG requests experience increased latency. | Reduce the number of concurrent IMG requests. |
BucketMirrorIngressBandwidthThresholdExceeded | The bandwidth of the bucket consumed by mirroring-based back-to-origin requests exceeds the throttling threshold. | Mirroring-based back-to-origin requests experience increased latency. | Reduce the number of concurrent mirroring-based back-to-origin requests. |
BucketMirrorQpsThresholdExceeded | The total number of mirroring-based back-to-origin requests sent to the bucket per second exceeds the throttling threshold. | OSS does not respond to some of the mirroring-based back-to-origin requests. | Reduce the number of mirroring-based back-to-origin requests sent per second. |
UserMirrorIngressBandwidthThresholdExceeded | The total bandwidth consumed by all buckets of the user to send mirroring-based back-to-origin requests exceeds the throttling threshold. | Mirroring-based back-to-origin requests experience increased latency. | Reduce the number of concurrent mirroring-based back-to-origin requests. |
UserMirrorQpsThresholdExceeded | The total number of mirroring-based back-to-origin requests sent from all buckets of the user per second exceeds the throttling threshold. | OSS does not respond to some of the mirroring-based back-to-origin requests. | Reduce the number of mirroring-based back-to-origin requests sent per second. |
BucketIngressBandwidth | The total inbound bandwidth of the bucket exceeds the alert threshold. | Requests sent to upload objects to the bucket experience increased latency. | Reduce the number of concurrent upload requests. |
BucketEgressBandwidth | The total outbound bandwidth of the bucket exceeds the alert threshold. | Requests sent to download objects from the bucket experience increased latency. | Reduce the number of concurrent download requests. |
UserIngressBandwidth | The total inbound bandwidth of all buckets of the user exceeds the alert threshold. | Requests sent to upload objects to buckets experience increased latency. | Reduce the number of concurrent upload requests. |
UserEgressBandwidth | The total outbound bandwidth of all buckets of the user exceeds the alert threshold. | Requests sent to download objects from buckets experience increased latency. | Reduce the number of concurrent download requests. |
Alert notification details
Parameter | Description | Example |
AvgSeverity | The degree of throttling. The greater the value is, the higher the latency becomes. Valid values: 0 to 100. | 10 |
QosType | The type of throttling. Valid values:
| IngressBandwidth |
TrafficSource | The source of the traffic that triggers the throttling. Valid values:
| net_all |
How do I view the total traffic usage of a user?
Assume that you receive a UserEgressBandwidthThresholdExceeded event alert. You can use the following steps to view the traffic usage on each bucket of the user.
Log on to the CloudMonitor console.
In the left-side navigation pane, choose .
On the Dashboards page, find the dashboard and click View in the Actions column.
In the Traffic Monitoring section, view the buckets that consume a large amount of traffic.