Política de limite de taxa de solicitação
Aplica-se a: ✅Microsoft Fabric✅Azure Data Explorer
A política de limite de taxa de solicitação do grupo de carga de trabalho permite limitar o número de solicitações simultâneas classificadas no grupo de carga de trabalho, por grupo de carga de trabalho ou por entidade de segurança.
Os limites de taxa são impostos no nível definido pela política de aplicação de limites de taxa de solicitação do grupo de carga de trabalho.
O objeto político
Uma política de limite de taxa de solicitação tem as seguintes propriedades:
Designação | Valores suportados | Descrição |
---|---|---|
IsEnabled |
true , false |
Indica se a política está habilitada ou não. |
Âmbito de aplicação |
WorkloadGroup , Principal |
O âmbito de aplicação do limite. |
LimitKind |
ConcurrentRequests , ResourceUtilization |
O tipo de limite de taxa de solicitação. |
Propriedades | Saco de propriedade | Propriedades do limite de taxa de solicitação. |
Limite de taxa de solicitações simultâneas
Um limite de taxa de solicitação do tipo ConcurrentRequests
inclui a seguinte propriedade:
Designação | Tipo | Descrição | Valores suportados |
---|---|---|---|
MaxConcurrentRequests | int |
O número máximo de solicitações simultâneas. | [0 , 10000 ] |
Observação
- Se um grupo de carga de trabalho não tiver um limite especificado para o máximo de solicitações simultâneas, ele estará sujeito ao valor máximo padrão de
10000
.
Quando uma solicitação excede o limite do número máximo de solicitações simultâneas:
- O estado da solicitação, conforme apresentado por comandos de informações do sistema, será
Throttled
. - A mensagem de erro incluirá o de origem
da limitação e a capacidade de que foi excedida.
A tabela a seguir mostra alguns exemplos de solicitações simultâneas que excedem o limite máximo e a mensagem de erro que essas solicitações retornam:
Cenário | Mensagem de erro |
---|---|
Um comando .create table acelerado que foi classificado para o grupo de carga de trabalho default , que tem um limite de 80 solicitações simultâneas no escopo do grupo de carga de trabalho. |
O comando de gestão foi abortado devido ao estrangulamento. Tentar novamente depois de algum recuo pode ter sucesso. CommandType: 'TableCreate', Capacidade: 80, Origem: 'RequestRateLimitPolicy/WorkloadGroup/default'. |
Uma consulta limitada que foi classificada em um grupo de carga de trabalho chamado MyWorkloadGroup , que tem um limite de 50 solicitações simultâneas no escopo do grupo de carga de trabalho. |
A consulta foi abortada devido à limitação. Tentar novamente depois de algum recuo pode ter sucesso. Capacidade: 50, Origem: 'RequestRateLimitPolicy/WorkloadGroup/MyWorkloadGroup'. |
Uma consulta limitada que foi classificada para um grupo de carga de trabalho chamado MyWorkloadGroup , que tem um limite de 10 solicitações simultâneas no escopo de uma entidade de segurança. |
A consulta foi abortada devido à limitação. Tentar novamente depois de algum recuo pode ter sucesso. Capacidade: 10, origem: 'RequestRateLimitPolicy/WorkloadGroup/MyWorkloadGroup/Principal/aaduser=9e04c4f5-1abd-48d4-a3d2-9f58615b4724; 6ccf3fe8-6343-4be5-96c3-29a128dd9570». |
- O código de resposta HTTP será
429
. O subcódigo seráTooManyRequests
. - O tipo de exceção será
QueryThrottledException
para consultas eControlCommandThrottledException
para comandos de gerenciamento.
Observação
- Se um dos limites definidos pelo de política de capacidade
ou por uma política de limite de taxa de solicitação for excedido, um comando de gerenciamento será limitado. - O de política de capacidade
pode limitar a taxa de solicitações que se enquadram em uma categoria específica, como ingestões.
Limite da taxa de utilização de recursos
Um limite de taxa de solicitação do tipo ResourceUtilization
inclui as seguintes propriedades:
Designação | Tipo | Descrição | Valores suportados |
---|---|---|---|
ResourceKind | ResourceKind |
O recurso a limitar. Quando ResourceKind é TotalCpuSeconds , o limite é imposto com base em relatórios pós-execução de utilização da CPU de solicitações concluídas. As solicitações que relatam a utilização de 0,005 segundos de CPU ou inferior não são contadas. O limite (MaxUtilization ) representa o total de segundos da CPU que podem ser consumidos por solicitações dentro de uma janela de tempo especificada (TimeWindow ). Por exemplo, um usuário executando consultas ad-hoc pode ter um limite de 1000 segundos de CPU por hora. Se esse limite for excedido, as consultas subsequentes serão limitadas, mesmo se iniciadas simultaneamente, pois os segundos acumulados da CPU ultrapassaram o limite definido dentro do período da janela deslizante. |
RequestCount , TotalCpuSeconds |
MaxUtilização | long |
O máximo do recurso que pode ser utilizado. | RequestCount: [1 , 16777215 ]; TotalCpuSeconds: [1 , 828000 ] |
Janela de Tempo | timespan |
A janela de tempo deslizante durante a qual o limite é aplicado. | [00:01:00 , 1.00:00:00 ] |
Quando uma solicitação excede o limite de utilização de recursos:
- O estado da solicitação, conforme apresentado por comandos de informações do sistema, será
Throttled
. - A mensagem de erro incluirá o de origem
da limitação e o de cota que foi excedido. Por exemplo:
A tabela a seguir mostra alguns exemplos de solicitações que excedem o limite de taxa de utilização de recursos e a mensagem de erro que essas solicitações retornam:
Cenário | Mensagem de erro |
---|---|
Uma solicitação limitada que foi classificada para um grupo de carga de trabalho chamado Automated Requests , que tem um limite de 1000 solicitações por hora no escopo de uma entidade de segurança. |
O pedido foi negado devido à superação das limitações de cota. Recurso: 'RequestCount', Cota: '1000', TimeWindow: '01:00:00', Origem: 'RequestRateLimitPolicy/WorkloadGroup/Automated Requests/Principal/aadapp=9e04c4f5-1abd-48d4-a3d2-9f58615b4724; 6ccf3fe8-6343-4be5-96c3-29a128dd9570». |
Uma solicitação limitada, que foi classificada em um grupo de carga de trabalho chamado Automated Requests , que tem um limite de 2000 segundos totais de CPU por hora no escopo do grupo de carga de trabalho. |
O pedido foi negado devido à superação das limitações de cota. Recurso: 'TotalCpuSeconds', Quota: '2000', TimeWindow: '01:00:00', Origem: 'RequestRateLimitPolicy/WorkloadGroup/Automated Requests'. |
- O código de resposta HTTP será
429
. O subcódigo seráTooManyRequests
. - O tipo de exceção será
QuotaExceededException
.
Como a consistência afeta os limites de taxa
Com forte consistência, o limite padrão no máximo de solicitações simultâneas depende da SKU do cluster e é calculado como: Cores-Per-Node x 10
. Por exemplo, um cluster configurado com nós do Azure D14_v2, onde cada nó tem 16 vCores, terá um limite padrão de 16
x 10
= 160
.
Com consistência fraca, o limite padrão efetivo no máximo de solicitações simultâneas depende da SKU do cluster e do número de cabeçalhos de consulta e é calculado como: Cores-Per-Node x 10 x Number-Of-Query-Heads
. Por exemplo, um cluster configurado com o Azure D14_v2 e 5 cabeçalhos de consulta, em que cada nó tem 16 vCores, terá um limite padrão efetivo de 16
x 10
x 5
= 800
.
Com forte consistência, o limite padrão de solicitações simultâneas máximas depende da SKU da casa de eventos e é calculado como: Cores-Per-Node x 10
. Por exemplo, uma casa de eventos configurada com nós do Azure D14_v2, onde cada nó tem 16 vCores, terá um limite padrão de 16
x 10
= 160
.
Com consistência fraca, o limite padrão efetivo no máximo de solicitações simultâneas depende da SKU da casa de eventos e do número de cabeçalhos de consulta, e é calculado como: Cores-Per-Node x 10 x Number-Of-Query-Heads
. Por exemplo, uma casa de eventos configurada com o Azure D14_v2 e 5 cabeçalhos de consulta, onde cada nó tem 16 vCores, terá um limite padrão efetivo de 16
x 10
x 5
= 800
.
Para obter mais informações, consulte Consistência da consulta.
O grupo de carga de trabalho default
O grupo de carga de trabalho default
tem a seguinte política definida por padrão. Esta política pode ser alterada.
[
{
"IsEnabled": true,
"Scope": "WorkloadGroup",
"LimitKind": "ConcurrentRequests",
"Properties": {
"MaxConcurrentRequests": < Cores-Per-Node x 10 >
}
}
]
Observação
- Quando você altera a política para o grupo de carga de trabalho
default
, um limite deve ser definido para o máximo de solicitações simultâneas.
Exemplos
As seguintes políticas permitem até:
- 500 solicitações simultâneas para o grupo de carga de trabalho.
- 25 solicitações simultâneas por principal.
- 50 solicitações por principal por hora.
[
{
"IsEnabled": true,
"Scope": "WorkloadGroup",
"LimitKind": "ConcurrentRequests",
"Properties": {
"MaxConcurrentRequests": 500
}
},
{
"IsEnabled": true,
"Scope": "Principal",
"LimitKind": "ConcurrentRequests",
"Properties": {
"MaxConcurrentRequests": 25
}
},
{
"IsEnabled": true,
"Scope": "Principal",
"LimitKind": "ResourceUtilization",
"Properties": {
"ResourceKind": "RequestCount",
"MaxUtilization": 50,
"TimeWindow": "01:00:00"
}
}
]
As políticas a seguir bloquearão todas as solicitações classificadas para o grupo de carga de trabalho:
[
{
"IsEnabled": true,
"Scope": "WorkloadGroup",
"LimitKind": "ConcurrentRequests",
"Properties": {
"MaxConcurrentRequests": 0
}
},
]