Cotas e limitação do Hub IoT

Este artigo explica as cotas de um Hub IoT, e fornece informações que ajudam você a entender como a limitação funciona.

Cada assinatura do Azure pode ter no máximo 50 hubs IoT e pelo menos um hub Gratuito.

Cada hub IoT é provisionado com unidades em uma camada específica. A camada e o número de unidades determinam a cota diária máxima de mensagens que você pode enviar em seu hub. O tamanho da mensagem usado para calcular a cota diária é de 0,5 KB para um hub de nível gratuito e de 4KB para todos os outros níveis. Para mais informações, confira Preços do Hub IoT do Azure ou [Escolher a camada certa do Hub IoT para sua solução].

Você pode encontrar o limite de cota do seu hub na coluna Número total de mensagens/dia na página de preços do Hub IoT no portal do Azure.

A camada também determina os limites de limitação que o Hub IoT aplicam em todas as operações.

Restrições de operação

As limitações de operação são limites de taxa aplicados em intervalos de minutos, e têm como objetivo evitar abusos. Elas também estão sujeitos à modelagem de tráfego.

É uma boa prática limitar as chamadas para que você não alcance/exceda o máximo de restrição. Se você atingir o limite, o Hub IoT responderá com o código de erro 429 e o cliente deverá fazer a retirada e tentar novamente. Esses limites são por hub (ou, em alguns casos por hub/unidade). Para obter mais informações, confira Padrão de repetição.

Para obter detalhes dos preços de quais operações são cobradas e em quais circunstâncias, consulte informações de cobrança.

Operações da camada Básica e Standard

A tabela a seguir mostra as restrições impostas para operações que estão disponíveis em todas as camadas do Hub IoT. Os valores referem-se a um hub individual.

Restrição Gratuito, B1 e S1 B2 e S2 B3 e S3
Operações de registro de identidade (criar, recuperar, listar, atualizar, excluir) 1,67/s/unidade (100/min/unidade) 1,67/s/unidade (100/min/unidade) 83,33/s/unidade (5.000/min/unidade)
Novas conexões de dispositivo (esse limite se aplica à taxa de novas conexões e não ao número total de conexões) Máximo de 100/s ou 12/s/unidade
Por exemplo, duas unidades de S1 são 2*12 = 12 novas conexões/s, mas você tem pelo menos 24 novas conexões s em suas unidades. Com nove unidades S1 você tem 108/s novas conexões/s (9*12) em suas uniddes.
120 novas conexões/s/unidade 6\.000 novas conexões/s/unidade
Envios do dispositivo para a nuvem Máximo de 100 operações de envio/s ou 12 operações de envio/s/unidade
Por exemplo, duas unidades de S1 são 2*12 = 12/s, mas você tem pelo menos 24 operações de envio/s em suas unidades. Com nove unidades S1 você tem 108 operações de envio/s (9*12) em suas unidades.
120 operações de envio/s/unidade 6\.000 operações de envio/s/unidade
Upload de arquivos 1,67 inícios de upload de arquivo/s/unidade (100/min/unidade) 1,67 inícios de upload de arquivo/s/unidade (100/min/unidade) 83,33 inícios de upload de arquivo/s/unidade (5.000/min/unidade)
Consultas 20/min/unidade 20/min/unidade 1\.000/min/unidade

Operações da camada Standard

A tabela a seguir mostra as restrições impostas para operações que estão disponíveis apenas em camadas Standard. Os valores referem-se a um hub individual.

Restrição Gratuitos e S1 S2 S3
Envios da nuvem para o dispositivo 1,67 operações de envio/s/unidade (100 mensagens/min/unidade) 1,67 operações de envio/s/unidade (100 operações de envio/min/unidade) 83,33 operações de envio/s/unidade (5.000 operações de envio/min/unidade)
Recebimentos da nuvem para o dispositivo
(somente quando o dispositivo usar HTTPS)
16,67 operações de recebimento/s/unidade (1.000 operações de recebimento/min/unidade) 16,67 operações de recebimento/s/unidade (1.000 operações de recebimento/min/unidade) 833,33 operações de recebimento/s/unidade (50.000 operações de recebimento/min/unidade)
Métodos diretos 160KB/sec/unit1 480KB/sec/unit1 24MB/sec/unit1
Leituras gêmeo (dispositivo e módulo) 100/s Máximo de 100/s ou 10/s/unidade 500/s/unidade
Atualizações gêmeo (dispositivo e módulo) 50/s Máximo de 50/s ou 5/s/unidade 250/s/unidade
Operações de trabalhos
(criar, atualizar, listar, excluir)
1,67/s/unidade (100/min/unidade) 1,67/s/unidade (100/min/unidade) 83,33/s/unidade (5.000/min/unidade)
Operações do dispositivo de trabalhos
(atualizar gêmeos, invocar o método direto)
10/s Máximo de 10/s ou 1/s/unidade 50/s/unidade
Configurações e implantações de borda
(criar, atualizar, listar, excluir)
0,33/s/unidade (20/min/unidade) 0,33/s/unidade (20/min/unidade) 0,33/s/unidade (20/min/unidade)
Taxa de inicialização do fluxo do dispositivo 5 novos fluxos/s 5 novos fluxos/s 5 novos fluxos/s
Número máximo de fluxos de dispositivos conectados simultaneamente 50 50 50
Transferência de dados máxima de fluxo de dispositivos (volume agregado por dia) 300 MB 300 MB 300 MB

