Compara el rendimiento de Home Assistant reproduciendo una carga de trabajo fija de evento a acción y midiendo la latencia por percentiles, los errores, la saturación y la recuperación bajo condiciones controladas de caché y actividad en segundo plano.
Un clic rápido en el panel no demuestra que las automatizaciones sigan respondiendo durante las escrituras de Recorder, las copias de seguridad o las ráfagas de dispositivos. Un benchmark útil para un servidor doméstico comienza con una entrada definida y termina con una acción observable, mientras que el número de entidades, el comportamiento de las integraciones, la ruta de red, el estado de la caché, la temperatura y los servicios en competencia permanecen fijos. Repetir ese recorrido revela la variación y el primer recurso que pierde margen.
Elige un único resultado de extremo a extremo antes de medir los recursos
Comienza con un resultado que el hogar pueda observar, como el tiempo transcurrido desde un cambio de estado sintético hasta una llamada de servicio, o desde un comando del panel hasta la confirmación del estado objetivo. Ese intervalo incluye más que el trabajo de la CPU: la latencia de la integración, el procesamiento de eventos, la lógica de automatización, la entrega por red, la respuesta del dispositivo y la confirmación pueden contribuir.
La metodología de benchmarking mejora cuando las cargas de trabajo reales sustituyen a las micropruebas aisladas y se mide el comportamiento de cola en lugar de solo los promedios. Un conjunto práctico de principios de diseño de benchmarks destaca las cargas de trabajo del mundo real, los percentiles, la concurrencia y los estados en frío y en caliente.
El resultado elegido se convierte en la métrica de aceptación. Las lecturas de CPU, memoria, almacenamiento y red del host explican por qué cambia ese resultado; no lo sustituyen. Un servidor puede informar de una utilización media baja mientras la ruta de automatización sigue presentando retrasos ocasionales prolongados que afectan a luces, cerraduras, alarmas o calefacción.
Crea un script de carga de trabajo fija
Anota las entidades exactas, la frecuencia de los disparadores, la ruta de automatización, la actividad del panel, la retención de Recorder, el estado de la base de datos y los trabajos en segundo plano incluidos en la ejecución. Usa entradas sintéticas o inocuas para poder repetir la secuencia sin afectar a la seguridad del hogar ni consumir dispositivos reales. Fija la duración de la ejecución y el tiempo de recuperación entre pruebas.
Los debates sobre automatizaciones de alta frecuencia muestran por qué la tasa de eventos y el trabajo de las plantillas deben especificarse. Una investigación de la comunidad de Home Assistant sobre la carga de eventos de alta frecuencia plantea cargas superiores a mil eventos por minuto, lo que ilustra cómo una tasa de disparo no declarada puede hacer incomparables dos resultados de benchmark.
Una carga de trabajo representativa no tiene por qué ser la carga máxima posible. Incluye la mayor coincidencia habitual y un paso controlado más allá de ella. La primera ejecución establece el comportamiento normal; el paso adicional revela el margen restante. Evita mezclar servicios al azar, porque una tarea en segundo plano inexplicada convierte el benchmark en una anécdota.
Prueba por separado los estados en frío, en caliente y estable
Reiniciar Home Assistant, abrir un panel por primera vez y consultar un historial sin caché puede activar rutas de almacenamiento e inicialización que las repeticiones posteriores evitan. Las ejecuciones en caliente pueden reutilizar páginas de la base de datos, recursos del frontend, respuestas DNS y la caché del sistema operativo. Las ejecuciones prolongadas añaden estabilización térmica, crecimiento de registros y programación de tareas en segundo plano.
El calentamiento de la caché cambia la latencia al colocar los datos usados con frecuencia en una capa más rápida antes de que llegue la demanda. Este análisis de los efectos del calentamiento de caché explica por qué un resultado en caliente puede ser válido para el funcionamiento normal, pero engañoso como evidencia del rendimiento tras un reinicio o durante la recuperación.
Informa de cada estado por separado en lugar de promediarlos. El rendimiento en frío responde cómo se comporta el sistema después de un reinicio o una expulsión de caché; el rendimiento en caliente responde a la interacción diaria repetida; el rendimiento estable responde a una carga sostenida. Una afirmación de capacidad solo es creíble cuando el estado indicado coincide con el escenario del usuario.
Mide percentiles y límites entre etapas
Registra cada latencia de extremo a extremo y luego informa de los valores de la mediana y de los percentiles altos junto con el número de errores. La mediana describe la experiencia habitual, mientras que el percentil 95 o 99 revela colas intermitentes ocultas por el promedio. Usa marcas de tiempo en el disparador, el inicio de la automatización, la llamada de acción y el estado objetivo confirmado cuando la ruta lo permita.
La clasificación rápida de problemas del sistema revisa los procesos, la CPU, la memoria, la red, los dispositivos de bloques y los errores, porque la latencia puede desplazarse entre recursos. El flujo de trabajo para analizar el rendimiento de Linux ofrece un ejemplo conciso de cómo correlacionar señales de recursos en lugar de diagnosticar a partir de un único porcentaje de utilización.
Las marcas de tiempo de las etapas distinguen una integración lenta de un bucle de eventos ocupado, un trabajo lento de base de datos, un retraso de red o un dispositivo objetivo lento. Si Home Assistant ejecuta la acción rápidamente, pero la confirmación llega tarde, añadir CPU al host no resolvería el cuello de botella medido. La primera etapa que se alarga es la salida útil de la relación.
Usa conjuntamente la utilización, la saturación y los errores
La utilización indica lo ocupado que está un recurso; la saturación señala que hay trabajo en cola que no puede atenderse de inmediato; los errores revelan operaciones fallidas. Comprueba los tres aspectos para la CPU, la memoria, el almacenamiento y la red durante el benchmark. Una utilización alta puede ser saludable, mientras que breves ráfagas de saturación pueden crear latencia aunque un promedio prolongado parezca cómodo.
El método USE de rendimiento advierte específicamente que los promedios generales pueden ocultar breves periodos de utilización y colas máximas. Esto es directamente relevante para Home Assistant, donde una breve ráfaga de eventos puede importar más que el promedio de CPU del host durante cinco minutos.
Relaciona las señales del sistema con las mismas marcas de tiempo del benchmark. Una cola de almacenamiento que aumenta durante cada cola lenta sugiere un experimento siguiente diferente al de un evento de recuperación de memoria o una retransmisión de red. No consideres que el recurso más ocupado es el cuello de botella a menos que su saturación o sus errores coincidan con el retraso visible para el usuario.
Cuándo un benchmark deja de ser comparable
Los resultados dejan de ser comparables cuando cambian las versiones de software, los conjuntos de entidades, los tamaños de las bases de datos, la retención, los clientes, las rutas de red, la temperatura ambiente o los servicios en segundo plano sin registrarlo. También fallan cuando una ejecución calienta las cachés y otra no, o cuando la medición manual sustituye a las marcas de tiempo de los eventos para intervalos cortos.
Los benchmarks de contenedores deben indicar el entorno de ejecución, los límites de recursos, la ruta de almacenamiento, el modo de red y las condiciones del host. Esta guía de benchmarks de rendimiento de Docker separa las pruebas de CPU, memoria, almacenamiento y red, e ilustra por qué la etiqueta de un contenedor por sí sola no describe adecuadamente el entorno.
Los resultados sintéticos también dejan de predecir la experiencia del hogar cuando omiten la dependencia real más lenta. Una automatización en bucle local puede comparar limpiamente Core, pero no decir nada sobre una integración en la nube o un dispositivo a batería. Conserva tanto una ruta interna controlada como una ruta representativa de extremo a extremo, y nunca combines sus resultados en una sola cifra.
Ejecuta un protocolo de aceptación de cinco pruebas
Captura el inventario del entorno y luego ejecuta cinco pruebas en frío y cinco en caliente de la carga de trabajo fija. Después, realiza una ejecución sostenida que incluya el trabajo en segundo plano permitido más exigente. Informa de la mediana, el percentil 95, el máximo, los errores, los eventos de reinicio y las señales de utilización, saturación y errores de cada recurso físico.
Las métricas por contenedor resultan útiles cuando se conservan y se alinean con los resultados de la aplicación. Esta guía de supervisión de contenedores explica los campos de CPU, memoria, red y E/S de bloques que pueden acompañar a la distribución de latencias.
Acepta un cambio solo si mejora el percentil objetivo sin aumentar los errores ni trasladar la saturación a otra ruta necesaria. El diagnóstico de ZimaSpace para localizar el recurso limitante es el siguiente paso cuando las pruebas repetidas identifican el mismo límite.
Centro de Tecnología e IA
Más para leer

¿Por qué Home Assistant vuelve a procesar los datos existentes después de una actualización?
Home Assistant puede revisar los datos existentes después de una actualización para hacer que el estado almacenado, los índices, las cachés y las integraciones...

¿Qué dependencias suelen determinar realmente el límite de rendimiento de Home Assistant?
El rendimiento de Home Assistant está limitado por la dependencia obligatoria más lenta en la ruta del evento al resultado, no necesariamente por la...

Redes de Home Assistant: cómo el descubrimiento, el DNS y el enrutamiento permiten la accesibilidad
La accesibilidad de Home Assistant requiere detección, resolución correcta de nombres, una ruta válida, tráfico permitido y un punto de conexión en escucha.

