Benchmarken Sie Home Assistant, indem Sie eine festgelegte Ereignis-zu-Aktion-Arbeitslast wiedergeben und Perzentil-Latenz, Fehler, Auslastung und Erholung unter kontrollierten Cache- und Hintergrundbedingungen messen.
Ein schneller Klick im Dashboard beweist nicht, dass Automatisierungen während Recorder-Schreibvorgängen, Backups oder Geräteschüben reaktionsfähig bleiben. Ein aussagekräftiger Home-Server-Benchmark beginnt bei einer definierten Eingabe und endet bei einer beobachtbaren Aktion, während Entitätsanzahl, Integrationsverhalten, Netzwerkpfad, Cache-Zustand, Temperatur und konkurrierende Dienste unverändert bleiben. Die Wiederholung dieses Ablaufs macht Schwankungen und die erste Ressource sichtbar, deren Spielraum schrumpft.
Wählen Sie vor der Ressourcenmessung ein End-to-End-Ergebnis
Beginnen Sie mit einem Ergebnis, das der Haushalt beobachten kann, etwa der Zeit von einer synthetischen Zustandsänderung bis zu einem Service-Aufruf oder von einem Dashboard-Befehl bis zum bestätigten Zielzustand. Dieses Intervall umfasst mehr als CPU-Arbeit: Integrationslatenz, Ereignisverarbeitung, Automatisierungslogik, Netzwerkübertragung, Gerätereaktion und Bestätigung können alle dazu beitragen.
Die Benchmark-Methodik wird besser, wenn reale Arbeitslasten isolierte Mikrotests ersetzen und das Verhalten am Rand statt nur Durchschnittswerte gemessen wird. Eine praktische Zusammenstellung von Prinzipien für das Benchmark-Design betont realitätsnahe Arbeitslasten, Perzentile, Nebenläufigkeit sowie kalte und warme Zustände.
Das gewählte Ergebnis wird zur Akzeptanzmetrik. Messwerte zu CPU, Arbeitsspeicher, Speicher und Netzwerk des Hosts erklären, warum sich dieses Ergebnis verändert; sie sind kein Ersatz dafür. Ein Server kann eine geringe durchschnittliche Auslastung melden, während der Automatisierungspfad gelegentlich lange Verzögerungen aufweist, die für Lichter, Schlösser, Alarme oder Heizung relevant sind.
Erstellen Sie ein festgelegtes Arbeitslastskript
Notieren Sie die genauen Entitäten, die Auslösungsrate, den Automatisierungspfad, die Dashboard-Aktivität, die Recorder-Aufbewahrung, den Datenbankzustand und die in den Test einbezogenen Hintergrundaufgaben. Verwenden Sie synthetische oder harmlose Eingaben, damit sich die Sequenz wiedergeben lässt, ohne die Sicherheit im Haushalt zu beeinträchtigen oder echte Geräte unnötig zu verwenden. Legen Sie die Testdauer und die Erholungszeit zwischen den Durchläufen fest.
Diskussionen über hochfrequente Automatisierungen zeigen, warum Ereignisrate und Template-Arbeit ausdrücklich angegeben werden müssen. Eine Untersuchung der Home-Assistant-Community zu hochfrequenter Ereignislast beschreibt Arbeitslasten von über tausend Ereignissen pro Minute und veranschaulicht, wie eine nicht angegebene Auslösungsrate zwei Benchmark-Ergebnisse unvergleichbar machen kann.
Eine repräsentative Arbeitslast ist nicht zwangsläufig die maximal mögliche Arbeitslast. Nehmen Sie die stärkste normale Überschneidung und einen kontrollierten Schritt darüber hinaus auf. Der erste Durchlauf zeigt das normale Verhalten; der zusätzliche Schritt macht den verbleibenden Spielraum sichtbar. Vermeiden Sie eine zufällige Mischung von Diensten, denn eine unerklärte Hintergrundaufgabe verwandelt den Benchmark in eine Anekdote.
Testen Sie kalte, warme und stabile Zustände getrennt
Ein Neustart von Home Assistant, das erstmalige Öffnen eines Dashboards und das Abfragen nicht zwischengespeicherter Verlaufsdaten können Speicher- und Initialisierungspfade auslösen, die spätere Wiederholungen vermeiden. Bei warmen Durchläufen können Datenbankseiten, Frontend-Ressourcen, DNS-Antworten und der Cache des Betriebssystems wiederverwendet werden. Lange Durchläufe bringen thermische Stabilisierung, wachsende Protokolle und Hintergrundplanung hinzu.
Das Aufwärmen des Caches verändert die Latenz, indem häufig verwendete Daten in einer schnelleren Schicht bereitgestellt werden, bevor sie benötigt werden. Diese Analyse der Auswirkungen der Cache-Aufwärmung erklärt, warum ein warmes Ergebnis für den normalen Betrieb gültig, aber als Nachweis für Neustart- oder Wiederherstellungsleistung irreführend sein kann.
Berichten Sie jeden Zustand separat, statt sie zusammenzufassen. Die Kaltleistung beantwortet, wie sich das System nach einem Neustart oder dem Verwerfen von Cache-Inhalten verhält; die Warmleistung beschreibt wiederholte tägliche Interaktionen; die Leistung im stabilen Zustand beschreibt eine anhaltende Last. Eine Kapazitätsaussage ist nur dann glaubwürdig, wenn der benannte Zustand zum Nutzungsszenario passt.
Messen Sie Perzentile und Abschnittsgrenzen
Erfassen Sie jede End-to-End-Latenz und geben Sie den Median sowie hohe Perzentilwerte zusammen mit der Fehleranzahl an. Der Median beschreibt das häufige Nutzungserlebnis, während das 95. oder 99. Perzentil sporadische Warteschlangen sichtbar macht, die im Durchschnitt verborgen bleiben. Verwenden Sie Zeitstempel für Auslöser, Automatisierungsstart, Aktionsaufruf und bestätigten Zielzustand, sofern der Ablauf dies zulässt.
Eine schnelle Systemanalyse prüft Prozesse, CPU, Arbeitsspeicher, Netzwerk, Blockgeräte und Fehler, da sich die Latenz zwischen Ressourcen verlagern kann. Der Workflow zur Leistungsanalyse unter Linux liefert ein prägnantes Beispiel dafür, wie Ressourcensignale miteinander korreliert werden, statt anhand eines einzigen Auslastungsprozentsatzes zu diagnostizieren.
Zeitstempel der einzelnen Abschnitte unterscheiden eine langsame Integration von einem ausgelasteten Event-Loop, langsamer Datenbankarbeit, Netzwerkverzögerungen oder einem trägen Zielgerät. Wenn Home Assistant die Aktion schnell ausführt, die Bestätigung aber spät eintrifft, würde zusätzliche CPU-Leistung auf dem Host den gemessenen Engpass nicht beheben. Der erste Abschnitt, der sich verlängert, ist der aussagekräftige Austritt aus der Ursache-Wirkungs-Kette.
Verwenden Sie Auslastung, Sättigung und Fehler gemeinsam
Die Auslastung zeigt, wie beschäftigt eine Ressource ist; die Sättigung weist auf wartende Arbeit hin, die nicht sofort verarbeitet werden kann; Fehler zeigen fehlgeschlagene Vorgänge. Prüfen Sie während des Benchmarks alle drei Aspekte für CPU, Arbeitsspeicher, Speicher und Netzwerk. Eine hohe Auslastung kann gesund sein, während kurze Sättigungsspitzen Latenz verursachen, obwohl ein langfristiger Durchschnitt unkritisch aussieht.
Die USE-Methode zur Leistungsanalyse warnt ausdrücklich davor, dass grobe Durchschnittswerte kurze Phasen vollständiger Auslastung und Warteschlangen verbergen können. Das ist für Home Assistant unmittelbar relevant, da ein kurzer Ereignisschub wichtiger sein kann als der CPU-Durchschnitt des Hosts über fünf Minuten.
Ordnen Sie die Systemsignale denselben Benchmark-Zeitstempeln zu. Eine Speicherwarteschlange, die bei jedem langsamen Randwert ansteigt, legt ein anderes Folgeexperiment nahe als ein Ereignis zur Speicherbereinigung oder eine Netzwerkne Übertragung. Bezeichnen Sie die am stärksten ausgelastete Ressource nicht als Engpass, solange ihre Sättigung oder Fehler nicht mit der für den Benutzer sichtbaren Verzögerung übereinstimmen.
Wann ein Benchmark nicht mehr vergleichbar ist
Ergebnisse sind nicht mehr vergleichbar, wenn sich Softwareversionen, Entitätssätze, Datenbankgrößen, Aufbewahrungsfristen, Clients, Netzwerkpfade, Umgebungstemperatur oder Hintergrunddienste ändern, ohne dass dies dokumentiert wird. Sie verlieren außerdem ihre Vergleichbarkeit, wenn ein Durchlauf den Cache aufwärmt und ein anderer nicht oder wenn bei kurzen Intervallen manuelle Zeitmessung anstelle von Ereigniszeitstempeln verwendet wird.
Container-Benchmarks müssen Laufzeitumgebung, Ressourcenlimits, Speicherpfad, Netzwerkmodus und Hostbedingungen angeben. Dieser Leitfaden zu Docker-Leistungsbenchmarks trennt CPU-, Speicher-, Speicher- und Netzwerktests und veranschaulicht, warum eine Containerbezeichnung allein keine ausreichende Beschreibung der Umgebung darstellt.
Synthetische Ergebnisse sagen außerdem nichts mehr über den Haushalt aus, wenn sie die langsamste reale Abhängigkeit auslassen. Eine Automatisierung über Loopback kann Core sauber benchmarken, aber nichts über eine Cloud-Integration oder ein batteriebetriebenes Gerät aussagen. Behalten Sie sowohl einen kontrollierten internen Pfad als auch einen repräsentativen End-to-End-Pfad bei und führen Sie ihre Ergebnisse niemals zu einer einzigen Zahl zusammen.
Führen Sie ein Abnahmeprotokoll mit fünf Durchläufen durch
Erfassen Sie zunächst das Umgebungsmanifest und führen Sie anschließend fünf kalte sowie fünf warme Durchläufe der festgelegten Arbeitslast aus. Führen Sie danach einen stabilen Belastungstest durch, der die stärkste zulässige Hintergrundaufgabe enthält. Berichten Sie für jede physische Ressource Median, 95. Perzentil, Maximum, Fehler, Neustartereignisse sowie die Signale für Auslastung, Sättigung und Fehler.
Metriken pro Container werden nützlich, wenn sie aufbewahrt und mit den Anwendungsergebnissen abgeglichen werden. Dieser Leitfaden zur Containerüberwachung erklärt die CPU-, Speicher-, Netzwerk- und Block-I/O-Felder, die die Latenzverteilung ergänzen können.
Akzeptieren Sie eine Änderung nur, wenn sie das Zielperzentil verbessert, ohne die Fehlerzahl zu erhöhen oder die Sättigung auf einen anderen erforderlichen Pfad zu verlagern. Die ZimaSpace-Diagnose zum Ermitteln der begrenzenden Ressource ist der nächste Schritt, wenn wiederholte Durchläufe dieselbe Obergrenze erkennen lassen.
Tech- & KI-Zentrum
Mehr zum Lesen

Warum verarbeitet Home Assistant vorhandene Daten nach einem Upgrade erneut?
Home Assistant kann vorhandene Daten nach einem Upgrade erneut verarbeiten, um gespeicherte Zustände, Indizes, Caches und Integrationen mit dem neuen Code kompatibel zu machen.

Welche Abhängigkeiten setzen am häufigsten die tatsächliche Leistungsgrenze von Home Assistant?
Die Leistung von Home Assistant wird durch die langsamste erforderliche Abhängigkeit auf dem Weg vom Ereignis zum Ergebnis begrenzt, nicht unbedingt durch die CPU...

Home-Assistant-Netzwerk: Wie Erkennung, DNS und Routing Erreichbarkeit ermöglichen
Die Erreichbarkeit von Home Assistant erfordert Erkennung, eine korrekte Namensauflösung, eine gültige Route, zugelassenen Datenverkehr und einen lauschenden Endpunkt.

