Las solicitudes repetidas de Immich se vuelven más rápidas cuando los modelos, las páginas de la base de datos, las miniaturas y los recursos del cliente permanecen lo bastante disponibles en memoria como para evitar las operaciones de carga iniciales.
La segunda búsqueda no demuestra necesariamente que el servidor haya ganado capacidad. Puede reutilizar datos preparados por la primera solicitud, por lo que las pruebas significativas deben identificar qué estado persiste y mostrar por separado el comportamiento en frío y en caliente.
La primera solicitud asume el coste del estado ausente
Después de un reinicio o de un periodo prolongado de inactividad, una solicitud de Immich puede necesitar cargar en la memoria activa las rutas de código, los pesos del modelo, las páginas de la base de datos y los archivos de miniaturas. También puede activar la configuración de conexiones y la recuperación de recursos del cliente. Las solicitudes posteriores omiten parte de ese trabajo, aunque la consulta visible sea idéntica.
Un informe de un usuario mide aproximadamente cinco segundos para una primera búsqueda inteligente y cerca de medio segundo para una repetición inmediata, mientras la memoria de la GPU aumenta a medida que se carga el modelo. Las cifras dependen de la configuración, pero la secuencia observada demuestra por qué las búsquedas iniciales y repetidas representan estados distintos del sistema.
Registra la condición exacta en frío: reinicio completo del contenedor, reinicio del servicio de aprendizaje automático, estado del cliente borrado o un intervalo de inactividad definido. Estas condiciones no son intercambiables. Un resultado etiquetado únicamente como «en frío» no puede revelar si el retraso se debió a la permanencia del modelo en memoria, a la caché de páginas del servidor, a la configuración de conexiones o a la reutilización del lado del cliente.
El estado en caliente existe en varias capas independientes
No existe un único interruptor de caché de Immich que explique todas las solicitudes repetidas. El sistema operativo puede conservar páginas de archivos, PostgreSQL puede reutilizar datos activos, el proceso de aprendizaje automático puede conservar un modelo cargado y los navegadores o las aplicaciones móviles pueden reutilizar miniaturas y recursos de la aplicación. Cada capa tiene una duración distinta.
Una descripción general del calentamiento de la caché explica la distinción general: una caché en caliente sirve los datos conservados con menos demora, mientras que una caché en frío debe obtenerlos de una fuente primaria más lenta. En Immich, esa fuente primaria puede ser el almacenamiento persistente, y los «datos» pueden ser archivos multimedia, páginas de la base de datos o archivos del modelo.
Usa reinicios selectivos. Repite la prueba en el mismo navegador y después en un cliente nuevo; reinicia únicamente el servicio de aprendizaje automático y luego la aplicación; por último, reinicia el equipo anfitrión. El primer reinicio que restablezca el retraso prolongado identifica la capa cuyo estado conservado contribuyó más, aunque varias capas pueden acumular efectos.
Los resultados en caliente pueden ocultar un límite de capacidad
Un conjunto pequeño de búsquedas repetidas puede mantener exactamente las páginas y miniaturas necesarias en memoria. Esa prueba puede parecer excelente mientras una biblioteca familiar más amplia supera la memoria disponible y provoca fallos de caché frecuentes. La capacidad se pone de manifiesto cuando cambia el conjunto de trabajo, otro servicio expulsa datos o un reinicio elimina el estado temporal.
La explicación de la ruta de datos de ZimaSpace separa la selección en la base de datos de la visualización de archivos multimedia, lo que evita que una miniatura en caliente oculte una consulta lenta, o que una consulta en caché oculte una entrega de archivos lenta. Mide por separado los identificadores de los resultados y los recursos mostrados al diagnosticar las mejoras de las solicitudes repetidas.
Alterna entre varias consultas y regiones de la línea temporal en lugar de repetir indefinidamente un solo elemento. Incluye un intervalo de inactividad representativo y una carga de trabajo competidora. Un servidor tiene capacidad útil cuando mantiene una latencia aceptable en todo el conjunto de trabajo previsto, no simplemente cuando una ruta activa permanece en memoria.
Informa conjuntamente de las ejecuciones en frío, en caliente y perturbadas
Diseña un protocolo de tres partes. Primero, ejecuta el endpoint después de una condición en frío documentada. Segundo, repítelo inmediatamente sin cambiar las entradas. Tercero, introduce la perturbación prevista —tiempo de inactividad, otro contenedor o un conjunto de consultas más amplio— y repite la prueba. Registra la latencia mediana y la de la cola lenta, en lugar de un único valor del cronómetro.
Un hilo de soporte sobre la primera búsqueda informa de un retraso inicial de diez a quince segundos seguido de repeticiones casi instantáneas, lo que refuerza la necesidad de conservar ambas distribuciones. No establece una duración universal para Immich; la elección del modelo, el acelerador, la memoria, el almacenamiento y la versión pueden cambiar la diferencia.
Concluye con dos cifras y un límite: la latencia cálida habitual, la latencia fría habitual y el evento que provoca la pérdida del estado en caliente. Si el comportamiento en frío incumple el objetivo del hogar, conserva el estado necesario en memoria o mejora esa ruta de carga. Si solo fallan las pruebas en frío artificial, documenta la condición operativa aceptada.
Centro de Tecnología e IA
Más para leer

¿Qué es el estado de Immich y qué partes deben conservarse?
El estado de Immich incluye los originales, las relaciones de la base de datos, la identidad, la configuración y los derivados; conserva cada elemento...

¿Cómo gestiona Immich la autenticación en sesiones locales y remotas?
Immich utiliza identidad del lado del servidor con sesiones de cliente, mientras que los encabezados del proxy, los orígenes y las redirecciones de OIDC...

¿Qué hace que las búsquedas o consultas de Immich se ralenticen a medida que crecen los datos?
El crecimiento de Immich puede ampliar los índices, expulsar las páginas activas, complicar los filtros y retrasar la entrega de contenido multimedia; separa estas...

