Home Assistant nie ma użytecznej, uniwersalnej odpowiedzi w rodzaju „20 użytkowników” czy „100 użytkowników”. Zalogowane konto pozostające bezczynnie generuje inne obciążenie niż tablet ścienny renderujący złożony pulpit, telefon otwierający historię czy kilku użytkowników obserwujących kafelki kamer, podczas gdy aktualizują się tysiące encji.
Określ rozmiar obsługi równoczesnej, mierząc liczbę połączonych klientów oraz obciążenie generowane przez każdego z nich. Praktyczny limit to moment, w którym używane przez Ciebie reprezentatywne pulpity, aktualizacje WebSocket, działania serwera i ścieżka sieciowa zaczynają przekraczać akceptowalny czas odpowiedzi.
Liczy się liczba połączonych klientów, nie tylko kont użytkowników
Utworzenie 100 kont nie oznacza 100 jednoczesnych sesji. Z drugiej strony jedna osoba może mieć jednocześnie podłączoną przeglądarkę, telefon, tablet i kiosk.
Integracja WebSocket Home Assistant może udostępniać sensor.connected_clients jako bieżącą liczbę połączonych klientów WebSocket. Użyj tej liczby jako wskaźnika równoczesnego obciążenia podczas odtwarzania danego scenariusza.
Rejestruj liczbę klientów razem z użyciem procesora serwera, presją pamięci, przepustowością sieci i opóźnieniem działań. Sama liczba połączeń, bez informacji o generowanym przez nie obciążeniu, nie jest wynikiem testu wydajności.
Koszt działania interfejsu zależy od aktualizacji stanu i pracy pulpitu
Interfejs nawiązuje połączenie WebSocket i synchronizuje stan Home Assistant z przeglądarką. Każdy klient musi również renderować otwierany pulpit, dlatego sprzęt kliencki i niestandardowe kafelki mogą stać się ograniczeniem, zanim ograniczeniem stanie się serwer.
Aktualna architektura interfejsu opisuje, jak interfejs otrzymuje podstawowy stan i dodatkowe subskrypcje za pośrednictwem API WebSocket. Zajęta instalacja generuje więc ciągłą pracę związaną z aktualizacjami także po początkowym załadowaniu strony.
Testuj rzeczywisty zestaw pulpitów używanych przez domowników, zamiast otwierać pustą stronę testową na każdym kliencie.
Wysoka częstotliwość aktualizacji encji może przeciążyć klientów, zanim liczba użytkowników stanie się duża
System z tysiącami często zmieniających się czujników może generować znacznie więcej pracy interfejsu niż większa liczba użytkowników obserwujących w większości statyczne encje. Jest to szczególnie widoczne na starszych tabletach i energooszczędnych panelach ściennych.
W zgłoszeniu Home Assistant opisano przypadek, w którym duża liczba aktualizacji encji przeciążyła klientów korzystających z pulpitów, mimo że sam widoczny pulpit był prosty.
Nie wyznacza to uniwersalnego progu, ale pokazuje, dlaczego „użytkownicy” to niewłaściwa pojedyncza jednostka miary. Oprócz liczby połączeń mierz liczbę aktualizacji na sekundę i responsywność klientów.
Nie opublikowano maksymalnej liczby użytkowników dla wdrożeń domowych
Pytania społeczności dotyczące nietypowo dużych wdrożeń pokazują tę niepewność. W dyskusji o około 200 użytkownikach nie znaleziono jasno określonego, obsługiwanego maksimum, a taką skalę uznano za nietypowy przypadek, który należy przetestować, zamiast zakładać jego obsługę.
W typowym gospodarstwie domowym oznacza to, że nie musisz szukać maksymalnej liczby sesji podawanej przez producenta. W przypadku obiektu społecznościowego, współdzielonego budynku, laboratorium lub innego wdrożenia z dużą liczbą użytkowników Home Assistant może nie być właściwą platformą do zarządzania tożsamością i dostępem, nawet jeśli serwer jest technicznie w stanie utrzymać te połączenia.
Metoda doboru rozmiaru na podstawie równoczesnego obciążenia ZimaSpace ma tu zastosowanie: wydajność należy odnosić do najbardziej intensywnego realistycznego nakładania się obciążeń, a nie do łącznej liczby zarejestrowanych kont.
Przeprowadź test stopniowy, aż jedna metryka zacznie powtarzalnie wskazywać awarię
| Etap | Pomiar | Warunek zatrzymania |
|---|---|---|
| Dodawaj aktywnych klientów małymi grupami | Połączeni klienci | Osiągnięto reprezentatywną liczbę jednoczesnych połączeń |
| Otwórz rzeczywiste pulpity | Początkowe renderowanie i opóźnienie interakcji | Powtarzalne opóźnienia odczuwalne przez użytkownika |
| Wygeneruj normalny ruch encji | Obciążenie WebSocket i aktualizacjami | Klienci nie nadążają |
| Uruchom typowe działania | Opóźnienie od działania serwera do urządzenia | Opóźnienie sterowania wyraźnie rośnie |
| Powtórz test przy szczytowym obciążeniu | Obciążenie procesora, pamięci, sieci i klientów | Ponownie pojawia się ta sama warstwa ograniczająca |
Ustal pojemność o jeden etap poniżej pierwszego powtarzalnego punktu awarii i pozostaw zapas na kopie zapasowe, aktualizacje, ruch z kamer oraz nietypowe skoki obciążenia. Jeśli zwalnia tylko jeden stary tablet, a działania serwera pozostają szybkie, wymiana serwera może nie zwiększyć użytecznej liczby jednoczesnych klientów.
FAQ
Czy 20 kont użytkowników Home Assistant oznacza 20 użytkowników jednocześnie?
Nie. Konta określają tożsamości, a równoczesność oznacza aktywne połączenia klientów i obciążenie generowane przez te połączenia. Jeden użytkownik może mieć kilka klientów, podczas gdy wiele kont może pozostawać całkowicie bezczynnych.
Czy prostsze pulpity zawsze pozwolą na połączenie większej liczby użytkowników?
Mogą zmniejszyć obciążenie związane z renderowaniem po stronie klienta, ale wydajność serwera zależy również od częstotliwości aktualizacji encji, ruchu WebSocket, zapytań do historii, kamer, ścieżki sieciowej i usług działających w tle. Zmierz pełne obciążenie.
Wsparcie i wskazówki
Więcej do przeczytania

Oznaki wskazujące, że baza danych Home Assistant wymaga konserwacji lub wymiany
Duża baza danych Home Assistant zwykle wymaga konfiguracji przechowywania danych lub czyszczenia; powtarzające się uszkodzenia albo błędy integralności są silniejszym sygnałem do wymiany.

Czy Home Assistant może korzystać z zewnętrznej bazy danych bez zakłócania aktualizacji?
Zewnętrzna baza danych Recorder może przetrwać aktualizacje, ale wiąże się z własną dostępnością, migracją schematu, tworzeniem kopii zapasowych, przywracaniem oraz obowiązkami związanymi z wersjonowaniem.

Jak sprawdzić, czy DNS powoduje problemy z połączeniem Home Assistant
Potwierdź awarię DNS w Home Assistant, testując tę samą nazwę hosta z dotkniętej ścieżki, porównując dostępność bezpośrednio przez adres IP oraz sprawdzając odpowiedzi A/AAAA.