1O tamanho do medidor de limitação é de 4 KB. A limitação é baseada apenas no tamanho do conteúdo de solicitação.

Detalhes da limitação

  • O tamanho do medidor determina em quais incrementos o máximo de limitação é consumido. Se o conteúdo da chamada direta estiver entre 0 e 4 KB, ele será contado como 4 KB. Você pode fazer até 40 chamadas por segundo por unidade até atingir o limite de 160 KB/s/unidade.

    Da mesma forma, se o conteúdo estiver entre 4 KB e 8 KB, cada chamada contará como 8 KB e você poderá fazer até 20 chamadas por segundo por unidade antes de atingir o limite máximo.

    Por fim, se o tamanho do conteúdo estiver entre 156 e 160 KB, você poderá fazer apenas uma chamada por segundo por unidade no hub antes de atingir o limite de 160 KB/s/unidade.

  • Para operações de dispositivo de trabalhos (gêmeo de atualização, invocar método direto) para a camada S3, 50/s/unidade só se aplica a quando você invoca métodos usando trabalhos. Se você invocar diretamente métodos diretos, o máximo de limitação original de 24 MB/s/unidade (para S3) se aplica.

  • As limitações de nuvem para dispositivo e de dispositivo para nuvem determinam a taxa máxima na qual você pode enviar mensagens, independentemente das partes de 4 KB. As mensagens de dispositivo para nuvem podem ter até 256 KB; as mensagens de nuvem para dispositivo podem ter até 64 KB. Esses são os tamanhos máximos para cada tipo de mensagem.

Modelagem de tráfego

Para acomodar o tráfego de intermitência, o Hub IoT aceita solicitações acima da limitação por um período determinado. As primeiras solicitações são processadas imediatamente. No entanto, se o número de solicitações continuar violando a limitação, o Hub IoT começará a colocar as solicitações em uma fila e as solicitações serão processadas na taxa limite. Este efeito é chamado de modelagem de tráfego. Além disso, o tamanho desta fila é limitado. Se a violação de limitação continuar, a fila será preenchida e o Hub IoT começará a rejeitar solicitações com 429 ThrottlingException.

Por exemplo, você usa um dispositivo simulado para enviar 200 mensagens de dispositivo para nuvem por segundo ao seu Hub IoT S1 (que tem um limite de 100 envios de dispositivo para nuvem por segundo). Nos primeiros dois minutos, as mensagens são processadas imediatamente. No entanto, como o dispositivo continua enviando mais mensagens do que o máximo da limitação, o Hub IoT passa a processar apenas 100 mensagens por segundo e coloca o resto em uma fila. Você vai notar uma latência maior. Em seguida, você vai obter 429 ThrottlingException à medida que a fila é preenchida, e a métrica do "número de erros de limitação" do Hub IoT começa a aumentar. Para saber como criar alertas e gráficos com base em métricas, consulte Monitoramento do Hub IoT.

Limitação de operações de registro de identidade

As operações de registro de identidade de dispositivos são destinadas para uso em tempo de execução em cenários de provisionamento e gerenciamento de dispositivos. Há suporte para leitura ou atualização de grandes números de identidades de dispositivo por meio de trabalhos de importação e exportação.

Ao iniciar operações de identidade por meio de operações de atualização de registro em massa (não trabalhos de importação e exportação em massa), se aplicam os mesmos máximos de limitação. Por exemplo, se você deseja enviar uma operação em massa para criar 50 dispositivos e tem um Hub IoT S1 com uma unidade, somente duas dessas solicitações em massa serão aceitas por minuto. Essa limitação se deve ao fato de que a restrição de operação de identidade para um Hub IoT S1 com uma unidade é de 100/min/unidade. Também nesse caso, uma terceira solicitação (ou mais) no mesmo minuto será rejeitada porque o limite já foi atingido.

