소형 홈 서버에서 Immich를 조정할 때는 먼저 업로드와 데이터베이스의 응답성을 보호한 다음, 측정한 CPU·메모리·스토리지 부하에 맞춰 썸네일, 동영상, 머신러닝 작업을 제한하거나 예약하세요.
중요한 작업 부하는 유휴 상태의 대시보드가 아니라, 여러 대의 휴대폰이 사진과 동영상을 업로드하는 동안 백업, 검색, 파생 미디어 작업까지 경쟁하는 저녁 시간대입니다. 그 최대 부하를 측정하고, 한 번에 동시성 또는 일정 제어 하나만 변경하며, 원본과 데이터베이스 백업을 보존하세요. 대기열이 느려지는 것은 괜찮지만 업로드 실패, 스와핑, 응답하지 않는 데이터베이스는 허용되지 않습니다.
조정 전에 가장 바쁜 가족 업로드를 측정하세요
휴대폰 사진, 짧은 동영상, 더 큰 동영상 하나가 포함된 대표 배치를 만드세요. 업로드 시작부터 대기열이 0으로 돌아올 때까지 업로드 완료 시간, 작업 대기열 깊이, CPU, 메모리, 스왑, 디스크 지연 시간, 여유 공간, 네트워크 처리량을 기록하세요. 이 기준선으로 실제로 포화되는 리소스를 파악할 수 있습니다.
소형 서버에서 Immich 머신러닝을 다루는 한 논의에서는 라이브러리 크기, 모델 선택, 처리 작업을 나중에 실행할 수 있는지에 따라 하드웨어 조언이 달라진다는 점을 보여 줍니다. 유휴 사용률만 보고 구매하거나 조정하지 않도록 이 워크로드에 따른 비교를 참고하세요.
통과 기준은 업로드가 계속 원활하고 허용 가능한 시간 내에 대기열이 소진되는 것입니다. 메모리 스와핑이 발생하거나 컨테이너가 재시작되면 먼저 동시성을 줄이세요. CPU가 가득 차도 상호작용이 원활하다면 무거운 작업을 예약하세요. 여러 서비스에서 스토리지 지연 시간이 증가하면 모델을 변경하기 전에 활성 데이터 경로를 보호하세요.
동시 작업을 제한하고 무거운 작업을 예약하세요
모든 작업자를 전역적으로 굶기기보다는 측정 결과 무거운 대기열의 동시성부터 줄이세요. 동영상 트랜스코딩과 머신러닝은 서로 다른 리소스를 주로 사용하며, 메타데이터 추출과 썸네일 생성은 사용자가 느끼는 준비 상태에 영향을 줍니다. 한 번에 하나의 대기열만 변경하고 동일한 배치를 다시 실행해 응답성과 처리 완료 시간 모두를 비교하세요.
대규모 라이브러리 스캔, 백업, 선택적 재처리는 가족이 업로드하는 시간대가 아닌 때로 예약하세요. 느린 디스크 하나를 사용하는 서버에서는 스토리지 스냅샷, 데이터베이스 유지 관리, 동영상 트랜스코딩을 겹치게 실행하지 마세요. 통과 기준은 대기열이 계속 늘어나지 않으면서 최대 경합을 낮추는 것입니다.
조정하는 동안 재시도 제한과 로그를 확인할 수 있도록 유지하세요. 작업이 실패하면 실패가 덜 눈에 띌 때까지 작업자 수를 줄이지 말고, 이전 설정으로 되돌린 뒤 오류를 해결하세요. 목표는 작업을 제한하는 것이지 작업을 숨기는 것이 아닙니다.
활성 상태를 빠르게 유지하고 원본을 보호하세요
가능하면 데이터베이스와 자주 기록되는 파생 데이터를 지연 시간이 짧고 신뢰할 수 있는 스토리지에 배치하고, 원본 저장 계층은 용량, 내구성, 백업 설계를 기준으로 선택하세요. 로컬 공간을 확보하려는 목적으로 원시 데이터베이스 디렉터리를 아무 네트워크 공유로 옮기지 마세요.
독립적인 Immich 셀프 호스팅 가이드에서는 가정용 사진 서비스와 관련된 폭넓은 스토리지, 액세스, 원격 사용 결정을 설명합니다. 이를 아키텍처를 이해하기 위한 참고 자료로 활용한 다음, 실제 경로와 장애 발생 시 동작을 직접 검증하세요.
ZimaSpace의 가족 사진 백업 가이드는 조정 작업이 복구 가능성을 우선하도록 돕습니다. 처리 속도가 빨라져도 검증되지 않은 데이터베이스와 원본 파일 백업을 보완할 수는 없습니다.
가족 워크플로를 다시 테스트하고 중단 기준을 정하세요
다른 가족 구성원이 사진을 탐색하고 검색하며 원본을 다운로드하는 동안 동일한 배치를 반복 실행하세요. 통과 기준은 업로드 성공, 사용 가능한 상호작용, 스왑 폭주나 컨테이너 재시작 없음, 그리고 계획한 비업무 시간 내 대기열 소진입니다.
서버를 재시작하고 마운트와 제한 설정이 유지되는지 확인한 다음, 로컬 네트워크를 벗어난 곳에서 휴대폰 한 대의 백그라운드 업로드를 테스트하세요. 평균 사용량이 아니라 일주일 동안의 최대 사용량을 추적하세요. 안전하게 조정한 뒤에도 동일한 특정 리소스가 목표를 반복해서 초과할 때만 새 하드웨어를 고려하세요.
대기열이 절대 비워지지 않거나 파생 자산이 계속 누락되면 제한을 되돌리세요. 여유 공간이 측정된 버스트 요구량 아래로 떨어지면 동시 작업을 더 추가하지 마세요. 단일 사용률 스크린샷이 아니라 고정된 테스트 배치, CPU·메모리·스토리지 지연 시간 차트, 대기열 이름, 변경 전후 설정을 함께 제시해 문제를 확대 보고하세요.
지원 및 팁
더 읽어보기

여러 컨테이너에서 동시 실행할 때 Immich 데이터베이스 연결을 최적화하는 방법
먼저 max_connections를 늘리지 마세요. Immich 세션을 측정하고, 모든 컨테이너의 요구량을 합산하며, 관리용 여유 공간을 확보한 뒤, 실제로 확인된 병목만 조정하세요.

Immich에서 중복 작업 또는 가져오기를 방지하는 방법
반복 작업과 중복 자산을 분리하세요. 하나의 표준 수집 경로를 사용하고, 재시도와 경로 변경을 제어한 다음, 소규모 코호트에서 재진입을 테스트하세요.

데이터베이스 볼륨이 가득 찬 후 Immich를 복구하는 방법
공간을 확보하기 위해 PostgreSQL WAL을 절대 삭제하지 마세요. Immich 쓰기를 중지하고, 데이터베이스 상태를 보존한 뒤, 안전하게 용량을 추가하고 PostgreSQL을 복구한 다음 재발을 방지하세요.

