재개 가능한 업로드에 안전하게 적용할 수 있는 보편적인 워커 연결 수는 없습니다. 재현 가능한 최대 동시 소켓 수요를 기준으로 설정한 다음, 측정된 여유분을 추가하세요.
홈 서버에서는 눈에 보이는 단일 업로드 하나가 클라이언트 연결, 업스트림 연결, 그리고 브라우저가 청크를 재시도하거나 재개하는 동안의 유휴 시간을 모두 차지할 수 있습니다. 가장 바쁜 일반 업로드 시간대의 실시간 연결 수부터 확인하고, 이를 프록시와 운영 체제의 한도와 비교하세요. 파일 디스크립터, 업스트림 워커, 메모리 또는 애플리케이션이 먼저 한계에 도달한다면 프록시 설정을 더 이상 높이지 마세요.
한도를 정하기 전에 실시간 업로드 수요 측정
프록시가 유휴 상태일 때가 아니라 실제로 중요한 워크로드가 실행되는 동안 연결 수를 세세요. 가정이나 소규모 팀에서 실행할 가능성이 높은 업로드 수를 동일하게 시작하고, 여러 전송을 일시 중지했다가 재개해 보며, 절전 모드 후 다시 연결되는 모바일 클라이언트도 포함하세요. 수락된 클라이언트 소켓, 연결이 설정된 업스트림 소켓, 업스트림 응답을 기다리는 연결을 기록하세요.
워커 한도는 완료된 HTTP 요청뿐 아니라 해당 워커가 처리하는 모든 열린 연결이 차지합니다. 따라서 프록시된 서버 연결도 클라이언트 연결과 함께 측정에 포함해야 합니다.
반복해서 확인할 수 있는 가장 높은 총합을 작업 기준값으로 사용하세요. 재연결 폭주 중에만 총합이 증가했다가 빠르게 줄어든다면 해당 급증을 지속적인 수요와 분리하세요. 업로드 처리량은 평평한데 총합이 계속 증가한다면, 증가하는 수치를 정당한 용량 수요로 간주하지 마세요. 한도를 높이기 전에 업스트림 애플리케이션, 타임아웃, 정체된 세션을 점검하세요.
소켓 수요를 워커별 용량으로 변환
리버스 프록시에서는 활성 업로드 하나가 일반적으로 클라이언트 측 연결과 업스트림 측 연결을 동시에 차지합니다. HTTP 킵얼라이브, 상태 확인, WebSocket 세션, 관리 트래픽도 추가 슬롯을 사용합니다. 동시 업로드 수의 두 배를 시작 모델로 삼되, 이것을 최종 답으로 보지는 마세요. 경험칙보다 측정된 총 소켓 수가 더 신뢰할 만하기 때문입니다.
눈에 보이는 워커 연결 한도 때문에 기존 전송이 계속되는 동안에도 새 클라이언트가 거부될 수 있습니다. 가장 바쁜 워커와 설정된 한도를 비교한 다음, 서비스 프로세스의 파일 열기 한도도 확인하세요. 프록시 값을 더 크게 설정해도 프로세스가 열 수 없는 파일 디스크립터가 새로 생기지는 않습니다.
반복해서 확인할 수 있는 가장 바쁜 워커의 수치보다 높은 목표를 선택하고, 관찰된 재시도 급증과 일반적인 비업로드 트래픽을 수용할 충분한 여유를 두세요. 해당 연결이 동시에 실제로 존재하지 않는다면 가능한 모든 클라이언트와 청크 수를 곱하지 마세요. 운영 체제 한도가 더 낮다면 먼저 해당 계층을 조정하거나 프록시 목표를 그보다 낮게 유지하세요.
원래의 재개 경로를 테스트하고 장애 원인 해석
정확한 트리거를 반복하세요. 전체 업로드 세트를 시작하고, 여러 클라이언트를 중단한 다음, 나머지 전송이 진행 중일 때 다시 재개합니다. 새 연결 수락 여부, 재시도 타이밍, 업로드 처리량, 프록시 오류 메시지, 업스트림 응답 시간, 열린 파일 디스크립터를 확인하세요. 본문을 업로드하지 않는 합성 요청은 동일한 리소스 경로를 테스트하지 않습니다.
새 업로드가 실패하는 동시에 프록시가 워커 연결이 소진되었다고 보고한다면, 해당 한도는 확인된 병목입니다. 연결 사용량이 한도보다 낮은데도 본문 크기, 타임아웃, 업스트림 사용 불가 또는 애플리케이션 큐 오류로 새 요청이 실패한다면 워커 설정을 높여도 문제가 해결되지 않습니다. 연결 한도 계산도 열린 파일 한도와 프록시의 양방향 소켓을 반드시 고려해야 합니다.
한 번에 한 계층만 변경하세요. 로그와 소켓 증거를 통해 해당 설정이 원인임을 확인한 뒤에만 워커 한도를 높이고, 프록시를 다시 로드한 다음 동일한 중단 패턴을 재실행하세요. 오류가 업스트림 서비스나 파일 디스크립터 한도로 이동한다면 중단하세요. 이는 프록시 연결을 더 늘리는 것이 유용하다는 증명이 아니라 다음 제약에 도달했다는 뜻입니다.
충분한 여유를 유지하고 중단 조건 정의
가장 바쁜 워커에서 관찰된 수치와 설정된 한도 사이에 여유를 두되, 실제 변동 폭을 기준으로 정하세요. 트래픽이 안정적인 소규모 서버에는 예측하기 어려운 급증을 받는 공개 서비스보다 추정 여유분이 덜 필요합니다. 기준값, 목표값, 워커 수, 프로세스 파일 한도, 최대 측정 결과를 기록하여 다음 변경을 추측이 아닌 비교를 통해 판단할 수 있도록 하세요.
연결 용량은 업로드 경로의 한 계층일 뿐입니다. 대시보드는 작동하지만 특정 동기화 또는 업로드 경로가 실패한다면, 프록시가 정상이라고 판단하기 전에 실패하는 엔드포인트와 메서드를 먼저 분리해 확인해야 합니다.
전체 재개 테스트 두 번이 완료되고, 새 연결이 계속 수락되며, 오류 로그가 깨끗하고, 가장 바쁜 워커에 안정적인 여유가 유지되면 변경이 성공한 것입니다. 실패가 줄지 않은 상태에서 메모리 압박이나 지연 시간이 악화된다면 증가한 설정을 되돌리세요. 연결 사용량이 한도보다 충분히 낮은데도 업로드가 계속 대기하거나 타임아웃되거나 재개 상태가 손상된다면 애플리케이션 또는 스토리지 계층으로 문제를 확대하세요.
지원 및 팁
더 읽어보기

잠금 충돌 없이 Restic 백업, Forget 및 Prune 작업을 예약하는 방법
빈번한 백업, 범위가 지정된 보존, 실제 정리, 검사, 재시도 및 복원 검증을 분리한 완전한 다중 호스트 Restic 일정입니다.

Restic 정리 작업이 예약된 백업을 차단하지 않도록 하는 방법
공유 Restic 저장소를 위한 예방 계획으로, 백업 기간과 정리 작업을 분리하면서 잠금, 재시도 및 알림을 그대로 유지합니다.

활성 백업을 중단하지 않고 오래된 Restic 잠금 해제하는 방법
활성 백업을 보호하고 오래된 상태만 제거하며 정상 일정에 따라 복구를 확인하는 최소 개입형 Restic 잠금 해제 워크플로입니다.