Limitação de conexões de dispositivo

As conexões de dispositivo controla a taxa em que novas conexões de dispositivo podem ser estabelecidas com um Hub IoT. A restrição de conexões de dispositivo não controla o número máximo de dispositivos conectados simultaneamente. A limitação da taxa de conexões de dispositivo depende do número de unidades provisionadas para o hub IoT.

Por exemplo, se você comprar uma única unidade S1, obterá uma restrição de 100 conexões por segundo. Portanto, serão necessários pelo menos 1.000 segundos (aproximadamente 16 minutos) para conectar 100.000 dispositivos. No entanto, você pode conectar ao mesmo tempo todos os seus dispositivos registrados no registro de identidade.

Outros limites

IoT Hub impõe outros limites operacionais:

Operação Limite
Dispositivos O número total de dispositivos mais módulos que podem ser registrados em um Hub IoT é limitado a 1 milhão.
Carregamentos de arquivos 10 uploads de arquivo simultâneos por dispositivo.
Trabalhos1 O máximo de trabalhos simultâneos é 1 (para Gratuito e S1), 5 (para S2) e 10 (para S3). No entanto, o máximo de trabalhos de importação/exportação de dispositivos simultâneos é 1 para todas as camadas.
O histórico de trabalhos é retido por até 30 dias.
Pontos de extremidade adicionais Os hubs SKU Básico e Standard podem ter 10 pontos de extremidade adicionais. Hubs SKU gratuitos podem ter um ponto de extremidade adicional.
Consultas de roteamento de mensagens Os hubs SKU Básico e Standard podem ter até 100 consultas de roteamento. Hubs SKU gratuitos podem ter cinco consultas de roteamento.
Aprimoramentos de mensagem Os hubs SKU Básico e Standard podem ter até 10 enriquecimentos de mensagens. Os hubs SKU gratuitos podem ter até dois enriquecimentos de mensagens.
Mensagens do dispositivo para a nuvem Tamanho máximo da mensagem 256 KB
Mensagens de nuvem para dispositivo1 Tamanho máximo da mensagem 64 KB. O máximo de mensagens pendentes para entrega é 50 por dispositivo.
Método direto1 O tamanho máximo do conteúdo do método direto é de 128 KB para a solicitação e 128 KB para a resposta.
Configurações automáticas de dispositivos e módulos1 100 configurações por hub SKU Básico ou Standard. 10 configurações por hub SKU gratuito.
Implantações automáticas do IoT Edge1 50 módulos por implantação. 100 implantações (incluindo implantações em camadas) por hub SKU Básico ou Standard. 10 implantações por hub SKU gratuito.
Gêmeos1 O tamanho máximo das seções de propriedades desejadas e relatadas é 32 KB. O tamanho máximo da seção de marcações é 8 KB. O tamanho máximo de cada propriedade em cada seção é de 4 KB.
Políticas de acesso compartilhado O número máximo de políticas de acesso compartilhado é 16. Dentro desse limite, o número máximo de políticas de acesso compartilhado que concedem acesso de conexão de serviço é 10.
Restringir o acesso à rede de saída Número máximo de nomes de domínio totalmente qualificados permitidos é 20.
Certificados AC x509 O número máximo de certificados AC X509 que podem ser registrados no Hub IoT é 25.

1Esse recurso não está disponível na camada Básica do Hub IoT. Para obter mais informações, consulte Como escolher o Hub IoT correto.

Como aumentar a cota ou o máximo de limitação

A qualquer momento, você pode aumentar as cotas ou os máximos de limitação aumentando o número de unidades provisionadas em um Hub IoT.

Latency

O Hub IoT busca oferecer baixa latência para todas as operações. No entanto, devido a condições de rede e outros fatores imprevisíveis, não é possível garantir uma latência fixa. Ao projetar sua solução, você deve:

  • Evitar fazer suposições sobre a latência máxima de qualquer operação de IoT Hub.
  • Provisionar o hub IoT na região do Azure mais próxima de seus dispositivos.
  • Considere usar o Azure IoT Edge para executar operações sensíveis à latência no dispositivo ou no gateway perto do dispositivo.

Várias unidades do Hub IoT afetam a limitação, conforme descrito anteriormente, mas não oferecem nenhum benefício adicional de latência ou de garantia.

No caso de aumentos inesperados na latência da operação, entre em contato com o Suporte da Microsoft.

Próximas etapas

Para uma discussão aprofundada do comportamento de limitação do Hub IoT, veja a postagem do blog A limitação do Hub IoT e você.