Wie viele Benutzer kann Home Assistant auf einem kleinen Heimserver unterstützen?

Eva Wong ist die Technische Redakteurin und und leidenschaftliche Tüftlerin bei ZimaSpace. Eine lebenslange Geek mit einer Leidenschaft für Homelabs und Open-Source-Software, sie spezialisiert sich darauf, komplexe technische Konzepte in zugängliche, praktische Anleitungenzu übersetzen. Eva ist der Meinung, dass Self-Hosting Spaß machen und nicht einschüchternd sein sollte. Durch ihre Tutorials befähigt sie die Community, Hardware-Setups zu entmystifizieren, vom Bau ihres ersten NAS bis hin zur Beherrschung von Docker-Containern.

Home Assistant hat kein universelles Benutzerlimit; ein kleiner Server unterstützt nur so viele gleichzeitige Sitzungen, deren tatsächliche Auslastung innerhalb der festgelegten Ziele für Latenz und Wiederherstellung bleibt.

Benannte Konten sind kostengünstig, wenn die meisten Personen inaktiv sind, während einige wenige stark genutzte Dashboards den Verlauf abfragen, Kameras streamen, benutzerdefinierte Karten rendern und häufige WebSocket-Aktualisierungen verarbeiten können. Der Fernzugriff kann Proxy- und Upload-Beschränkungen hinzufügen, die bei lokalen Tests unberücksichtigt bleiben. Die Kapazität muss daher als gleichzeitige Auslastung bei einem akzeptablen Serviceniveau angegeben werden, nicht als Anzahl der im Benutzerverzeichnis gespeicherten Personen.

Registrierte Konten sind keine gleichzeitige Auslastung

Ein Konto fügt hauptsächlich Identität und Berechtigungen hinzu, bis sich jemand verbindet. Ein angemeldetes Smartphone mit einer Hintergrundverbindung belastet das System stärker als ein ruhendes Konto, und ein kamerareiches Wandpanel kann mehr Ressourcen verbrauchen als mehrere Benutzer, die einfache Steuerungsansichten öffnen.

Eine Community-Frage zu gleichzeitigen Benutzern zeigt, dass sich die Auslastung durch gleichzeitige Benutzer nicht einfach und dokumentiert in CPU- oder Speicherauslastung umrechnen lässt, da sich das Verhalten der Clients stark unterscheidet.

Zählen Sie aktive WebSocket-Sitzungen, Dashboard-Ansichten, Verlaufsabfragen, Streams und Serviceaufrufe im selben Zeitraum. Die Gesamtzahl der registrierten Benutzer bleibt für die Verwaltung nützlich, nicht jedoch für die Vorhersage der Leistung.

Das Dashboard-Design verändert die Kosten pro Benutzer

Ein einfaches Dashboard abonniert eine begrenzte Anzahl von Entitäten, während Diagramme, Karten, Kameras, benutzerdefinierte Karten und umfangreiche Templates zusätzliche Serverabfragen, Netzwerkübertragungen und Client-Rendering verursachen. Häufige Entitätsaktualisierungen vervielfachen sich über jede abonnierte Sitzung.

Diskussionen über das Design für mehrere Einheiten und Benutzer zeigen die Probleme bei Isolation und Organisation rund um das Design einer Instanz für mehrere Benutzer, nicht lediglich eine rohe Gesamtzahl von Verbindungen.

Trennen Sie die Aufteilung des Haushalts von der Leistung. Eine Instanz kann technisch mehrere Gruppen bedienen, bietet jedoch möglicherweise ungeeignete Grenzen für Datenschutz oder Verwaltung. Eine leistungsfähigere Hardware löst diese Designbeschränkung nicht.

Client und Netzwerk können vor dem Server ausfallen

Prozessoren von Mobilgeräten, Browserspeicher, WLAN-Qualität, VPN-Latenz, Proxy-Konfiguration und die Upload-Bandbreite des Heimnetzwerks können die wahrgenommene Geschwindigkeit maßgeblich bestimmen. Ein Server kann schnell antworten, während ein Gerät mehrere Sekunden für das Rendern einer komplexen Ansicht benötigt.

Ein Fall, in dem Dashboards auf Mobilgeräten langsam, auf einem Computer jedoch schnell waren, zeigt, warum die clientseitige Verzögerung des Dashboards getrennt von der Serverantwort gemessen werden muss.

Vergleichen Sie lokale und entfernte Clients mit derselben Ansicht. Wenn die Zeitstempel des Servers stabil bleiben, die Renderzeit jedoch abweicht, erhöht eine größere Serverkapazität die praktisch mögliche Benutzerzahl für diesen Clientpfad nicht.

-15% OFF

Die Ereignisverteilung schafft die Sättigungsgrenze

Jeder neue Zustand kann an viele verbundene Clients übermittelt werden, und jede Ansicht kann zusätzliche Template- oder Verlaufsverarbeitung auslösen. CPU, Arbeitsspeicher, Datenbanklatenz und ausgehende Bandbreite können daher überproportional ansteigen, wenn stark ausgelastete Sitzungen gleichzeitig aktiv sind.

Eine Untersuchung zu WebSocket-Ereignisspam verknüpft ein verzögertes Dashboard mit dem Aktualisierungsvolumen und veranschaulicht, wie die Verteilung von WebSocket-Aktualisierungen auch bei wenigen Personen zum dominierenden Faktor werden kann.

Dies ist die Ausfallgrenze: Die Benutzerzahl ist nicht die Ursache, es sei denn, das wiederholte Hinzufügen identischer Sitzungen erhöht eine korrelierte Ressource und die Servicelatenz. Integrationslawinen, fehlerhafte Karten und Netzwerkprobleme müssen behoben werden, bevor der Server als ausgelastet bezeichnet wird.

Ermitteln Sie die Kapazität mit einem Test für 2, 4 und 8 Sitzungen

Erstellen Sie ein repräsentatives Testprofil und führen Sie zunächst zwei gleichzeitige Sitzungen aus, dann vier und anschließend acht. Wiederholen Sie auf jeder Stufe das Laden eines Dashboards, eine festgelegte Verlaufsabfrage, einen harmlosen Serviceaufruf und die Anzeige einer Kamera. Zeichnen Sie dabei die p95-Latenz, CPU- und Speicherauslastung, die Speicherschlange sowie die ausgehende Bandbreite auf.

Das Testverfahren für gleichzeitige Benutzer bietet einen Diagnoseleitfaden für gleichzeitige Benutzer und hilft dabei, die Messwerte und das Abbruchkriterium für einen kleinen Home-Assistant-Server zu definieren.

Beenden Sie den Test bei der ersten Stufe, auf der das Latenzziel des Haushalts verfehlt wird oder eine anhaltende Sättigung auftritt. Die vorherige erfolgreiche Stufe ist die getestete Kapazität für diese Auslastung, keine universelle Zusage. Wiederholen Sie den Test aus der Ferne und während des normalen Automationsbetriebs. Halten Sie außerdem Reserven für Sicherungen, Aktualisierungen und erneute Verbindungswellen frei.

Tech- & KI-Zentrum

Mehr zum Lesen

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.