대규모 모바일 가져오기 중 간헐적으로 발생하는 Immich 오류는 대개 전체 라이브러리나 업로드된 모든 자산이 손상된 것이 아니라, 여러 작업이 겹치면서 한 계층이 과부하로 실패한다는 의미입니다.
대규모 가져오기는 모바일 백그라운드 동작, 장시간 요청, 리버스 프록시 또는 터널 제한, 데이터베이스 쓰기, 스토리지 I/O, 썸네일 및 동영상 처리, 머신러닝 대기열을 함께 발생시킵니다. 먼저 실패한 자산과 타임스탬프를 소규모로 수집하세요. 그런 다음 장애가 휴대폰, 네트워크 경로, 애플리케이션 서버 또는 과부하된 종속 구성 요소 중 어디에서 시작되는지 확인합니다.
모든 항목을 재시도하기 전에 오류 그룹을 분류하세요
실패를 미디어 유형, 파일 크기, 소스 기기, 네트워크 경로, 시간별로 그룹화하세요. 큰 동영상만 실패한다면 CPU보다 요청 지속 시간과 업로드 제한을 먼저 조사하세요. 바쁜 시간대에 무작위로 사진과 동영상이 실패한다면 공유 서버 리소스나 네트워크 불안정이 더 유력한 원인입니다.
많은 모바일 업로드 오류를 설명한 2026년 Immich 사용자 보고서는 대규모 휴대폰 대기열에서 반복적인 오류가 나타날 수 있으며, 항목별 및 경로별 진단이 필요하다는 점을 보여 줍니다. 그러나 이 보고서만으로 모든 경우에 적용되는 단일 모바일 클라이언트 버그가 입증되는 것은 아닙니다.
첫 진단 조치로 “모두 재시도”를 선택하지 마세요. 실패한 자산 이름 또는 ID 10개, 성공한 대조 항목 1개, 그리고 해당 클라이언트 및 서버 로그 구간을 저장하세요. 규모가 작은 알려진 오류 그룹을 사용하면 원래 증거를 가리는 새로운 오류 폭주를 일으키지 않고 변경 사항을 테스트할 수 있습니다.
일반적인 원격 경로와 로컬 업로드를 비교하세요
안정적인 로컬 Wi-Fi에서 신뢰할 수 있는 로컬 엔드포인트로 동일한 소형 및 대형 테스트 파일을 업로드한 다음, 일반적으로 사용하는 원격 호스트 이름, VPN, 터널 또는 리버스 프록시를 통해 반복하세요. 계정과 자산을 동일하게 유지하여 경로를 주요 변수로 삼습니다.
대용량 파일 백업 실패에 관한 보고서는 이 분기에서 프록시 또는 터널 요청 제한을 고려해야 하는 이유를 보여 줍니다. 보고된 서비스와 임계값은 배포 환경에 따라 다릅니다. 일반적인 테스트는 직접적인 로컬 전송은 성공하지만 원격 경로에서는 일관되게 실패하는지 확인하는 것입니다.
두 경로에서 동일한 자산이 실패한다면 서버 및 스토리지 증거를 추적하세요. 원격 경로에서만 실패한다면 최대 본문 크기, 요청 버퍼링, 유휴 및 읽기 시간 제한, TLS 종료, 모바일 네트워크 전환, 재전송을 점검하세요. 썸네일 동시 처리 수를 변경해도 Immich에 요청이 완전히 도달하지 않는 문제는 해결되지 않습니다.
오류를 대기열 증가 및 리소스 압박과 연관 지어 확인하세요
대규모 가져오기는 백그라운드 작업이 누적되는 동안에도 업로드를 계속 수락할 수 있습니다. 장애 시간대에 CPU, 메모리 압박, 블록 I/O 지연 시간, 데이터베이스 응답성, 컨테이너 재시작, 작업 완료 상태를 관찰하세요. 사용률이 높다는 사실만으로는 증거가 되지 않습니다. 해당 지표가 오류와 동시에 변해야 합니다.
컨테이너 CPU, 메모리, 네트워크 및 디스크 지표에 관한 Docker 리소스 모니터링 문서는 호스트 전체 평균 하나만 읽는 대신 컨테이너를 비교하는 것이 유용하다는 점을 보여 줍니다. Linux에서는 동일한 타임스탬프의 호스트 스토리지 및 메모리 압박 증거와 컨테이너 지표를 함께 확인하세요.
메모리 압박으로 컨테이너가 종료되거나, 업로드 오류와 함께 스토리지 지연 시간이 증가하거나, 대기열이 진행을 멈춘 동안 데이터베이스 응답 시간이 급증한다면 원인이 되는 작업 또는 동시 처리 수만 낮추고 동일한 오류 그룹으로 다시 테스트하세요. 리소스 그래프가 안정적이라면 애플리케이션 로그와 네트워크 경로 진단을 계속 진행하세요.
오류율과 꼬리 지연 시간을 부하 신호로 취급하세요
피크 시간대에 일부 요청만 시간 초과되면 평균 응답 시간으로는 시스템이 정상적으로 보일 수 있습니다. 통제된 시간 구간에서 시도한 업로드 수, 실패 수, 중앙값 응답 시간, 느린 꼬리 요청을 기록하세요. 이렇게 하면 “간헐적”이라는 현상을 경험담이 아닌 측정 가능한 문제로 바꿀 수 있습니다.
오류 및 지연 시간 분석을 위한 부하 테스트 프레임워크에서는 상태 코드 분류, 연결 문제, 분포, 시계열 상관관계를 분석할 것을 권장합니다. 가족 라이브러리에 공격적으로 부하를 가할 필요는 없습니다. 실제 가져오기 속도에 동일한 분석 구조를 적용하세요.
도착률을 크게 낮췄을 때 실패가 줄어들고 각 자산이 개별적으로는 모두 성공한다면, 현재 스택이 해당 가져오기 강도를 감당할 여유가 부족한 것입니다. 동일한 파일이 한 번에 하나씩 처리해도 실패한다면 일반적인 포화가 아니라 자산별, 경로별 또는 결정적인 소프트웨어 오류일 가능성이 높습니다.
한 가지 부하 원인만 줄이고 동일한 가져오기 패턴을 다시 테스트하세요
증거에 따라 가장 안전한 변경 사항을 하나 선택하세요. 백그라운드 동시 처리 수를 낮추거나, 다른 무거운 컨테이너를 일시 중지하거나, 로컬 경로를 사용하거나, 백업 시간대가 아닌 때에 가져오기를 수행하거나, 프록시 시간 제한을 수정할 수 있습니다. CPU 제한, 스토리지, 프록시 규칙, 앱 버전을 동시에 변경하지 마세요.
휴대폰 사진 백업 중단에 관한 ZimaSpace 워크플로는 모바일 측 분기를 제공합니다. 백그라운드 일정, 클라우드 전용 원본, 변화하는 네트워크 환경은 서버가 정상인 경우에도 업로드를 중단시킬 수 있습니다.
고정된 오류 그룹이 성공하고 동일한 대규모 가져오기가 안정적인 오류율, 진행되는 대기열, 허용 가능한 대화형 성능으로 실행되면 해결된 것으로 판단할 수 있습니다. 낮은 부하에서도 오류가 지속되거나 동일한 자산에서 반복된다면 클라이언트 로그, 서버 로그, 프록시 상태, 리소스 그래프, 파일 유형 및 크기, 최초 실패 요청을 포함하여 에스컬레이션하세요.
지원 및 팁
더 읽어보기

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

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

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

