community italiana di domotica personale
 
Test prestazioni: avvio di Home Assistant installato in diverse modalità

Test prestazioni: avvio di Home Assistant installato in diverse modalità

Dato che spesso si disquisisce rispetto all’adozione di Home Assistant, l’HUB per domotica personale sempre più diffuso, in modalità OS, Supervised o Core stand-alone, abbiamo deciso di effettuare un semplice test (empirico) volto semplicemente a valutare i tempi di reazione in termini di avvio nelle varie, diverse modalità.

Di nuovo: è solo un test empirico.
Un consiglio: non fermarsi ai soli risultati ma piuttosto leggere, in fondo, le nostre considerazioni del caso – le quali, crediamo, hanno maggiore importanza dei dati in sé.

Approccio seguito

Abbiamo effettuato il test sul Mini PC NiPoGi J3455 da noi testato, il modello con 8GB di RAM.

La metodologia è stata la seguente: installazione dell’HUB (nelle modalità e nelle sequenze esplicitate nella nostra lista), prima connessione all’interfaccia web via HTTP, primo onboarding con creazione di utente, nessuna aggiunta di integrazione, primo accesso.

Lasciando poi il browser aperto sulla pagina principale in connesione LAN, abbiamo spento l’host per poi accenderlo. Dalla riaccensione è partito il cronometro, che abbiamo fermato appena la pagina si è aggiornata con l’indicazione “Home Assistant si è avviato!”. Un cold-start misurato dall’accensione all’effettiva disponibilità del servizio.

Chrono

N.b. Ricordiamo che comprendere le diverse modalità di implementazione di Home Assistant è necessario al fine di capire i risultati di questo nostro test e le nostre considerazioni seguenti. Per chi non avesse ben chiare le differenze, consigliamo la lettura rapida ma attenta di questa scheda.

Risultati

I risultati in termini di tempi sono stati i seguenti:

Modalità di installazione Tempo di avvio % differenza
Home Assistant OS su VM Proxmox 2 minuti e 11 secondi +134%
Home Assistant OS 1 minuto e 14 secondi +32%
Home Assistant Supervised su Docker (su Linux Debian) 1 minuto e 11 secondi +27%
Home Assistant Core su Docker (su Linux Debian) 56 secondi  tempo più veloce (valore di riferimento)

I risultati sono chiari: come ampiamente prevedibile, Core installato su Docker è nettamente la soluzione più veloce, mentre altrettanto prevedibilmente, OS su Proxmox è – come ovvio che sia, dato lo stack che “tira su” – la più lenta. Intermedie le altre due soluzioni, con un aumento di circa il 30% (comunque non poco) rispetto alla più veloce Core stand-alone.

N.b. Le installazioni qui sopra elencate sono disponibili come guide di installazione qui.

Considerazioni

Hanno senso questi dati? In parte sì.

La prima considerzione è che, anche con altri hardware – sebbene con percentuali diverse – le distanze certamente permangono. Non è affatto una novità che utilizzare una macchina virtuale su Proxmox (o qualsiasi altro virtualizzatore del genere) sia l’approccio peggiore di tutti, sia in termini di prestazioni che di pulizia architetturale. I perché relativi a quest’ultimo punto li abbiamo spiegati approfonditamente sulla scheda dedicata al tema.

Scendendo più nel tecnico, c’è altro da dire.

Una seconda considerazione infatti è nel merito della modalità del test, la quale ha previsto l’uso di Home Assistant 2022.3 out-of-the-box, fresca e pulita.

I risultati senza dubbio andrebbero infatti a peggiorare laddove su OS/Supervised si andassero a installare degli add-on. Ipotizziamo di avere infatti installato quelli molto comuni relativi a ZigBee2MQTT, Mosquitto MQTT Broker, ESPHome, Node-Red. Immaginiamo – per avere un ambito paragonabile – di aver installato gli stessi servizi anche presso l’installazione Core, ma come semplici container stand-alone Docker. Sebbene anche su OS/Supervised pur sempre di container Docker si parli, gli add-on sono però gestiti dal Supervisore di Home Assistant, il che introduce una serie di fisiologici rallentamenti prestazionali. Nel momento in cui l’implementazione più veloce (Core@Docker) parte, infatti, appena Docker “sale”, con lui sale – disinteressandosi degli altri container, che comunque stanno partendo in parallelo – il container Core, rendendo rapidamente disponibile il servizio. Su OS/Supervised, invece, tutto è comunque coordinato da Supervisor che, per quanto non serializzi l’avvio dei vari container, gestisce il tutto in modo coordinato, introducendo appunto delle lungaggini operative. 

In breve: in pieno esercizio, le installazioni OS/Supervised tendono col tempo ad ampliare ulteriormente lo svantaggio prestazionale, almemo all’avvio, rispetto all’implementazione Core. Cosa che, per carità, può comunque essere considerata secondaria.


In ultimo, un distinguo comunque va fatto tra OS su Proxmox e OS/Supervised.

La prima implementazione (OS su Proxmox) è veramente uno spreco enorme di risorse per un’installazione incomparabile con le alternative che l’utente ha a disposizione. Come usare una Ferrari solo per andare a fare la spesa dietro casa. Funziona, ma ha senso? È qualcosa che non consiglieremmo mai, salvo fatto se l’utente avesse effettiva necessità di utilizzare il medesimo host anche per installare altre macchine virtuali (e anche lì sarebbe da capire).

Se proprio si vuol beneficiare dell’indubbia rapidità di implementazione e praticità nella gestione che OS o Supervised presentano, tanto vale appunto o implementare Home Assistant OS come unico stack di gestione dell’host (l’uso per il quale è per l’appunto concepito) e non presso macchina virtuale (che sia Proxmox o altro). Supervised, in termini di prestazioni, ha invece poco senso:  se si è in grado di installare e configurare un sistema operativo Linux, per installarvi sopra Docker e poi istanziarvi sopra Supervised, allora si è anche serenamente in grado di implementare il solo Core sul medesimo stack – con tutti i vantaggi in termini prestazionali del caso.

A voi le considerazioni accessorie.

Primi passi con Home Assistant: da dove cominciare

⚠️ Se di Home Assistant ne sai poco ma sei interessato a capirne di più, ti suggeriamo di partire da qui.

Questa pagina è redatta, manutenuta e aggiornata dallo staff di inDomus, un gruppo di persone molto diverse tra loro che trovi, per domande e supporto, sul forum e sulla chat del sito. Se ti sei perso, a tua disposizione c'è la mappa.