Hoe je de prestaties van Home Assistant meet zonder cache met capaciteit te verwarren

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.

Een snelle, warme Home Assistant-test bewijst geen beschikbare capaciteit; hij kan alleen aantonen dat browser-, database-, bestands- of applicatiecaches al gevuld zijn.

Capaciteit is de hoeveelheid aanhoudend werk die een systeem binnen een doel voor latentie en correctheid kan voltooien, terwijl cache de kosten van herhaald werk verandert. Een dashboard dat bij het tweede bezoek snel opent, een geschiedenisquery die door gecachete pagina's wordt versneld, of een herstart waarna één automatisering soepel verloopt, kunnen allemaal nuttige observaties zijn zonder de bovengrens van de werklast te tonen. Meet koude, warme, stabiele en verzadigingsfasen afzonderlijk.

Scheid eerst cache-effecten van de werklast waarvoor je wilt dimensioneren

Verschillende Home Assistant-paden hebben verschillende caches. Browsers bewaren frontend-assets; het besturingssysteem cachet bestandssysteempagina's; SQLite of een andere database profiteert van recent gelezen pagina's; integraties kunnen verbindingen of apparaatstatus bijhouden; ook DNS en TLS kunnen worden hergebruikt. Eén enkele “warme” benchmark kan meerdere van deze effecten tegelijk bevatten.

Een communityhandleiding van Home Assistant over Recorder-prestaties legt uit hoe een grote database meer lees-, schrijf- en indexwerk veroorzaakt, en laat zien dat de databasewerklast verandert met de bewaarde status, en niet alleen met de CPU-snelheid. Een warme paginacache kan een deel van die leeskosten verbergen totdat de werkset groter wordt dan het geheugen of een andere werklast de cache verdringt.

Definieer de capaciteitsvraag voordat je test: dashboardstart, geschiedenisquery, latentietijd van automatiseringen, gebeurtenissen per seconde, gelijktijdige clients, overlap met back-ups of gelijktijdigheid van services op de hele host. Noteer vervolgens welke caches die specifieke bewerking kunnen versnellen. Wis niet zonder onderscheid elke cache; creëer één gecontroleerde koude toestand en één realistische warme toestand, zodat beide meetbaar zijn.

Gebruik koude en warme tests om de twee relevante uitersten af te bakenen

Een koude test laat zien hoe het systeem zich gedraagt wanneer gegevens of assets niet in het geheugen staan, terwijl een warme test het pad van hergebruik laat zien dat gebruikers vaak ervaren. Geen van beide is universeel “realistisch”. Een telefoon die elke ochtend één keer wordt geopend, benadert mogelijk koud frontend-gedrag, terwijl een tablet aan de muur of een drukke database het grootste deel van de dag warm kan werken.

Opmerkingen over opslagbenchmarks laten zien dat twee opeenvolgende runs simpelweg kunnen verschillen doordat de eerste run de bestandssysteemcache opwarmt. Daarom moeten koude en warme cacheomstandigheden worden geïdentificeerd in plaats van door elkaar te worden gebruikt. Hetzelfde principe geldt voor tests van Home Assistant-geschiedenis en assets: een snelle tweede run is bewijs van hergebruik, maar op zichzelf geen bewijs van meer servercapaciteit.

Leg beide verdelingen vast, niet alleen het beste getal. Gebruik identieke gegevens, client, netwerk- en dashboardconfiguratie. Als warme resultaten uitstekend zijn, maar koude resultaten de huishoudelijke deadline overschrijden, kan het systeem nog steeds geschikt zijn voor clients die altijd geopend zijn, maar slecht presteren bij een herstart, herstel of incidentele mobiele toegang. Benoem bij capaciteitsclaims welke toestand ze vertegenwoordigen.

Capaciteit wordt zichtbaar wanneer herhaald werk niet langer lineair schaalt

Verhoog voor het meten van capaciteit één variabele van de werklast en houd de andere constant: gebeurtenissnelheid, aantal dashboardclients, gelijktijdigheid van geschiedenisqueries, schrijfsnelheid van de database of belasting door naburige services. Een echt Home Assistant-dashboardonderzoek laat zien hoe continue WebSocket-updates zichtbaar kunnen worden wanneer de client achteropraakt. Wachtrijen en staartgedrag zijn dan informatiever dan één piekresultaat uit een cache. Bekijk die signalen samen met CPU-, geheugen-, opslag- en netwerkgebruik.

