Oznaki, że Home Assistant przerósł możliwości obecnego serwera domowego

Eva Wong jest redaktorką techniczną i rezydentką majsterkowania w ZimaSpace. Jest geekiem od zawsze, z pasją do domowych laboratoriów i oprogramowania open source, a jej specjalnością jest przekładanie złożonych zagadnień technicznych na przystępne, praktyczne poradniki. Eva wierzy, że samodzielne hostowanie powinno sprawiać radość, a nie onieśmielać. Dzięki swoim samouczkom pomaga społeczności oswoić konfigurację sprzętu, od budowy pierwszego serwera NAS po opanowanie kontenerów Docker.

Home Assistant przerósł możliwości serwera dopiero wtedy, gdy typowe szczytowe obciążenia wielokrotnie nie spełniają wymagań dotyczących usług i przywracania działania, nawet po odizolowaniu nieprawidłowo działających integracji i konfliktów o zasoby.

Wolno działający pulpit, długi restart lub wysoki wykres użycia procesora nie wystarczą, by stwierdzić, że host ma za małą wydajność. Podobne objawy może powodować jeden dodatek, zadanie bazy danych lub problem ze ścieżką dostępu do pamięci masowej. Zapisuj opóźnienie od zdarzenia do działania, presję pamięci, opóźnienie pamięci masowej i gotowość po restarcie w normalnej godzinie szczytu. Następnie usuwaj po jednym podejrzanym obciążeniu naraz i powtarzaj ten sam test, zanim zaplanujesz migrację.

Określ wymagania usług, zanim ocenisz host

Wybierz dwa lub trzy wyniki, które mają znaczenie w domu: opóźnienie od zdarzenia do działania lokalnej automatyzacji, gotowość pulpitu po restarcie oraz pomyślne wykonanie zadań historii lub kopii zapasowej przy największym zwykłym obciążeniu nakładającym się na siebie. Zapisz wyzwalacz testu, obciążenie i akceptowalny wynik, aby późniejsze zmiany porównywać przy takim samym obciążeniu.

W jednym z niedawnych przypadków powolnego działania system zaczął działać szybko 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 usługi, zanim obwini się sprzęt.

PASS oznacza, że host spełnia wymagania przy określonym obciążeniu. FAIL oznacza, że co najmniej jeden wynik stale odbiega od wymagań. Uzasadnia to dokładniejszą izolację problemu, ale nie wymianę sprzętu. Zachowaj surowe znaczniki czasu i ślady użycia zasobów zamiast polegać na subiektywnym wrażeniu płynności interfejsu.

Usuwaj po jednym nietypowym obciążeniu naraz

Zacznij od niedawno dodanych lub wyraźnie obciążających integracji, komponentów niestandardowych, dodatków, kopii zapasowych, zadań indeksowania i współdzielonych usług. Wyłącz lub przełóż na inny termin tylko jeden element, zrestartuj system raz, aby zweryfikować zmianę, i ponownie wykonaj to samo zadanie. Znaczna poprawa wskazuje na problem z obciążeniem, który mocniejszy sprzęt mógłby jedynie zamaskować.

Społeczność diagnozująca powolne działanie hosta Home Assistant często w pierwszej kolejności wskazuje dodatki lub integracje, które zatrzymują pamięć albo nieoczekiwanie obciążają procesor. Porady dotyczące izolowania nieprawidłowo działającej integracji pozwalają odróżnić wadliwe działanie obciążenia od ogólnego limitu wydajności platformy.

Jeśli usunięcie jednego elementu przywróci wszystkie docelowe parametry, napraw go lub wymień, zanim rozważysz przeniesienie na inny host. Jeśli żadna pojedyncza zmiana nie pomaga, przywróć zaakceptowaną konfigurację i przejdź do testów dotyczących konkretnych zasobów. Nie wprowadzaj kilku zmian polegających na wyłączaniu elementów naraz, bo nie będzie wiadomo, które obciążenie miało znaczenie.

Szukaj trwałego obciążenia pamięci i problemów z harmonogramowaniem

