백업 시간대에 맞춰 사진 썸네일 작업을 최적화하는 방법

에바 왕 는 기술 작가 그리고 이자 ZimaSpace의 상주 장인입니다. 평생을 기술에 열정을 가진 사람으로서 홈랩과 오픈소스 소프트웨어에 열정을 가지고 있으며,복잡한 기술 개념을 쉽게 이해할 수 있는 실습 가이드로 번역하는 데 전문성을 가지고 있습니다.에바는 셀프 호스팅이 어렵지 않고 재미있어야 한다고 믿습니다. 그녀의 튜토리얼을 통해 커뮤니티가 하드웨어 설정의 신비를 풀도록돕고 있습니다. 첫 NAS 구축부터 Docker 컨테이너 마스터링까지.

썸네일 생성은 원본을 읽고, 수많은 작은 파생 파일을 쓰며, 데이터베이스 행을 업데이트합니다. 또한 비디오 인코딩이나 머신 러닝과 CPU를 두고 경쟁할 수 있습니다. NAS 백업 중에 실행하면 두 작업이 모두 길어지고 대화형 사진 탐색의 지연 시간이 증가할 수 있습니다.

목표는 썸네일 생성을 영구적으로 느리게 만드는 것이 아닙니다. 백업과 충돌하는 리소스가 무엇인지 측정하고, 관련된 동시성만 줄인 다음, 각 작업에 명확한 실행 시간을 지정하고 초과 실행 시 복구 규칙을 마련하세요. 일시적인 제한이 인지하지 못한 영구 제한으로 남지 않도록 정상 워커 설정을 문서화해 두세요.

워커를 변경하기 전에 충돌 측정하기

썸네일 대기열이 없는 상태에서 일반 백업을 실행하고 소요 시간, 스토리지 지연 시간, 네트워크 처리량, CPU 사용량을 기록하세요. 다른 날에는 백업 트래픽 없이 대표적인 썸네일 배치를 처리하고 동일한 지표를 수집하세요.

제약을 받는 리소스에 따라 해결 방법이 달라집니다. 디스크 지연 시간이 높다면 읽기 및 쓰기 작업을 분산하고, CPU가 포화 상태라면 이미지 워커 수를 줄이며, 데이터베이스 볼륨이 바쁘다면 데이터베이스 스토리지와 파생 파일 스토리지를 분리해야 할 수 있습니다.

Immich는 작업 및 워커 문서에 설명된 작업 대기열과 워커 제어 기능을 제공합니다. 편집하기 전에 현재 값을 기록해 두면 실험에 실패하더라도 깔끔하게 롤백할 수 있습니다.

유휴 시간과 초과 실행 규칙 정의하기

복구 요구 사항이 가장 큰 작업을 기준으로 백업 시간을 정한 다음, 그 전후 시간대에 썸네일 작업을 배치하세요. 두 작업을 같은 분에 시작하면 파일 열기와 데이터베이스 활동이 급증할 수 있으므로 피하세요.

백업이 오래 실행될 경우 어떻게 처리할지 정의하세요. 안전한 규칙은 백업 완료가 보고될 때까지 썸네일 워커를 줄이거나 일시 중지한 뒤, 두 일정이 무작정 겹치지 않도록 정상 동시성으로 복원하는 것입니다.

대규모 가져오기 후 처리할 시간을 별도로 확보하세요. 그렇지 않으면 야간 워커 제한이 낮게 설정되어 낮에도 리소스를 사용할 수 있는데 사용자가 며칠씩 썸네일을 기다리게 될 수 있습니다.

병목에 맞춰 동시성 조정하기

한 번에 하나의 워커 클래스 또는 동시성 값만 변경하고 동일한 크기의 배치를 처리하세요. CPU 사용률만으로 성공 여부를 판단하지 말고, 대기열 처리 속도를 백업 소요 시간 및 대화형 지연 시간과 비교하세요.

원본과 백업이 HDD를 공유한다면 CPU 제한을 높이는 것보다 동시에 실행되는 이미지 읽기 수를 줄이는 편이 더 효과적인 경우가 많습니다. 원본은 빠른 스토리지에 있지만 데이터베이스가 바쁘다면 워커 수를 늘리기 전에 데이터베이스 작업을 이동하거나 보호하세요.

두 작업이 진행되는 동안 네트워크 마운트를 안정적으로 유지하세요. Immich 네트워크 스토리지 가이드에서는 마운트되었지만 멈춘 경로가 애플리케이션 작업 문제처럼 보일 수 있는 이유를 설명합니다.

-15% OFF

전체 주기를 검증하고 정상 서비스 복원하기

백업이 완료된 후 썸네일 작업 시간이 이어지는 전체 주기를 관찰하세요. 시작 및 완료 시간, 최대 스토리지 지연 시간, 대기열 깊이, 실패한 작업 수, 그리고 주기 동안 사용자가 최근 사진을 열 수 있는지를 기록하세요.

대기열이 비워진 후, 감소된 설정이 따라잡기 작업 보호를 위한 임시 설정이었다면 동시성을 문서화된 정상 값으로 되돌리세요. 영구적인 제한은 측정된 서비스 목표를 바탕으로 의도적으로 적용해야 합니다.

백업 소요 시간이 예측 가능하게 유지되고, 썸네일 대기열이 계획한 따라잡기 기간 내에 비워지며, 실패한 작업이나 누락된 자산이 나타나지 않으면 변경이 성공한 것입니다. 오류율이나 데이터베이스 지연 시간이 증가하면 마지막 동시성 변경을 롤백하세요.

지원 및 팁

더 읽어보기

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.