Política de limite de taxa de solicitação
Aplica-se a: ✅Microsoft Fabric✅ do 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 trabalho.
Os limites de taxa são impostos no nível definido pela política de imposição de limites de taxa de solicitação de do grupo de carga de trabalho.
O objeto de política
Uma política de limite de taxa de solicitação tem as seguintes propriedades:
Nome | Valores com suporte | Descrição |
---|---|---|
IsEnabled |
true , false |
Indica se a política está habilitada ou não. |
Âmbito |
WorkloadGroup , Principal |
O escopo ao qual o limite se aplica. |
LimitKind |
ConcurrentRequests , ResourceUtilization |
O tipo do limite de taxa de solicitação. |
Propriedades | Recipiente de propriedades | 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:
Nome | Tipo | Descrição | Valores com suporte |
---|---|---|---|
MaxConcurrentRequests | int |
O número máximo de solicitações simultâneas. | [0 , 10000 ] |
Nota
- Se um grupo de carga de trabalho não tiver um limite especificado nas solicitações simultâneas máximas, ele está sujeito ao valor máximo padrão de
10000
.
Quando uma solicitação excede o limite no número máximo de solicitações simultâneas:
- O estado da solicitação, conforme apresentado pelos comandos de informações do sistema , será
Throttled
. - A mensagem de erro incluirá o de origem
da limitação e a capacidade 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 limitado 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 gerenciamento foi anulado devido à limitação. Tentar novamente após alguma retirada pode ter êxito. CommandType: 'TableCreate', Capacidade: 80, Origem: 'RequestRateLimitPolicy/WorkloadGroup/default'. |
Uma consulta limitada que foi classificada para 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 anulada devido à limitação. Tentar novamente após alguma retirada pode ter êxito. 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 trabalho. |
A consulta foi anulada devido à limitação. Tentar novamente após alguma retirada pode ter êxito. 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.
Nota
- Se um dos limites definidos pelo política de capacidade ou por uma política de limite de taxa de solicitação for excedido, um comando de gerenciamento será limitado.
- A política de capacidade pode limitar a taxa de solicitação de solicitações que se enquadram em uma categoria específica, como ingestões.
Limite de taxa de utilização de recursos
Um limite de taxa de solicitação do tipo ResourceUtilization
inclui as seguintes propriedades:
Nome | Tipo | Descrição | Valores com suporte |
---|---|---|---|
ResourceKind | ResourceKind |
O recurso a ser limitado. Quando ResourceKind é TotalCpuSeconds , o limite é imposto com base em relatórios pós-execução da 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 de CPU que podem ser consumidos por solicitações em uma janela de tempo especificada (TimeWindow ). Por exemplo, um usuário que executa 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 que iniciadas simultaneamente, já que os segundos cumulativos da CPU ultrapassaram o limite definido dentro do período de janela deslizante. |
RequestCount , TotalCpuSeconds |
MaxUtilization | long |
O máximo do recurso que pode ser utilizado. | RequestCount: [1 , 16777215 ]; TotalCpuSeconds: [1 , 828000 ] |
TimeWindow | 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 pelos comandos de informações do sistema , será
Throttled
. - A mensagem de erro incluirá o de origem
da limitação e a cota de excedida. 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 1.000 solicitações por hora no escopo de uma entidade de segurança. |
A solicitação foi negada devido ao excesso de 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 para um grupo de carga de trabalho chamado Automated Requests , que tem um limite de 2.000 segundos totais de CPU por hora no escopo do grupo de carga de trabalho. |
A solicitação foi negada devido ao excesso de limitações de cota. Recurso: 'TotalCpuSeconds', Cota: '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 consistência forte, o limite padrão de solicitações simultâneas máximas depende da SKU do cluster e é calculado como: Cores-Per-Node x 10
. Por exemplo, um cluster configurado com nós de D14_v2 do Azure, em que cada nó tem 16 vCores, terá um limite padrão de 16
x 10
= 160
.
Com consistência fraca, o limite padrão efetivo de solicitações simultâneas máximas depende da SKU do cluster e do número de cabeças 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 cinco cabeças de consulta, em que cada nó tem 16 vCores, terá um limite padrão efetivo de 16
x 10
x 5
= 800
.
Com consistência forte, 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 de D14_v2 do Azure, em que cada nó tem 16 vCores, terá um limite padrão de 16
x 10
= 160
.
Com consistência fraca, o limite padrão efetivo de solicitações simultâneas máximas 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 cinco cabeças de consulta, em que 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 de consulta.
O grupo de carga de trabalho default
O grupo de cargas de trabalho default
tem a política a seguir definida por padrão. Essa política pode ser alterada.
[
{
"IsEnabled": true,
"Scope": "WorkloadGroup",
"LimitKind": "ConcurrentRequests",
"Properties": {
"MaxConcurrentRequests": < Cores-Per-Node x 10 >
}
}
]
Nota
- Quando você altera a política do 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:
- 500 solicitações simultâneas para o grupo de carga de trabalho.
- 25 solicitações simultâneas por entidade de segurança.
- 50 solicitações por entidade de segurança 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
}
},
]