Reserveer voldoende CPU-marge voor de zwaarste herhaalbare werklast om de doelstellingen voor gebeurtenis-naar-actie en herstarten te halen; er bestaat geen verdedigbaar universeel percentage voor elke Home Assistant-stack.
Een host met vier cores kan een bescheiden gemiddelde laten zien terwijl één core verzadigd is, of CPU-beperkt lijken terwijl opslagwachttijd, geheugendruk of thermische throttling de echte beperking vormt. Definieer de drukste realistische overlap, meet de besturingslatentie en het gedrag per core en behoud vervolgens de kleinste resourcemarge die herhaaldelijk voldoet zonder normale begeleidende services te stoppen.
Definieer de piek en de gebruikersgerichte limiet
Bouw één werklast die de drukste normale automatiseringspiek combineert met dashboardgebruik en geplande achtergrondtaken, zoals back-ups, databaseonderhoud, spraakverwerking of geselecteerde cameraverwerking. Definieer aanvaardbare latentie van gebeurtenis naar actie, dashboardrespons en gereedheid na een herstart voordat je het gebruik meet.
Gebruik geen kunstmatige stresstest voor alle cores als enige piekmeting. Die meet de hardwarecapaciteit, maar niet de overlap tussen planning, database, integraties en add-ons die gebruikers daadwerkelijk ervaren.
Een geldige nulmeting gebruikt drie keer hetzelfde aantal apparaten, dezelfde integraties, dezelfde databasestatus en dezelfde aangrenzende services. Als de werklast niet herhaalbaar is, is geen enkel daaruit afgeleid percentage een betrouwbare reserve.
Leg ook een meting tijdens een rustige periode vast als controle. Het verschil tussen rustige en piektoestanden laat de gevoeligheid voor de werklast zien; alleen het piekpercentage kan niet aantonen of het systeem al dicht bij verzadiging begon.
Lees verzadiging per core en wachttijd afzonderlijk
Leg het gebruik per core, de load, steal time voor virtuele machines, I/O-wachttijd, frequentie, temperatuur en het Home Assistant-proces vast naast de gebruikersgerichte latentie. Stem alle metingen af op dezelfde tijdstippen.
Omdat één verzadigde core verborgen kan blijven in een veel lager gemiddelde voor het hele systeem, test je het procesprofiel in plaats van aan te nemen dat totaalgebruik de beschikbare marge weergeeft.
Als één core volledig wordt belast terwijl de latentie oploopt, wijst dat op singlethread-capaciteit van de CPU of blokkerende taken. Als de I/O-wachttijd het eerst stijgt, verbeter dan het opslag- of databasegedrag. Als de frequentie daalt bij oplopende temperatuur, verhelp dan eerst de koeling voordat je meer nominale capaciteit reserveert.
Creëer marge met planning en isolatie
Verplaats optionele taken buiten het drukste besturingsvenster, beperk luidruchtige begeleidende containers en voorkom dat camera-, AI- of mediataken elke uitvoerbare core verbruiken. Zorg dat Home Assistant en essentiële brokers tijdens deze pieken voortgang kunnen blijven maken.
Vergelijk werklastgestuurde processormarge pas nadat de beperkende factor van het huidige systeem is gemeten. Een snellere aankoop verhelpt geen onbegrensde taken of opslagwachttijd.
Test opnieuw na elke wijziging in planning of limieten. Als de latentie zonder hardwarewijziging aan de eisen voldoet, is de herwonnen marge operationele marge; als dezelfde core verzadigd blijft, vergelijk dan een krachtigere CPU alleen met exact dezelfde werklast.
Stel de reserve vast op basis van herhaalde geslaagde metingen
Gebruik de hoogste waargenomen piek uit schone, herhaalde metingen en behoud vervolgens extra capaciteit voor verwachte groei van integraties en één overlappende onderhoudstaak. Druk het resultaat uit als een geteste service-envelop, niet als een universeel doel voor inactiviteit.
De procedure in de benchmark voor resourcemarge biedt de gecombineerde nulmeting voor CPU, geheugen, opslag en netwerk.
De test is geslaagd wanneer de oorspronkelijke piek in opeenvolgende metingen aan de latentie- en herstartdoelstellingen voldoet zonder thermische throttling of gedwongen servicestops. Schaal op of upgrade wanneer dezelfde CPU-specifieke verzadiging blijft bestaan nadat oorzaken in planning, integraties en I/O zijn uitgesloten.
Ondersteuning & Tips
Meer om te lezen

Hoe optimaliseer je Immich-databaseverbindingen voor gelijktijdige containers?
Verhoog max_connections niet als eerste. Meet de Immich-sessies, tel de vraag van elke container bij elkaar op, behoud ruimte voor beheerders en stem alleen...

Dubbele taken of imports in Immich voorkomen
Scheid herhaalde taken van dubbele assets. Gebruik één canoniek ingestiepad, beheer retries en padwijzigingen en test vervolgens opnieuw invoeren op een kleine groep.

Immich herstellen nadat het databasevolume vol raakt
Verwijder nooit PostgreSQL-WAL om ruimte vrij te maken. Stop schrijfbewerkingen van Immich, behoud de databasestatus, voeg veilig extra opslagcapaciteit toe, herstel PostgreSQL en voorkom...

