Cómo optimizar las tareas de miniaturas de fotos en torno a las ventanas de copia de seguridad

Eva Wong es la Redactora técnica y manitas residente en ZimaSpace. Una geek de toda la vida con pasión por los homelabs y el software de código abierto, se especializa en traducir conceptos técnicos complejos en guías accesibles y prácticas. Eva cree que el autoalojamiento debe ser divertido, no intimidante. A través de sus tutoriales, empodera a la comunidad para desmitificar las configuraciones de hardware, desde construir su primer NAS hasta dominar los contenedores Docker.

La generación de miniaturas lee los originales, escribe muchos derivados pequeños, actualiza filas de la base de datos y puede competir por la CPU con la codificación de vídeo o el aprendizaje automático. Ejecutarla durante una copia de seguridad del NAS puede alargar ambos trabajos y aumentar la latencia al explorar fotos de forma interactiva.

El objetivo no es que las miniaturas sean lentas permanentemente. Mide qué recurso entra en conflicto con la copia de seguridad, reduce solo la concurrencia relevante y asigna a cada trabajo pesado una ventana definida, con una regla de recuperación si se excede. Mantén documentada la configuración normal de los trabajadores para que una limitación temporal no se convierta en un límite permanente inadvertido.

Mide el conflicto antes de cambiar los trabajadores

Ejecuta una copia de seguridad normal sin una cola de miniaturas pendiente y registra la duración, la latencia del almacenamiento, el rendimiento de la red y el uso de la CPU. Otro día, procesa un lote representativo de miniaturas sin tráfico de copia de seguridad y captura las mismas métricas.

El recurso limitado determina la solución. Una latencia de disco alta sugiere escalonar las cargas de lectura y escritura; una CPU saturada sugiere usar menos trabajadores de imágenes; un volumen de base de datos ocupado puede requerir separar el almacenamiento de la base de datos del almacenamiento de los derivados.

Immich ofrece colas de trabajos y controles de trabajadores descritos en su documentación sobre trabajos y trabajadores. Registra los valores actuales antes de editarlos para que un experimento fallido tenga una reversión clara.

Define una ventana tranquila y una regla para los excesos

Programa las copias de seguridad en la ventana con mayores necesidades de recuperación y reserva una ventana posterior o anterior para el trabajo de miniaturas. Evita iniciar ambos trabajos en el mismo minuto, porque el arranque de las colas puede crear un pico de aperturas de archivos y actividad de la base de datos.

Define qué ocurre si una copia de seguridad se prolonga. Una regla segura es dejar reducidos o pausados los trabajadores de miniaturas hasta que la copia de seguridad indique que ha finalizado y, después, restaurar su concurrencia normal en lugar de permitir que dos programaciones se solapen a ciegas.

Conserva una ventana de recuperación después de grandes importaciones. Sin ella, un límite bajo de trabajadores durante la noche puede hacer que los usuarios esperen días para ver las miniaturas, aunque haya recursos disponibles durante el día.

Ajusta la concurrencia al cuello de botella

Cambia una clase de trabajadores o un valor de concurrencia cada vez y procesa un lote del mismo tamaño. Compara la velocidad de vaciado de la cola con la duración de la copia de seguridad y la latencia interactiva, en lugar de juzgar el éxito solo por el uso de la CPU.

Si los originales y las copias de seguridad comparten discos HDD, reducir las lecturas simultáneas de imágenes suele ayudar más que aumentar el límite de la CPU. Si los originales están en almacenamiento rápido pero la base de datos está ocupada, mueve o protege la carga de la base de datos antes de aumentar el número de trabajadores.

Mantén fiables los montajes de red durante ambas operaciones. La guía de almacenamiento de red de Immich explica por qué una ruta montada pero bloqueada puede parecer un problema del trabajo de la aplicación.

-15% OFF

Valida un ciclo completo y restaura el funcionamiento normal

Observa una copia de seguridad completa seguida de una ventana de miniaturas. Registra las horas de inicio y finalización, la latencia máxima del almacenamiento, la profundidad de la cola, los trabajos fallidos y si los usuarios pueden abrir fotos recientes durante el ciclo.

Después de vaciar la cola pendiente, devuelve la concurrencia al valor normal documentado si la reducción solo se aplicó para proteger la recuperación. La limitación permanente debe ser intencionada y basarse en objetivos de servicio medidos.

El cambio funciona cuando la duración de la copia de seguridad sigue siendo predecible, las colas de miniaturas se vacían dentro del periodo de recuperación planificado y no aparecen trabajos fallidos ni recursos ausentes. Revierte el último cambio de concurrencia si aumentan la tasa de errores o la latencia de la base de datos.

Soporte y Consejos

Más para leer

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.