Optimiza Immich en un servidor doméstico pequeño protegiendo primero la capacidad de respuesta de las cargas y la base de datos; después, limita o programa el trabajo de miniaturas, vídeos y aprendizaje automático según la presión medida sobre la CPU, la memoria y el almacenamiento.
La carga relevante no es un panel inactivo, sino la tarde en que varios teléfonos suben fotos y vídeos mientras las copias de seguridad, las búsquedas y los trabajos de generación de contenido derivado compiten por los recursos. Captura ese pico, cambia un solo control de concurrencia o programación cada vez y conserva los originales junto con las copias de seguridad de la base de datos. Una cola más lenta es aceptable; las cargas fallidas, el uso de memoria de intercambio o una base de datos que no responde, no.
Mide la carga familiar más intensa antes de optimizar
Crea un lote representativo con fotos del teléfono, vídeos cortos y un clip más grande. Registra el tiempo de finalización de las cargas, la profundidad de la cola de trabajos, la CPU, la memoria, la memoria de intercambio, la latencia del disco, el espacio libre y el rendimiento de red desde el inicio hasta que la cola vuelva a cero. Esta referencia identifica el recurso que realmente se satura.
Una conversación sobre servidores pequeños e Immich muestra cómo las recomendaciones de hardware varían según el tamaño de la biblioteca, la elección del modelo y la posibilidad de ejecutar el procesamiento más tarde. Usa esta comparación dependiente de la carga de trabajo para evitar comprar o ajustar el sistema basándote en una utilización inactiva.
La prueba se supera si las cargas siguen respondiendo y la cola se vacía dentro del plazo aceptable. Si la memoria empieza a usar el área de intercambio o los contenedores se reinician, reduce primero la concurrencia. Si la CPU está al máximo pero la interacción sigue respondiendo, programa el trabajo pesado. Si la latencia del almacenamiento aumenta en varios servicios, protege la ruta de datos activa antes de cambiar los modelos.
Limita los trabajos simultáneos y programa el trabajo pesado
Reduce la concurrencia de la cola pesada medida en lugar de dejar sin recursos a todos los trabajadores de forma global. La transcodificación de vídeo y el aprendizaje automático suelen dominar recursos distintos, mientras que la extracción de metadatos y las miniaturas afectan a la disponibilidad percibida. Cambia una cola, vuelve a ejecutar el mismo lote y compara tanto la capacidad de respuesta como el tiempo necesario para vaciarla.
Programa los escaneos de bibliotecas grandes, las copias de seguridad y el reprocesamiento opcional fuera del horario de carga familiar. No superpongas una instantánea del almacenamiento, el mantenimiento de la base de datos y la transcodificación de vídeo en un servidor con un único disco lento. La prueba se supera cuando disminuye la contención máxima sin que la cola crezca indefinidamente.
Mantén visibles los límites de reintentos y los registros mientras optimizas. Si los trabajos fallan, restaura la configuración anterior y resuelve el error en lugar de reducir el número de trabajadores hasta que el fallo sea menos evidente. El objetivo es limitar el trabajo, no ocultarlo.
Mantén rápida la información activa y protegidos los originales
Cuando sea posible, coloca la base de datos y los datos derivados que se escriben con frecuencia en un almacenamiento fiable y de baja latencia, y elige el nivel destinado a los originales según la capacidad, la durabilidad y el diseño de las copias de seguridad. Evita mover el directorio de la base de datos sin procesar a un recurso compartido de red poco fiable solo para liberar espacio local.
Una guía independiente para alojar Immich por cuenta propia ilustra las decisiones generales de almacenamiento, acceso y uso remoto relacionadas con un servicio doméstico de fotos. Úsala como contexto arquitectónico y valida después tus propias rutas y el comportamiento ante fallos.
La guía de copias de seguridad familiares de fotos de ZimaSpace ayuda a mantener la optimización subordinada a la posibilidad de recuperación. Un procesamiento más rápido no compensa una base de datos y una copia de seguridad de los archivos originales que no se hayan probado.
Vuelve a probar el flujo familiar y establece un límite de parada
Repite el mismo lote mientras otro miembro de la familia navega, busca y descarga un original. La prueba se supera si las cargas se completan correctamente, la interacción sigue siendo utilizable, no se produce una espiral de uso de memoria de intercambio ni se reinicia ningún contenedor, y la cola se vacía dentro del periodo de baja actividad previsto.
Reinicia el servidor, confirma que los montajes y los límites persisten y prueba después la carga en segundo plano de un teléfono fuera de la red local. Registra una semana de uso máximo, no promedio. Considera adquirir hardware nuevo solo cuando el mismo recurso identificado incumpla repetidamente el objetivo después de una optimización segura.
Revierte un límite si las colas nunca se vacían o faltan recursos derivados. Deja de añadir trabajos simultáneos cuando el espacio libre caiga por debajo del requisito de ráfaga medido. Para escalar el problema, proporciona el lote de prueba fijo, gráficos de CPU, memoria y latencia del almacenamiento, los nombres de las colas y la configuración anterior y posterior, en lugar de una única captura de la utilización.
Soporte y Consejos
Más para leer

Cómo optimizar las conexiones de la base de datos de Immich para contenedores simultáneos
No aumentes primero max_connections. Mide las sesiones de Immich, suma la demanda total de todos los contenedores, conserva margen para la administración y ajusta...

Cómo evitar trabajos o importaciones duplicados en Immich
Separa los trabajos repetidos de los recursos duplicados. Usa una única ruta de ingesta canónica, controla los reintentos y los cambios de ruta, y...

Cómo reparar Immich después de que su volumen de base de datos se llene
Nunca elimines el WAL de PostgreSQL para liberar espacio. Detén las escrituras de Immich, conserva el estado de la base de datos, añade capacidad...

