저장 공간과 자동 유지 관리: 디스크가 가득 차지 않는 이유
하루에 수천 개의 테스트를 실행하는 테스트 모음은 동영상, 추적 기록, 스크린샷, 보고서 등 증거 자료를 하루 종일 기록합니다. Nexus Studio는 이 자료의 용량을 자동으로 제한합니다. 모든 폴더에는 테스트별 상한이 있고, 전체 증거 자료에는 공통 용량 한도가 적용되며, 디스크에는 최소 여유 공간이 유지됩니다. 이 페이지에서는 무엇이 늘어나는지, 무엇부터 삭제되는지, 무엇은 절대 삭제되지 않는지, 하루 10,000회 실행 시 디스크 사용량은 어떤지 설명합니다.
작성: Nexus Studio 팀, Verdict System LLC. 2026년 10월 9일.
무엇이 늘어나며, 어떻게 한도 내로 유지되는가
실행할 때마다 무언가가 기록됩니다. 통과하면 스크린샷과 해당 메타데이터가 보관됩니다. 실패하면 report.md, metadata.json, raw-data.json, screenshot.png가 담긴 폴더가 보관되며, 실제 실패인 경우 video.webm과 trace.zip도 포함됩니다. API, 카오스, Smart Monkey, 부하 및 시각적 회귀 테스트 실행 결과는 각각 별도의 폴더에 보관되며, 모든 실행은 기록에 행을, 실행 캐시에 임시 파일을 추가합니다.
테스트별 상한만으로는 충분하지 않습니다. 실패한 실행 20개를 보관하는 것은 테스트 하나에서는 적은 양이지만, 테스트가 10,000개면 디스크가 가득 찰 수 있습니다. 따라서 엔진은 두 단계로 저장 용량을 제한합니다. 테스트별 상한과, 테스트 수가 늘어나도 증가하지 않는 전체 증거 자료의 공통 용량 한도입니다.
1단계: 테스트별 상한
각 증거 자료 유형은 정해진 개수만큼 최신 실행을 보관합니다. 기본값은 다음과 같습니다:
| 증거 자료 | 기본 보관 수 | 설정 |
|---|---|---|
| 실패 | 테스트 및 브라우저별 최신 실행 20개 | NEXUS_BUGREPORT_RETAIN |
| 통과 | 테스트 및 브라우저별 최신 실행 5개 | NEXUS_PASSED_RETAIN |
| API 실행 | API 테스트별 최신 통과 실행 20개. 실패에는 별도 상한이 없으며, 공통 용량 한도로 제한됩니다. | NEXUS_API_EVIDENCE_KEEP |
| 카오스 실행 | 테스트 및 브라우저별 최신 방어 성공 실행 20개. 방어에 실패한 실행에는 별도 상한이 없으며, 공통 용량 한도로 제한됩니다. | NEXUS_CHAOS_RETAIN |
| 시각적 회귀 | 테스트 및 검사 지점별 최신 10개 | NEXUS_VISUAL_REGRESSION_RETAIN |
| Smart Monkey 세션 | 최신 10개 | NEXUS_MONKEY_RETAIN |
| 실행 맥락 | 최신 실행 100개 | NEXUS_RUN_CONTEXT_RETAIN |
| History | 테스트 및 브라우저별 최신 50행 | NEXUS_HISTORY_RETAIN |
| 원격 측정 보관 자료 | 최대 2개의 zip 파일, 모두 7일 이내, 총 500 MB | NEXUS_CACHE_ZIPS, NEXUS_CACHE_RETENTION_DAYS, NEXUS_CACHE_MAX_MB |
각 항목은 작업 공간의 .env에 한 줄씩 정의되어 있습니다. 원격 측정의 세 가지 제한을 제외한 모든 항목은 설정에서 수정할 수 있습니다.
2단계: 전체 증거 자료의 공통 용량 한도와 최소 여유 공간
NEXUS_EVIDENCE_MAX_GB는 기본값이 20 GB이며, 실패, 통과, API, 카오스, Smart Monkey, 부하 및 시각적 회귀 실행의 모든 증거 자료에 적용되는 총용량 한도입니다. 테스트 수가 늘어나도 한도는 늘어나지 않습니다. 테스트가 100개든 10,000개든 증거 자료는 이 한도 미만으로 유지됩니다.
NEXUS_MIN_FREE_GB는 기본값이 10 GB이며, 디스크에 유지할 여유 공간입니다. 디스크 여유 공간이 이 값 미만으로 떨어지면 총용량이 아직 한도 미만이어도 오래된 증거 자료를 삭제합니다.
어느 한쪽 제한이라도 벗어나면 엔진은 다음 순서로 실행 폴더 전체를 삭제합니다:
- 먼저 통과한 실행과 시각적 회귀 실행을 오래된 순서대로 삭제합니다.
- 그다음 실패한 실행을 오래된 순서대로 삭제합니다.
- 증거 자료가 용량 한도 미만이 되고 디스크 여유 공간이 최소 기준을 넘으면 즉시 중단합니다.
각 테스트의 최신 실행만 남았는데도 총용량이 한도를 초과하면 엔진은 실행 후 이를 알립니다. 용량 한도를 늘리거나, 필요한 자료를 보관하고 이전 실행을 삭제해 공간을 확보하세요. 최소 여유 공간 기준은 증거 자료에만 적용됩니다. 다른 파일로 디스크가 가득 차면 엔진은 각 테스트의 최신 실행만 남을 때까지 자체 증거 자료를 삭제하며, Studio는 디스크 공간 부족 경고를 계속 표시합니다.
절대 삭제되지 않는 항목
- 각 테스트 및 브라우저의 최신 실행, 그리고 최신 Smart Monkey 세션과 부하 실행입니다. 방금 완료된 실행은 항상 해당 유형의 최신 실행입니다.
- 보관. Evidence Locker에서 보관…으로 보존하기로 선택한 사본은 증거 자료 폴더 내부가 아니라 그 옆에 저장됩니다. 개별 제한이나 총용량 한도는 이 사본에 적용되지 않습니다.
- 기록. 실행 폴더를 삭제해도 해당 실행의 행은 삭제되지 않습니다. 기록에는 별도의 보존 범위가 적용되며, 기본적으로 테스트 및 브라우저별로 실행 50개를 유지합니다.
- 증거 관리 이력. 원장은 추가만 가능하며 절대 정리하거나 삭제하지 않습니다.
봉인된 증거 자료는 삭제 이력을 남깁니다
봉인은 선택 사항입니다. 봉인된 기록은 폴더의 모든 파일을 SHA-256으로 해시하고 이전 기록에 연결하므로, 봉인된 폴더가 아무 기록 없이 사라지면 변조와 구별할 수 없게 됩니다.
용량 한도에 따라 봉인된 폴더를 삭제하기 전에 엔진은 원장에 해당 폴더의 PURGE 항목을 추가하여, 디스크 용량 한도에 따른 삭제임을 명시하고 삭제 시각을 기록합니다. 원장은 해당 폴더의 해시값을 계속 증명하며, nexus verify는 해당 기록을 변조가 아닌 PURGED 상태로 보고합니다. 원장에 PURGE를 기록할 수 없으면 폴더는 그대로 유지됩니다.
자동으로 실행되는 작업과 실행 시점
엔진은 단일 테스트, 테스트 모음, 반복, Watch 일정, Selenium, pytest 및 API 실행 등 모든 모드에서 매 실행 후 자체 유지 관리를 수행합니다.
- 여유 공간은 매 실행 후 확인합니다.
- 증거 자료 용량은 15분에 한 번씩만 확인하되, 디스크 여유 공간이 최소 기준 미만이면 즉시 확인합니다. 이때 두 제한을 모두 충족할 때까지 가장 오래된 실행부터 삭제합니다.
- 임시 파일을 정리합니다. 실행별 결과 파일과 테스트 대상 응용 프로그램의 로그는 24시간이 지나면 삭제합니다. 구성 오류 로그는 최신 파일 14개를 유지합니다. 강제 종료된 실행이 Windows 임시 폴더에 남긴 폴더도 24시간 후 삭제합니다.
- Playwright의 임시 출력 폴더는 매 실행 시작 시와 종료 시 비웁니다.
- 로그는 10 MB에 도달하면 순환 저장합니다.
- 원격 측정 임시 파일은 매 실행 후 위의 세 가지 제한 내에서 zip 파일로 압축합니다.
Studio에 표시되는 내용
작업 공간 › 디스크에는 다음이 표시됩니다:
- 용량 한도 대비 증거 자료 사용량;
- 최소 기준 대비 디스크 여유 공간;
- 마지막 확인 시각과 마지막 정리에서 확보한 공간;
- 지금 유지 관리 실행, 다음 실행 후까지 기다리지 않고 동일한 정리 작업을 즉시 수행합니다.
여유 공간이 최소 기준 미만으로 떨어지면 Studio는 디스크 공간 부족 경고를 표시합니다. 두 제한은 모두 설정의 증거 자료 & 보존에 있습니다. 같은 패널에는 실행 중 파일을 저장하는 모든 폴더와 각 폴더의 크기 및 제한도 나열됩니다: 각 실행에서 보존하는 자료.
Docker 및 원격 호스트
엔진은 이 컴퓨터의 Docker에서 또는 SSH를 통해 Linux 서버의 컨테이너에서 테스트 모음을 실행할 수 있습니다. Studio 자체는 Windows에서 계속 실행됩니다.
- 컨테이너 로그는 서비스당 10 MB 파일 3개로 제한되므로, 컨테이너가 몇 달 동안 실행되어도 자체 출력으로 호스트 저장 공간을 가득 채우지 않습니다.
- 자체 호스팅 GitHub 실행기는 한 번만 등록합니다. 다시 시작하면 재등록하지 않고 기존 등록을 재사용합니다.
- 해당 호스트의 엔진도 동일한 엔진이며, 그곳에 저장하는 증거 자료에 동일한 개별 제한, 총용량 한도 및 최소 여유 공간 기준이 적용됩니다.
계산 예시: 하루 10,000회 실행
이는 측정값이 아닌 추정치입니다. 다음과 같이 가정합니다:
- 하루 테스트 실행 10,000회;
- 실패율 5%, 즉 하루 실패 500회;
- 실패 폴더당 약 3 MB: 동영상, 추적 기록, 스크린샷 및 데이터.
이는 하루에 약 1.5 GB의 실패 증거가 쌓인다는 뜻입니다. 기본 한도인 20 GB에서는 대략 최근 2주간의 실패 증거가 디스크에 남으며, 전체 증거 용량은 20 GB를 넘지 않습니다. 성공한 실행의 증거부터 삭제되므로, 가장 필요할 가능성이 높은 실패 증거에 공간이 할당됩니다.
3 MB는 동영상과 추적 기록을 모두 보관한다고 가정한 용량입니다. 증거 페이지의 BREACHED 폴더는 추적 기록을 제외하면 531.2 kB입니다.
대규모 테스트 모음을 위한 조정
- 더 많은 이력:
NEXUS_EVIDENCE_MAX_GB를 높이세요. 1 TB 디스크에서 용량 한도를 200 GB로 설정하면 기본값의 열 배를 보관할 수 있으며, 하루 1.5 GB 기준 약 4개월 분량의 실패 기록에 해당합니다. 테스트별 상한은 그대로 적용됩니다:NEXUS_BUGREPORT_RETAIN도 높이지 않으면 테스트당 실패 실행 기록을 최대 20개까지만 보관합니다. - 실패당 용량 줄이기:
NEXUS_TRACE_ENABLED=false로 추적을 끄거나,NEXUS_VIDEO_VERDICTS로 동영상을 보관할 판정 유형을 줄이세요. 그러면 같은 용량 한도로 더 오랜 기간을 보관할 수 있습니다. - 다른 프로그램을 위한 공간: 컴퓨터에 10 GB보다 많은 여유 공간이 필요하면
NEXUS_MIN_FREE_GB를 높이세요. - 하루에 여러 번 실행하는 테스트: 이력에서 며칠 이상의 기록을 볼 수 있도록
NEXUS_HISTORY_RETAIN을 500 등으로 높이세요. - 반드시 보관해야 하는 실패: 보관 기간이 지나기 전에 증거 보관함에서 별도로 보관하세요.
질문
하루에 테스트를 10,000개 실행하면 디스크가 가득 차나요?
증거 자료 때문에 가득 차지는 않습니다. 테스트를 아무리 많이 실행해도 증거 자료는 용량 한도인 기본 20 GB 이내로 유지되며, 엔진은 디스크 여유 공간을 10 GB로 유지하도록 오래된 증거 자료를 삭제합니다. 하루 실행 횟수가 많아지면 증거 자료가 더 많은 공간을 차지하는 것이 아니라 보관되는 기간이 짧아집니다. Docker 이미지나 개인 작업 공간처럼 증거 자료에 속하지 않는 파일은 이 용량 한도에 포함되지 않습니다.
정리 중에 필요한 실패 기록이 삭제될 수도 있나요?
실패 기록이 충분히 오래되면 삭제될 수 있습니다: 용량 한도를 넘으면 가장 오래된 실행 기록부터 삭제하며, 실패보다 통과 기록을 먼저 삭제합니다. 각 테스트 및 브라우저의 최신 실행 기록은 항상 유지됩니다. 실패 기록을 영구적으로 보관하려면 증거 보관함에서 별도 보관…을 선택하세요. 사본은 증거 폴더 외부에 저장되며, 개수 상한이나 용량 한도의 영향을 받지 않습니다.
정리 후에 봉인된 기록이 변조된 것으로 표시되나요?
아니요. 먼저 원장에 PURGE 항목이 기록되며, nexus verify는 해당 기록을 PURGED로 보고합니다.
디스크가 거의 가득 차면 어떻게 되나요?
여유 공간이 최소 기준인 기본 10 GB 아래로 떨어지면, 엔진은 15분 주기의 점검을 기다리지 않고 즉시 증거 자료의 용량을 확인합니다. 용량 한도 이내여도 오래된 증거 자료를 삭제하며, Studio에 디스크 공간 부족 경고가 표시됩니다. 다른 파일이 공간을 차지하고 있다면 확보할 수 있는 만큼 공간을 확보하고 계속 경고합니다.
제가 따로 해야 할 일이 있나요?
아니요. 실행이 끝날 때마다 자동으로 정리합니다. 작업 공간 › 디스크의 지금 유지 관리 실행을 누르면 즉시 정리합니다.