Dlaczego Home Assistant działa inaczej na dyskach SSD i HDD?

Eva Wong jest Technicznym pisarzem i stałym majsterkowiczem w ZimaSpace. Całe życie geek z pasją do homelabów i oprogramowania open-source, specjalizuje się w tłumaczeniu skomplikowanych koncepcji technicznych na przystępne, praktyczne przewodniki. Eva wierzy, że samodzielne hostowanie powinno być zabawą, a nie czymś onieśmielającym. Poprzez swoje samouczki umożliwia społeczności rozwiewanie tajemnic konfiguracji sprzętu, od budowy pierwszego NAS po opanowanie kontenerów Docker.

Home Assistant często działa szybciej na dysku SSD, ponieważ bazy danych, logi i metadane wykonują małe operacje losowe, które uwidaczniają opóźnienia wyszukiwania i kolejkowania typowe dla dysków HDD.

Przepustowość sekwencyjnego tworzenia kopii zapasowych może wyglądać akceptowalnie na obu nośnikach, jednak codzienna interakcja łączy zapisy modułu Recorder, zapytania do historii, metadane systemu plików, logi i aktywność kontenerów. Dysk SSD może obsługiwać te rozproszone operacje przy znacznie mniejszych opóźnieniach dostępu, podczas gdy głowica dysku HDD musi przemieszczać się między lokalizacjami. Pamięć podręczna może tymczasowo ukrywać różnicę, dlatego najbardziej wyraźnie ujawnia się ona podczas uruchamiania z pustą pamięcią podręczną i przy równoczesnych obciążeniach.

Recorder zamienia małe zmiany w losowe operacje pamięci masowej

Zdarzenia encji stają się wierszami bazy danych, aktualizacjami dziennika, zmianami indeksów i synchronizacją systemu plików. Są to często małe operacje rozproszone w strukturach bazy danych, a nie jeden duży strumień sekwencyjny.

Omówienie porównujące wybór bazy danych dla wielu encji podkreśla rolę pamięci masowej i działania backendu, pokazując, dlaczego sposób działania pamięci masowej bazy danych może mieć znaczenie, zanim użycie procesora stanie się wysokie.

Czas wyszukiwania dysku HDD sprawia, że rozproszone operacje oczekują na ruch mechaniczny, podczas gdy pamięć flash SSD obsługuje je elektronicznie. Rezultatem jest mniejsze opóźnienie kolejki, a niekoniecznie wyższa widoczna liczba megabajtów na sekundę.

Zapytania do historii korzystają z odczytów o małych opóźnieniach

Żądanie historii na pulpicie może odwoływać się do indeksów i wielu nieciągłych stron. Jeśli tych stron nie ma w pamięci, urządzenie pamięci masowej musi je pobrać, zanim baza danych będzie mogła odfiltrować, zdekodować i zwrócić wynik.

Operator kompresujący bazę danych SQLite Home Assistant zgłosił skupienie na responsywności, pokazując, jak lokalność pliku bazy danych i układ pliku mogą zmienić pozorną ścieżkę odczytu.

Powtarzane zapytanie może stać się szybkie na obu urządzeniach, ponieważ system operacyjny buforuje strony. Porównuj uruchomienia z pustą pamięcią podręczną lub przy ograniczonej dostępnej pamięci, aby ujawnić opóźnienia nośnika, i nie uznawaj pojedynczego wykresu z rozgrzaną pamięcią podręczną za dowód identycznego działania pamięci masowej.

Mieszane obciążenia uwydatniają różnicę między SSD a HDD

Recorder, logi, dodatki, kopie zapasowe i zapytania do historii mogą współdzielić jeden wolumin. Dysk HDD przełącza się między wyszukiwaniami związanymi z ich żądaniami, podczas gdy SSD obsługuje więcej oczekujących operacji losowych przy mniejszej liczbie ruchów na żądanie.

Poradnik dotyczący wydajności bazy danych łączy wolną pamięć masową z opóźnieniami Home Assistant, wskazując na mieszane opóźnienia wejścia-wyjścia bazy danych jako mechanizm powodujący spowolnienia podczas jednoczesnych odczytów i zapisów.

Oddzielenie dużych danych sekwencyjnych od bazy danych może pomóc w projekcie opartym na HDD, ale tylko wtedy, gdy ścieżki i kopie zapasowe zachowują spójność. Przeniesienie plików bez pomiaru aktywnej kolejki może zmienić lokalizację danych, pozostawiając opóźnienia bez zmian.

SSD nie naprawi każdego powolnego interfejsu

Szablony obciążające procesor, blokująca integracja, przekroczenia limitu czasu w chmurze, ponawianie prób przez radio, renderowanie po stronie klienta i utrata sieci mogą sprawić, że Home Assistant będzie wydawać się powolny przy niemal zerowym obciążeniu dysku. Większa szybkość pamięci masowej nie skróci tych oczekiwań.

Omówienie migracji Raspberry Pi na SSD dotyczy zarówno pamięci masowej, jak i buforowania w pamięci, pokazując, dlaczego wpływ SSD i pamięci podręcznej należy oddzielić od efektu rozgrzanej pamięci podręcznej.

To granica diagnozy: przypisuj problem pamięci masowej tylko wtedy, gdy opóźnienie działania lub zapytania rośnie wraz z opóźnieniem dysku i głębokością kolejki. Jeśli podczas występowania objawu pamięć masowa pozostaje bezczynna i responsywna, zbadaj kolejną warstwę.

Mierz opóźnienia, a nie tylko przepustowość

Używaj tej samej kopii zapasowej i tej samej wersji Home Assistant na każdym nośniku. Zmierz uruchamianie z pustą pamięcią podręczną, stałe zapytanie do historii, nieszkodliwe działanie podczas aktywności modułu Recorder, czas trwania kopii zapasowej, opóźnienie dysku p95, głębokość kolejki oraz integralność bazy danych po ponownym uruchomieniu.

Ścieżka sterowania zależna od opóźnienia pamięci masowej wyjaśnia, jak opóźnienie pamięci masowej wpływa na całą ścieżkę sterowania domem, łącząc test z konsekwencją widoczną dla użytkownika.

Wybierz SSD, gdy testy opóźnień operacji losowych wielokrotnie poprawiają działanie docelowego obciążenia. Używaj HDD do dużych danych sekwencyjnych, jeśli spełnia ten sam cel i przechodzi test odzyskiwania. Jeśli oba nośniki wykazują równie małe opóźnienia, a interfejs nadal działa wolno, przerwij dostrajanie pamięci masowej i prześledź czas Core, sieci lub klienta.

Centrum Technologii i Sztucznej Inteligencji

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.