Home Assistant przerósł możliwości swojego serwera dopiero wtedy, gdy normalne szczytowe obciążenia wielokrotnie nie mieszczą się w założonych celach dotyczących obsługi i odzyskiwania po awarii, po odizolowaniu nietypowych integracji i rywalizacji o zasoby.
Wolny pulpit, długi restart lub wysoki wykres użycia procesora nie wystarczą, ponieważ pojedynczy dodatek, zadanie bazy danych lub niesprawna ścieżka pamięci masowej mogą sprawiać wrażenie, że host jest zbyt słaby. Podczas typowej intensywnej godziny rejestruj opóźnienie od zdarzenia do wykonania akcji, presję na pamięć, opóźnienia pamięci masowej oraz gotowość po restarcie. Następnie usuwaj po jednym podejrzanym obciążeniu i powtarzaj ten sam test przed zaplanowaniem migracji.
Ustal cele dotyczące działania usługi, zanim ocenisz hosta
Wybierz dwa lub trzy istotne w domu wyniki: opóźnienie od zdarzenia do wykonania akcji dla lokalnej automatyzacji, gotowość pulpitu po restarcie oraz pomyślne wykonanie historii lub kopii zapasowej podczas największego typowego nakładania się obciążeń. Zapisz wyzwalacz testu, obciążenie i akceptowalny wynik, aby późniejsze zmiany porównywać przy takim samym zapotrzebowaniu.
W niedawnym przypadku powolnego systemu działanie znacznie przyspieszyło po usunięciu nieużywanej usługi Matter, mimo że początkowo wyglądało to na ogólny problem z hostem. Ten wynik izolacji dodatku pokazuje, dlaczego objawy trzeba powiązać z powtarzalnym celem dotyczącym działania usługi, zanim obwini się sprzęt.
PASS oznacza, że host spełnia cele przy zdefiniowanym obciążeniu. FAIL oznacza, że co najmniej jeden wynik stale nie spełnia celu, co uzasadnia dokładniejszą izolację, ale jeszcze nie wymianę. Zachowuj surowe znaczniki czasu i ślady wykorzystania zasobów zamiast polegać wyłącznie na odczuwalnej responsywności interfejsu.
Usuwaj pojedyncze nietypowe obciążenia
Zacznij od ostatnio dodanych lub wyraźnie generujących dużo komunikatów integracji, komponentów niestandardowych, dodatków, kopii zapasowych, zadań indeksowania i usług współdzielonych. Wyłączaj lub zmieniaj harmonogram tylko jednego elementu, wykonaj jeden restart jako etap weryfikacji i ponownie uruchom to samo obciążenie. Duża poprawa wskazuje na problem z obciążeniem, który mocniejszy sprzęt mógłby jedynie ukryć.
Diagnozy społeczności dotyczące powolnego hosta Home Assistant często w pierwszej kolejności wskazują na dodatki lub integracje, które nieoczekiwanie zatrzymują pamięć albo zużywają procesor. Porady dotyczące izolowania wadliwej integracji pozwalają odróżnić nieprawidłowe działanie obciążenia od ogólnego limitu wydajności platformy.
Jeśli usunięcie jednego elementu przywróci realizację wszystkich celów, napraw lub wymień ten komponent, zanim rozważysz przeniesienie na innego hosta. Jeśli żadna pojedyncza zmiana nie pomoże, przywróć zaakceptowaną konfigurację i przejdź do testów dotyczących konkretnych zasobów. Nie wyłączaj wielu elementów naraz, ponieważ wynik nie wskaże wtedy, które obciążenie miało znaczenie.
Sprawdź trwałą presję na pamięć i harmonogramowanie
Mierz szczytowe użycie pamięci roboczej, aktywność wymiany lub odzyskiwania pamięci, zdarzenia braku pamięci, kolejki uruchomień procesora oraz opóźnienie od zdarzenia do wykonania akcji w tym samym intensywnym okresie. Średnie użycie procesora może pozostać umiarkowane, podczas gdy krótkie opóźnienia harmonogramowania wpływają na automatyzacje. Wyczerpanie pamięci może pojawić się nagle po stopniowym wycieku lub rozszerzeniu się konkurencyjnego kontenera.
W raporcie dotyczącym częstych restartów Home Assistant zaleca się najpierw sprawdzić zużycie pamięci RAM i ostatnio dodane dodatki. Ten wskaźnik diagnostyczny stawiający pamięć na pierwszym miejscu jest przydatny, ponieważ awaria wydajnościowa powinna korelować z presją na zasoby, a nie tylko z czasem działania.
PASS oznacza, że presja pozostaje ograniczona, a opóźnienie spełnia cel podczas powtarzających się szczytów. FAIL oznacza, że wymiana, odzyskiwanie pamięci, ubijanie procesów lub kolejki uruchomień rosną wraz z niespełnieniem celu usługi. Host można uznać za kandydata do rozbudowy dopiero wtedy, gdy usunięcie nietypowych obciążeń nie przerwie tej korelacji.
Testuj pamięć masową i konserwację osobno
Uruchom obciążenie raz bez kopii zapasowej, czyszczenia, przepakowywania, skanowania multimediów ani masowych operacji wejścia-wyjścia innego kontenera, a następnie powtórz je przy typowym nakładaniu się zadań konserwacyjnych. Śledź opóźnienia bloków, wolne miejsce, zaległości Rejestratora, szybkość odpowiedzi historii oraz gotowość po restarcie. Oddziel wydajność obliczeniową od powolnej lub przeciążonej ścieżki pamięci masowej.
Przepływ pracy ZimaSpace dla małego serwera wykorzystuje zmierzone wąskie gardła przed wyciągnięciem wniosków dotyczących sprzętu. Zastosuj tę samą sekwencję z artykułu dostosowywanie Home Assistant na małym serwerze, aby odróżnić ograniczenia pamięci masowej, pamięci i obciążenia.
Jeśli zawodzi tylko nakładanie się zadań konserwacyjnych, zmień harmonogram masowego zadania lub odizoluj je, a następnie ponów test. Jeśli opóźnienia pamięci masowej pozostają wysokie, gdy host jest poza tym bezczynny, napraw urządzenie lub system plików, zanim uznasz, że cały sprzęt jest zbyt słaby. Dowody na niewystarczającą wydajność wymagają sprawnej ścieżki pamięci masowej, która nadal nie potrafi spełnić celu.
Wymagaj trzech powtarzalnych niepowodzeń wydajnościowych
Uznaj hosta za zbyt słabego dopiero wtedy, gdy ten sam typowy szczyt obciążenia nie spełni tego samego celu w trzech próbach, ograniczający zasób wzrośnie w każdej próbie, nietypowe obciążenia zostaną wykluczone, a odwracalne zmniejszenie zapotrzebowania przywróci działanie usługi. Wymagaj również, aby planowany cel migracji lub wymiany odpowiadał na zmierzony problematyczny zasób.
Host, który przechodzi test po usunięciu jednej uszkodzonej integracji, nie został jeszcze przerosnięty. Host, który zawodzi tylko podczas opcjonalnego okna tworzenia kopii zapasowej, może wymagać zmian w harmonogramie. Host, który przy niezbędnym obciążeniu wielokrotnie korzysta z pamięci wymiany, tworzy kolejki operacji wejścia-wyjścia lub opóźnia lokalne sterowanie, dostarcza mocniejszych dowodów na potrzebę migracji.
Zakończ diagnozę, gdy cele są spełnione podczas dwóch restartów i największego typowego nakładania się obciążeń. Rozpocznij planowanie migracji, gdy pozostaną trzy zgodne niepowodzenia, a okno odzyskiwania również nie zostanie dotrzymane. Zachowaj obecnego hosta jako środowisko awaryjnego powrotu do czasu, aż nowe środowisko przejdzie identyczny test obciążenia i odtwarzania.
Wsparcie i wskazówki
Więcej do przeczytania

Home Assistant działa przez Wi-Fi, ale nie działa przez Ethernet ani VPN
Przetestuj każdą ścieżkę sieciową osobno, sprawdź stan interfejsów i routingu, rozróżnij bezpośrednie połączenie z adresem IP od wykrywania, a następnie napraw tylko uszkodzoną warstwę.

Jak wycofać Home Assistant z użycia, nie pozostawiając niechronionych danych
Udowodnij wymianę lub archiwizację, unieważnij każdą ścieżkę zaufania, wyczyść każde urządzenie zawierające dane i zachowaj wyłącznie udokumentowane chronione kopie zapasowe.

Czy warto używać automatycznych aktualizacji Home Assistant na serwerze domowym?
Wybierz aktualizacje ręczne, tylko z powiadomieniem lub etapowe aktualizacje automatyczne, uwzględniając wpływ na gospodarstwo domowe, ryzyko niezgodności, czas obserwacji i gotowość do przywrócenia działania.

