Quando o volume de requisições excede os limites de uso do OSS, o throttling pode impactar suas aplicações. Use o CloudMonitor para configure regras simples que monitoram as métricas de requisições do OSS em tempo real e enviam notificações de alerta quando eventos de throttling ocorrem.
Contexto
O OSS aplica throttling de largura de banda e QPS nos níveis de usuário e bucket. Quando o throttling de largura de banda é acionado, a latência de acesso ao OSS aumenta. Quando o throttling de QPS é acionado, o OSS descarta algumas requisições. Para mais informações sobre os limites de throttling de largura de banda e QPS, consulte Usage limits and performance metrics.
Configure notificações de alerta para envio a um grupo de contatos designado por SMS, e-mail ou webhooks do DingTalk quando o volume de requisições acionar o throttling ou atingir o limiar de reporte.
Pré-requisitos
Crie um grupo de contatos para receber notificações de alerta de throttling e adicione contatos a ele. Para mais informações, consulte Create an alert contact or a contact group.
Crie uma regra de alerta
Acesse o console do CloudMonitor.
No painel de navegação à esquerda, escolha .
Na aba Event Monitoring, clique em salve as alert rule.
No painel Create/Modify Event-triggered Alert Rule, defina os parâmetros a seguir, mantenha os demais com os valores padrão e clique em OK.
|
Parameter |
Description |
|
Alert Rule Name |
Defina como rule1. |
|
Product type |
Selecione Object Storage Service. |
|
Event type |
Selecione All Types. |
|
Event Level |
Selecione Warning e INFO. |
|
Event name |
Selecione All Events. Para informações sobre os eventos de throttling do OSS compatíveis com o CloudMonitor, consulte OSS throttling events supported by CloudMonitor. |
|
Alert Contact Group |
Selecione Alert Notification e, em seguida, selecione o grupo de contatos criado. |
|
Notification Method |
Selecione Warning (SMS + Email + Webhook). |
Após configure a regra de alerta de evento, o CloudMonitor envia automaticamente uma notificação de alerta aos contatos especificados quando as requisições acionam o throttling do OSS ou atingem o limiar de reporte. A notificação contém informações como o recurso que gerou o alerta, o nome do evento, o tipo do evento e os detalhes do evento. Para mais informações sobre notificações de alerta, consulte Alert notifications.
Os alertas de throttling são avaliados uma vez por minuto. Um alerta é acionado quando o throttling ocorre por 30 segundos ou mais dentro de um intervalo de um minuto. Os limiares de reporte são avaliados a cada 10 minutos. Um alerta é acionado quando o limiar é atingido por pelo menos 1 segundo dentro do intervalo de dez minutos.
Notificações de alerta
Ao receber uma notificação de alerta de throttling, consulte as tabelas a seguir para entender a causa, o impacto, a solução e os detalhes de cada tipo de evento de throttling.
Para visualize o uso de tráfego de todos os buckets da sua conta após receber um alerta de nível de usuário, primeiro crie um painel de monitoramento do OSS. Para mais informações, consulte Create a system-predefined dashboard.
Nomes de eventos
Na tabela a seguir, Limiar de reporte = Limiar de throttling × 0,8.
Nome do evento | Causa | Impacto | Solução |
BucketIngressBandwidthThresholdExceeded |
| As requisições de upload sofrem throttling e a latência aumenta. | Reduza o número de requisições de upload simultâneas a um nível razoável. |
BucketEgressBandwidthThresholdExceeded |
| As requisições de baixe sofrem throttling e a latência aumenta. | Reduza o número de requisições de baixe simultâneas a um nível razoável. |
BucketQpsThresholdExceeded |
| O OSS rejeita algumas requisições e retorna o código de status HTTP 503. | Reduza o número de requisições por segundo a um nível razoável. |
UserIngressBandwidthThresholdExceeded |
| As requisições de upload sofrem throttling e a latência aumenta. | Reduza o número de requisições de upload simultâneas a um nível razoável. |
UserEgressBandwidthThresholdExceeded |
| As requisições de baixe sofrem throttling e a latência aumenta. | Reduza o número de requisições de baixe simultâneas a um nível razoável. |
UserQpsThresholdExceeded |
| O OSS rejeita algumas requisições. | Reduza o número de requisições por segundo a um nível razoável. |
BucketImageCpuThresholdExceeded | O número de núcleos de CPU usados para requisições de processamento de imagens do bucket excede o limiar de throttling de núcleos de CPU do bucket. | A latência das requisições de processamento de imagens aumenta. | Reduza o número de requisições de processamento de imagens simultâneas a um nível razoável. |
UserImageCpuThresholdExceeded | O número total de núcleos de CPU usados para requisições de processamento de imagens de todos os buckets do usuário excede o limiar de throttling de núcleos de CPU do usuário. | A latência das requisições de processamento de imagens aumenta. | Reduza o número de requisições de processamento de imagens simultâneas a um nível razoável. |
BucketMirrorIngressBandwidthThresholdExceeded | A largura de banda usada pelas requisições de back-to-origin baseadas em espelhamento do bucket excede o limiar de throttling de largura de banda para essas requisições. | A latência das requisições de back-to-origin baseadas em espelhamento aumenta. | Reduza o número de requisições de back-to-origin baseadas em espelhamento simultâneas a um nível razoável. |
BucketMirrorQpsThresholdExceeded | O QPS das requisições de back-to-origin baseadas em espelhamento do bucket excede o limiar de throttling de QPS para essas requisições. | O OSS rejeita algumas requisições de back-to-origin baseadas em espelhamento. | Reduza o QPS das requisições de back-to-origin baseadas em espelhamento a um nível razoável. |
UserMirrorIngressBandwidthThresholdExceeded | A largura de banda de entrada total das requisições de back-to-origin baseadas em espelhamento de todos os buckets do usuário excede o limiar de throttling de largura de banda para essas requisições do usuário. | A latência das requisições de back-to-origin baseadas em espelhamento aumenta. | Reduza o número de requisições de back-to-origin baseadas em espelhamento simultâneas a um nível razoável. |
UserMirrorQpsThresholdExceeded | O QPS total das requisições de back-to-origin baseadas em espelhamento de todos os buckets do usuário excede o limiar de throttling para essas requisições do usuário. | O OSS rejeita algumas requisições de back-to-origin baseadas em espelhamento. | Reduza o QPS das requisições de back-to-origin baseadas em espelhamento a um nível razoável. |
BucketIngressBandwidth |
| A latência das requisições de upload para o bucket aumenta. | Reduza o número de requisições de upload simultâneas a um nível razoável. |
BucketEgressBandwidth |
| A latência das requisições de baixe do bucket aumenta. | Reduza o número de requisições de baixe simultâneas a um nível razoável. |
UserIngressBandwidth |
| A latência das requisições de upload do usuário aumenta. | Reduza o número de requisições de upload simultâneas a um nível razoável. |
UserEgressBandwidth |
| A latência das requisições de baixe do usuário aumenta. | Reduza o número de requisições de baixe simultâneas a um nível razoável. |
Detalhes da notificação
O código a seguir apresenta um exemplo de notificação de alerta:
{
"AvgSeverity": "10",
"QosType": "IngressBandwidth",
"TrafficSource": "net_all",
"TargetRate": "10737418240",
"Requester": "300xxxx",
"BucketGroup": "test-group",
"ResourcePool": "resource-pool-for-ai"
}
A tabela a seguir descreve os parâmetros da notificação anterior.
Parâmetro | Descrição | Exemplo |
AvgSeverity | A gravidade do throttling. Um valor mais alto indica throttling mais severo e latência maior. Valores válidos: 0 a 100. | 10 |
QosType | O tipo de tráfego que acionou o throttling. Valores válidos:
| IngressBandwidth |
TrafficSource | A origem do tráfego que acionou o throttling. Valores válidos:
| net_all |
TargetRate | O valor de largura de banda ou QPS.
| 10737418240 |
Requester | Quando o throttling é acionado pelo uso de largura de banda de um solicitante específico, o campo | 300xxxx |
BucketGroup | Quando a largura de banda de um BucketGroup em um pool de recursos atinge o limiar de throttling, o campo | test-group |
ResourcePool | Quando a largura de banda de um pool de recursos atinge o limiar de throttling, o campo | resource-pool-for-ai |
Visualize o uso de tráfego no nível de usuário
Esta seção usa o evento UserEgressBandwidthThresholdExceeded como exemplo para mostrar como visualize o uso de tráfego de cada um dos seus buckets.
Acesse o console do CloudMonitor.
No painel de navegação à esquerda, escolha .
Na página Dashboards, clique em View no lado direito do painel de monitoramento do OSS.
Na seção Traffic Monitoring, verifique quais buckets estão consumindo alto tráfego com base no tipo de alerta de throttling recebido.