Quantos utilizadores simultâneos consegue o Home Assistant suportar antes de ficar mais lento?

Eva Wong é a Redatora Técnica e e entusiasta residente na ZimaSpace. Uma geek de longa data com paixão por homelabs e software de código aberto, ela é especialista em traduzir conceitos técnicos complexos em guias acessíveis e práticos . Eva acredita que o auto-hospedagem deve ser divertida, não intimidante. Através dos seus tutoriais, ela capacita a comunidade adesmistificar configurações de hardware , desde a construção do seu primeiro NAS até dominar os contêineres Docker., from building their first NAS to mastering Docker containers.

O Home Assistant não tem uma resposta universal útil, como «20 utilizadores» ou «100 utilizadores». Uma conta com sessão iniciada e inativa cria uma carga de trabalho diferente da de um tablet de parede a apresentar um painel complexo, de um telemóvel a abrir o Histórico ou de vários utilizadores a ver cartões de câmaras enquanto milhares de entidades são atualizadas.

Dimensione a utilização simultânea medindo os clientes ligados e o trabalho causado por cada cliente. O limite prático é o ponto em que os seus painéis representativos, as atualizações WebSocket, as ações do servidor e o percurso de rede começam a não cumprir o tempo de resposta que considera aceitável.

Conte os clientes ligados, não apenas as contas de utilizador

Criar 100 contas não significa ter 100 sessões simultâneas. Por outro lado, uma pessoa pode ter um navegador, um telemóvel, um tablet e um quiosque ligados ao mesmo tempo.

A integração WebSocket do Home Assistant pode disponibilizar sensor.connected_clients como o número atual de clientes WebSocket ligados. Utilize esse número como indicador de simultaneidade enquanto reproduz a carga de trabalho.

Registe a contagem de clientes juntamente com a CPU do servidor, a pressão da memória, o débito da rede e a latência das ações. Uma contagem de ligações sem a carga de trabalho subjacente não é um resultado de capacidade.

O custo do frontend depende das atualizações de estado e do trabalho do painel

O frontend estabelece uma ligação WebSocket e mantém o estado do Home Assistant sincronizado com o navegador. Cada cliente também tem de apresentar o painel que abre, pelo que o hardware do cliente e os cartões personalizados podem tornar-se limites antes do servidor.

A arquitetura atual do frontend descreve como o frontend recebe o estado principal e subscrições adicionais através da API WebSocket. Assim, uma instalação ocupada cria trabalho contínuo de atualização após o carregamento inicial da página.

Faça testes com a combinação real de painéis utilizada pela família, em vez de abrir uma página de teste vazia em todos os clientes.

Uma taxa elevada de atualização de entidades pode afetar os clientes antes de a contagem de utilizadores parecer elevada

Um sistema com milhares de sensores que mudam frequentemente pode gerar muito mais trabalho para o frontend do que uma população maior de utilizadores que veja sobretudo entidades estáticas. Isto é especialmente visível em tablets mais antigos e painéis de parede de baixo consumo.

Um problema do Home Assistant documentou um caso em que grandes volumes de atualizações de entidades sobrecarregaram os clientes dos painéis, mesmo quando o próprio painel visível era simples.

Isto não define um limite universal, mas mostra por que razão «utilizadores» é a unidade única errada. Meça as atualizações por segundo e a capacidade de resposta do cliente juntamente com a contagem de ligações.

Não existe um máximo publicado para instalações domésticas que possa simplesmente copiar

As perguntas da comunidade sobre instalações invulgarmente grandes ilustram a incerteza. Uma discussão sobre cerca de 200 utilizadores não encontrou um máximo suportado claro e considerou essa escala um caso de utilização invulgar que deveria ser testado, em vez de presumido.

Para uma família normal, isto significa que não precisa de procurar um número máximo de sessões ao estilo dos fornecedores. Para uma instalação comunitária, um edifício partilhado, um laboratório ou outra implementação com muitos utilizadores, o Home Assistant pode não ser a plataforma de identidade e acesso adequada, mesmo que o servidor consiga suportar tecnicamente as ligações.

O método de dimensionamento da carga de trabalho simultânea da ZimaSpace aplica-se aqui: a capacidade deve estar associada à sobreposição realista mais exigente, não ao total de contas registadas.

Execute um teste progressivo até uma métrica repetir a falha

Etapa Medir Condição de paragem
Adicione clientes ativos em pequenos grupos Clientes ligados Simultaneidade representativa atingida
Abra painéis reais Renderização inicial e atraso na interação Atraso visível repetido para o utilizador
Gere tráfego normal de entidades Carga WebSocket/atualizações Os clientes não conseguem acompanhar
Acione ações comuns Latência entre a ação do servidor e o dispositivo A latência dos controlos aumenta significativamente
Repita no pico CPU, memória, rede e carga dos clientes A mesma camada limitadora volta a aparecer

Escolha uma capacidade um passo abaixo do primeiro ponto de falha repetível e deixe margem para cópias de segurança, atualizações, tráfego de câmaras e picos invulgares. Se apenas um tablet antigo ficar lento enquanto as ações do servidor continuam rápidas, substituir o servidor pode não aumentar a simultaneidade utilizável.

Perguntas frequentes

20 contas de utilizador do Home Assistant equivalem a 20 utilizadores simultâneos?

Não. As contas são identidades; a simultaneidade corresponde às ligações de clientes ativas e ao trabalho que esses clientes geram. Um utilizador pode ter vários clientes, enquanto muitas contas podem estar completamente inativas.

Os painéis mais simples permitirão sempre que mais utilizadores se liguem?

Podem reduzir o trabalho de renderização do cliente, mas a capacidade do servidor também depende da taxa de atualização das entidades, do tráfego WebSocket, das consultas ao histórico, das câmaras, do percurso de rede e dos serviços em segundo plano. Meça a carga de trabalho completa.

Suporte e Dicas

Mais para Ler

Get More Builds Like This

Stay in the Loop

Get updates from Zima - new products, exclusive deals, and real builds from the community.

Stay in the Loop preferences

We respect your inbox. Unsubscribe anytime.