Zmierz szczytowe zużycie pamięci roboczej, aktywność pamięci wymiany lub odzyskiwania pamięci, zdarzenia braku pamięci, kolejki uruchomień procesora oraz opóźnienie od zdarzenia do działania w tym samym okresie dużego obciążenia. Średnie wykorzystanie procesora może pozostać umiarkowane, podczas gdy krótkie opóźnienia harmonogramowania wpływają na automatyzacje. Wyczerpanie pamięci może nastąpić nagle po stopniowym wycieku pamięci lub zwiększeniu zużycia przez konkurencyjny kontener.

Zalecenie dotyczące częstych restartów Home Assistant wskazuje, by najpierw sprawdzić zużycie pamięci RAM i ostatnio dodane rozszerzenia. Ten wskaźnik diagnostyczny, który w pierwszej kolejności bada pamięć, jest przydatny, ponieważ awaria związana z brakiem zasobów powinna korelować z presją na zasoby, a nie jedynie z czasem nieprzerwanej pracy.

PASS oznacza, że presja na zasoby pozostaje ograniczona, a opóźnienia mieszczą się w celu podczas powtarzających się szczytów. FAIL oznacza, że rośnie aktywność pamięci wymiany, odzyskiwania pamięci, kończenia procesów lub kolejek uruchomień, a wynik usługi nie osiąga celu. Host może być kandydatem do wymiany tylko wtedy, gdy usunięcie nietypowych obciążeń nie przerywa tej zależności.

Testuj pamięć masową i prace konserwacyjne osobno

Uruchom obciążenie raz bez tworzenia kopii zapasowej, czyszczenia, ponownego pakowania, skanowania multimediów ani zbiorczych operacji wejścia/wyjścia innego kontenera, a następnie powtórz test przy typowym nakładaniu się prac konserwacyjnych. Monitoruj opóźnienia bloków, wolne miejsce, zaległości w Recorder, czas odpowiedzi historii i gotowość po restarcie. Oddziel ograniczenia mocy obliczeniowej od wolnej lub przeciążonej ścieżki dostępu do pamięci masowej.

Procedura pracy z małym serwerem ZimaSpace opiera wnioski dotyczące sprzętu na pomiarach wąskich gardeł. Zastosuj tę samą kolejność co w dostosowywaniu Home Assistant na małym serwerze, aby odróżnić ograniczenia pamięci masowej, pamięci operacyjnej i obciążenia.

Jeśli niepowodzenie występuje tylko przy nakładaniu się prac konserwacyjnych, przełóż zadanie zbiorcze lub odizoluj je, a następnie powtórz 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 za słaby. Dowody na brak wystarczających zasobów wymagają sprawnej ścieżki dostępu do pamięci masowej, która mimo to nie spełnia celu.

Wymagaj trzech powtarzalnych niepowodzeń związanych z przepustowością

Uznaj host za niewystarczający pod względem zasobów dopiero wtedy, gdy ten sam typowy szczyt obciążenia nie osiąga tego samego celu w trzech próbach, zasób będący wąskim gardłem rośnie w każdej próbie, nietypowe obciążenia są wykluczone, a odwracalne zmniejszenie zapotrzebowania przywraca działanie usługi. Wymagaj też, by cel migracji lub wymiany zapewniał rozwiązanie problemu związanego z tym zmierzonym zasobem.

Host, który działa poprawnie po usunięciu jednej wadliwej integracji, nie przekroczył jeszcze swoich możliwości. Host, który zawodzi wyłącznie podczas opcjonalnego okna tworzenia kopii zapasowej, może wymagać zmiany harmonogramu. Host, na którym przy niezbędnym obciążeniu powtarzają się wymiana stron pamięci, kolejki operacji wejścia/wyjścia lub opóźnienia lokalnego sterowania, daje mocniejsze podstawy do migracji.

Zakończ diagnozę, gdy cele zostaną osiągnięte podczas dwóch restartów i w okresie największego typowego nakładania się obciążeń. Przejdź do planowania migracji, gdy utrzymają się trzy potwierdzone niepowodzenia i nie zostanie dotrzymane również okno odzyskiwania. Zachowaj obecny host jako środowisko wycofania do czasu, gdy nowe środowisko przejdzie identyczny test obciążeniowy i test przywracania.

Wsparcie i porady

Więcej do przeczytania

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.