Cotas e limitação do Hub IoT
Este artigo explica os limites que se aplicam aos recursos do Hub IoT.
Cada assinatura do Azure pode ter no máximo 50 hubs IoT e pelo menos um hub na camada gratuita.
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. O tamanho da mensagem usado para calcular a cota diária é de 0,5 KB para um hub de nível gratuito e de 4 KB 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 hub no portal do Azure. A página Visão geral do hub IoT lista a Cota de mensagens diárias. Você também pode exibir e ajustar esse limite nas Configurações do hub>Preço e escala.
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 |
1 O tamanho do medidor de limitação é 1 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á contabilizado 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ê envia 200 mensagens dispositivo para nuvem por segundo para o Hub IoT S1 (que tem um limite de 100 mensagens 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.
Os mesmos valores máximos de limitação se aplicam às operações de identidade feitas por meio de operações de atualização de registro em massa (não trabalhos de importação e exportação em massa). Por exemplo, se você deseja enviar várias operações em massa para criar 50 dispositivos cada 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 limitação de conexões de dispositivo não está relacionada ao número máximo de dispositivos conectados simultaneamente. Aumente o número de unidades em um hub IoT para aumentar a taxa de conexões de dispositivo.
Por exemplo, se você comprar apenas uma unidade S1, obterá uma limitação de 100 conexões/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 (até 1 milhão).
Outros limites
IoT Hub impõe outros limites operacionais:
Operação | Limite |
---|---|
Identidades de dispositivo e módulo | 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. A contagem máxima 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. |
1 Esse 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.
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:
- Evite 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 em um gateway perto do dispositivo.
A adição de unidades do Hub IoT afeta a limitação, conforme descrito anteriormente, mas elas 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.