ZimaSpace toont een vergelijkbaar verzadigingsmechanisme bij concurrentie om wachtrijen voor gedeelde opslag: de doorvoer kan hoog blijven terwijl de interactieve staartlatentie toeneemt nadat het aantal openstaande bewerkingen de nuttige parallelliteit overschrijdt. Ook Home Assistant vereist zulke latentiegevoelige stopvoorwaarden.

De belangrijkste antimarketingregel is dat meer vrije CPU geen grotere capaciteit van het hele systeem garandeert. Een automatisering kan wachten op een radioverbinding, opslag kan verzadigd zijn terwijl de CPU niets doet, en een mobiele client kan traag renderen nadat de server heeft geantwoord. Capaciteit hoort bij het volledige geteste pad en de daarbij gehandhaafde omstandigheden, niet bij één gebruikspercentage.

-15% OFF
Single board computer zimaboard2

Test cacheverdringing en naburige services voordat je beschikbare ruimte claimt

Een thuisserver draait Home Assistant niet in een vacuüm. Back-ups, mediascans, AI-taken, cameraregistratie, databases en containers kunnen nuttige cachepagina's verdringen of concurrerende druk op opslag en geheugen veroorzaken. Een benchmark op een verder lege host kan daardoor een warme werkset rapporteren die in productie niet resident kan blijven tijdens de werkelijke piekbelasting van het huishouden.

Een optimalisatiegeval uit 2026 rond Recorder geeft een praktisch voorbeeld van het verminderen van historische schrijfvolumes, zodat de database minder I/O en een kleinere bewaarde werkset vereist. Daarmee verandert de werkelijke capaciteitsgrens, in plaats van alleen een tweede query sneller te laten lijken.

Herhaal de stabiele test terwijl de normale back-up-, camera- of containerwerklast draait. Als de latentie binnen de doelwaarde blijft en het cache-hitgedrag stabiel blijft, is het warme resultaat geloofwaardiger. Als de prestaties pas instorten nadat een andere service de cache verdringt of wachtrijen vult, heeft de host minder productieruimte dan de geïsoleerde Home Assistant-benchmark suggereerde.

Publiceer een capaciteitsresultaat met de bijbehorende omstandigheden

Een bruikbaar resultaat vermeldt de Home Assistant-versie, hardware, opslag, database, aantal entiteiten, bewaartermijn, type client, dashboard, netwerkpad, warme of koude toestand, achtergrondwerklasten, invoersnelheid, testduur en acceptatiedrempel. Zonder die details kan “Home Assistant reageert in 100 ms” niet worden vergeleken of gereproduceerd.

Een onafhankelijke analyse van Home Assistant-gelijktijdigheid legt uit hoe de asyncio-gebeurtenislus automatiseringstaken plant en hoe I/O-wachttijden die taken kunnen onderbreken. Neem de responsiviteit van de gebeurtenislus en blokkerend gedrag mee wanneer de geteste werklast zwaar op automatiseringen leunt, in plaats van aan te nemen dat alleen opslag- of CPU-gebruik de capaciteit beschrijft.

Noem het systeem pas geschikt wanneer de zwaarste normale overlap lang genoeg draait om een stabiele toestand te bereiken, de staartlatentie binnen de doelwaarde blijft, wachtrijen niet blijven groeien en herhaalde tests vergelijkbare resultaten opleveren. Beschouw een warme cache als één gebruiksomstandigheid, niet als een vermenigvuldigingsfactor waarvan je mag aannemen dat die beschikbaar blijft naarmate het huis en de host meer services krijgen.

Veelgestelde vragen

Moet ik Home Assistant vóór elke benchmark opnieuw opstarten?

Nee. Een herstart kan één scenario voor een koude start creëren, maar verandert ook veel variabelen tegelijk. Gebruik een herstart bewust voor opstarttests en voer daarna afzonderlijke warme en stabiele tests uit zonder opnieuw op te starten.

Is de snelste run de beste schatting van de capaciteit?

Nee. De snelste run toont meestal gunstige cache- en planningsomstandigheden. Capaciteitsbeslissingen moeten gebaseerd zijn op herhaalbare verdelingen en staartlatentie onder aanhoudende belasting, omdat gebruikers de trage runs merken wanneer het systeem bijna verzadigd is.

Kunnen hoge cache-hitpercentages als slecht worden beschouwd?

Nee. Hergebruik is wenselijk. De fout is aannemen dat gecachete gegevens altijd resident blijven terwijl de werkset, het aantal entiteiten, de geschiedenis en naburige services groeien. Meet wat er gebeurt wanneer de werklast niet langer comfortabel binnen dezelfde cacheomvang past.

Tech & AI HUB

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.