Hoe je kunt bepalen of Home Assistant wordt beperkt door de CPU, het RAM-geheugen, de opslag of het netwerk

Eva Wong is de Technisch Schrijver en en vaste knutselaar bij ZimaSpace. Een levenslange geek met een passie voor homelabs en open-source software, zij is gespecialiseerd in het vertalen van complexe technische concepten naar toegankelijke, praktische handleidingen. Eva gelooft dat zelf-hosting leuk moet zijn, niet intimiderend. Met haar tutorials stelt ze de community in staat om hardware-setup te ontrafelen, van het bouwen van hun eerste NAS tot het beheersen van Docker-containers.

Je kunt een knelpunt in Home Assistant pas identificeren nadat je één stabiel symptoom hebt gereproduceerd. Een hoge CPU-grafiek, weinig vrij RAM, een drukke schijf of een snel oplopende netwerkteller is op zichzelf niet voldoende; de beperkende resource is degene waarvan de belasting tegelijk verandert met het trager worden van de automatisering, het dashboard, de historiequery of de integratie.

Stel eerst de testomstandigheden vast. Gebruik elke keer dezelfde automatisering, hetzelfde apparaat, hetzelfde dashboard, hetzelfde historiegebied en dezelfde achtergrondbelasting. Observeer vervolgens CPU, geheugen, opslag en netwerk afzonderlijk en verander steeds één vermoedelijke beperking tegelijk.

Definieer het symptoom voordat je resourcegrafieken leest

“Home Assistant is traag” kan betekenen dat een fysieke actie vertraagd wordt uitgevoerd, dat een dashboard seconden nodig heeft om te renderen, dat de historie langzaam laadt, dat een integratie laat opnieuw verbinding maakt of dat een host tijdens een back-up hapert. Elk symptoom gebruikt een ander datapad.

Kies één herhaalbare gebeurtenis en voorzie die van een tijdstempel. Noteer bij een bewegingslamp wanneer de trigger binnenkomt en wanneer de fysieke reactie plaatsvindt. Meet bij historiequeries de tijd vanaf het starten van de query tot het eerste resultaat. Splits bij een dashboard de serverreactie en het renderen in de browser van elkaar. Noteer bij een niet-beschikbare integratie de netwerkbereikbaarheid en de integratielogs.

Verzamel niet zomaar een dozijn ongerelateerde grafieken om vervolgens naar de hoogste piek te zoeken. De test moet aangeven op welke systeemlaag werd gewacht toen de voor de gebruiker zichtbare vertraging optrad.

CPU is de beperking wanneer werk zich achter rekenkracht opstapelt

CPU is een sterke kandidaat wanneer Home Assistant of een gerelateerd proces langdurig rekenkracht gebruikt terwijl het symptoom erger wordt, en dezelfde werklast verbetert wanneer die rekenvraag wordt verwijderd of geïsoleerd.

De methode voor gebruik, verzadiging en fouten is nuttig omdat deze onderscheid maakt tussen een resource die alleen druk bezet is en een resource waarbij werk in de wachtrij staat. Voor Home Assistant is een korte CPU-piek minder belangrijk dan herhaalbare verzadiging die samenvalt met vertraagde automatiseringen of databasewerk.

Controleer welk proces of welke container de belasting veroorzaakt. Een camerataak, databaseonderhoud, een lokale AI-container of een begeleidende service kan de host verzadigen terwijl Home Assistant zelf weinig resources gebruikt.

RAM is de beperking wanneer de actieve werksset druk veroorzaakt

Linux gebruikt anders ongebruikt geheugen voor cache, dus weinig “vrij” RAM is niet automatisch een probleem. Let op beschikbaar geheugen, swap, druk op het geheugen, cgroup-limieten en OOM-gebeurtenissen.

De uitleg over reclaimbare Linux-bestandssysteemcache is belangrijk bij het analyseren van een Home Assistant-host: een machine kan het grootste deel van het RAM als gebruikt weergeven en toch voldoende gezonde reserve hebben.

Geheugen is waarschijnlijk de beperking wanneer dezelfde normale werklast het beschikbare geheugen herhaaldelijk sterk verlaagt, swap- of reclaimstalls veroorzaakt, een containerlimiet bereikt of OOM-beëindigingen oplevert. Voeg pas RAM toe of verklein de actieve werksset nadat dit patroon zichtbaar is.

Opslag is de beperking wanneer latentie meebeweegt met Recorder- of back-upwerk

Opslagdruk kan schuilgaan achter een lage CPU-belasting. Recorder-schrijfbewerkingen, databasequeries, herverpakkingen, back-ups, updates en andere containers kunnen op hetzelfde apparaat in de wachtrij komen terwijl de CPU-kernen grotendeels ongebruikt blijven.

Een waarschuwing over een achterstand in de Home Assistant Recorder is expliciet in verband gebracht met systemen die CPU-beperkt, I/O-beperkt zijn of een database- of opslagprobleem hebben. Daarom moet de fout aanleiding geven tot correlatie en niet tot het blind vervangen van de database.

Let op schijflatentie, I/O-wachttijd, wachtrijdiepte en de timing van Recorder- of back-uptaken. Opslag is de sterkere diagnose wanneer het symptoom deze metingen volgt en verdwijnt zodra de concurrerende I/O wordt verwijderd.

Netwerk is de beperking wanneer de server klaar is maar het pad niet

Een netwerkknelpunt kan betrekking hebben op doorvoer, pakketverlies, DNS-vertraging, instabiele wifi, firewallbeleid of een afhankelijkheid van een externe service. Home Assistant kan een inactieve CPU en snelle lokale opslag hebben terwijl één integratie of client op het netwerk wacht.

Test de server lokaal en test vervolgens het betreffende apparaat of de betreffende client vanaf hetzelfde LAN. Als lokale aanvragen snel zijn maar één VLAN, wifi-segment, DNS-naam of cloudafhankelijke integratie traag is, moet je de oplossing binnen dat pad zoeken.

Alleen netwerkgebruik meten is niet voldoende. Een licht belaste interface kan nog steeds problemen geven door naamresolutie, routing of pakketverlies, terwijl een drukke interface gezond kan blijven als er voldoende capaciteit over is en er weinig verlies optreedt.

Verander één variabele en eis dat het symptoom mee verandert

Resource Bewijs dat de diagnose ondersteunt Nuttige wijzigingstest
CPU Aanhoudende verzadiging of wachtrijvorming tijdens het symptoom Pauzeer het zware proces of isoleer de werklast
RAM Geheugendruk, swap, OOM of cgroup-limiet Verminder actieve services of verhoog de geteste limiet
Opslag Latentie of I/O-wachttijd volgt op Recorder- of back-upwerk Pauzeer concurrerende I/O of verplaats de status naar snellere opslag
Netwerk Alleen het externe of apparaatpad is traag Gebruik een directe lokale route of een alternatief netwerkpad

De analyse van ZimaSpace over opslaglatentie in bedieningspaden van Home Assistant is een goed voorbeeld van deze methode: een onderdeel wordt pas een knelpunt wanneer de timing ervan overeenkomt met de daadwerkelijke bedieningsvertraging.

Stop zodra één gecontroleerde wijziging het oorspronkelijke symptoom betrouwbaar verbetert. Dat is sterker bewijs dan welk afzonderlijk gebruikspercentage ook en voorkomt dat een dure upgrade de verkeerde laag oplost.

Ondersteuning & Tips

Meer om te lezen

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.