2026-05-11 ZaraServer 수집/AVIF 병렬도 튜닝 판단 이력
이 노트는 2026-05-11 13:27 KST 관측에 근거한 ZaraServer 전환 초기 병렬도 판단 이력이다. 아래 수치와 권장값은 당시 상태를 설명하는 기록이며, 최신 운영 병렬도나 현재 병목 판단으로 그대로 재사용하지 않는다.
당시 관측#
2026-05-11 13:27 KST 기준 시스템은 24코어였고 load average는 약 3대라 CPU 여유가 있었다. 메모리는 23GiB 중 available 약 8.2GiB였다.
당시 병목은 CPU보다 I/O 쪽으로 판단했다. /mnt/f ZaraServer는 WSL 9p/drvfs 경유 NTFS 마운트였고, /proc/pressure/io는 avg10 약 9%, avg60 약 6%였다. VHDX에서 ZaraServer로 복사하던 rsync 프로세스들은 D (disk sleep) 상태가 자주 보였다. 따라서 기존 자료 복사 중에는 수집/AVIF 병렬도를 크게 올리지 않는 편이 안전하다고 판단했다.
당시 웹툰 수집은 ordered_webtoon_collector.py --batch-size 6 --image-concurrency 4로 동작 중이었다. AVIF는 원래 --concurrency 4였으나 마이그레이션 중 I/O 완화를 위해 정지 상태였다.
당시 권장 튜닝 순서#
- 기존 VHDX→ZaraServer 복사와 최종 delta가 끝날 때까지는 AVIF 정지 또는 낮은 병렬도를 유지한다.
- ZaraServer 전환 후 1차 테스트값으로 웹툰
batch-size=8,image-concurrency=5, AVIFconcurrency=4~6을 사용한다. - I/O pressure avg10이 10% 미만이고 실패/재시도/사이트 차단이 늘지 않으면 웹툰
batch-size=10,image-concurrency=6, AVIFconcurrency=8까지 단계적으로 올린다. - 웹툰과 만화 동시 수집은 가능하지만 같은 디스크에 작은 파일을 대량 생성하므로 각 파이프라인을 절반 병렬도로 나눠 시작한다.
- 장기적으로는 WSL ext4 staging에서 수집+AVIF를 수행한 뒤 ZaraServer NTFS로 완성본만 배치 이동하는 구조가 더 안전하다. NTFS/DrvFS에 작은 원본 이미지를 바로 대량 쓰는 구조는 장기 병목이 될 가능성이 높다.
현재 해석#
핵심 판단은 보존한다. 즉, DrvFS/NTFS 경유 경로에 작은 파일을 대량 생성하는 구조가 병목이 될 수 있고, 수집·AVIF는 WSL ext4 staging에서 처리한 뒤 완성본만 ZaraServer로 옮기는 구조가 더 낫다는 방향은 후속 구현과도 일치한다.
다만 구체 병렬도와 ‘현재’ 상태는 더 이상 최신 운영값이 아니다. 후속 기록에 따르면 2026-05-11 13:43 KST에는 수집 파이프라인이 WSL ext4 staging에서 수집·AVIF 처리 후 완성본만 ZaraServer 최종 저장소로 전송하는 방식으로 구현됐다. 같은 날 밤에는 AVIF 일부 실패 작품도 manifest가 완성되면 전송하고 retry 로그로 추적하는 정책이 추가됐다. 2026-05-12에는 웹툰/만화 병렬 staging 레인과 /proc/pressure/io, 메모리, Windows 디스크 카운터 기반 IO 적응형 프로파일이 도입됐다. 2026-05-14와 2026-05-19에는 adaptive profile의 balanced/high 병렬도와 AVIF/전송 후처리 방식이 다시 조정됐다.
따라서 이 노트는 “초기 전환 전 병렬도 판단과 staging 구조 선택의 근거”로 사용하고, 최신 실행값은 후속 staging/parallel/adaptive profile 노트를 확인한다.
Related#
- 2026-05-11 인수창고 ZaraServer staging 수집 전송 자동화 구현
- 2026-05-11 AVIF 혼합 전송 및 ZaraServer 이중 루트 뷰어 전환
- 2026-05-12 인수창고 웹툰/만화 병렬 staging 레인 전환
- 2026-05-14 인수창고 staging 수집 속도 조절 완화
- 2026-05-19 인수창고 staging 속도/AVIF 후처리 수정
Sagwan Maintenance 2026-06-10#
- verdict:
revise - note: 당시 I/O 병목 판단과 staging 방향은 보존하되, ‘현재’ 표현과 구체 병렬도 권장값을 역사적 이력으로 낮추고 후속 staging/adaptive profile 기록으로 연결한다.
Sagwan Revalidation 2026-06-11T05:25:34Z#
- verdict:
ok - note: 병렬도 수치를 역사값으로 한정해 현재 재사용 위험이 낮다.
Sagwan Revalidation 2026-06-12T05:34:22Z#
- verdict:
ok - note: [chatgpt HTTP 401] {
Sagwan Revalidation 2026-06-13T06:00:04Z#
- verdict:
ok - note: 당시 기록임을 명시했고 핵심 I/O 병목 판단도 여전히 재사용 가능함
Sagwan Revalidation 2026-06-14T06:16:17Z#
- verdict:
ok - note: 당시 판단 기록임을 명시해 현재 운영값과 혼동 위험이 낮다.
Sagwan Revalidation 2026-06-15T06:40:55Z#
- verdict:
ok - note: 당시 기록임을 명시했고 staging 권장도 현재 해석과 모순 없다.
Sagwan Revalidation 2026-06-16T07:28:34Z#
- verdict:
ok - note: 당시 기록임을 명시해 현재값 오용 위험이 낮고 판단도 유효함
Sagwan Revalidation 2026-06-17T08:56:54Z#
- verdict:
ok - note: 당시 판단 기록으로 한정되어 있고 DrvFS 병목·staging 권고도 여전히 타당함
Sagwan Revalidation 2026-06-18T09:00:43Z#
- verdict:
ok - note: 당시 판단 기록으로 범위가 명확하고 현재 재사용 주의도 포함됨
Sagwan Revalidation 2026-06-19T10:38:26Z#
- verdict:
ok - note: 당시 기록으로 한정하고 후속 staging 구현까지 반영돼 여전히 유효함
Sagwan Revalidation 2026-06-20T10:50:55Z#
- verdict:
ok - note: 당시 판단 기록으로 범위가 명확하고 최신값 아님을 이미 경고함
Sagwan Revalidation 2026-06-21T11:23:01Z#
- verdict:
ok - note: 당시 기록으로 한정되어 있고 현재값 재사용 금지도 명시돼 유효함
Sagwan Revalidation 2026-06-22T11:34:18Z#
- verdict:
ok - note: 당시 판단 이력으로 명확히 한정되어 현재 운영값 오용 위험이 낮음
Sagwan Revalidation 2026-06-23T12:41:50Z#
- verdict:
ok - note: [chatgpt HTTP 401] {
Sagwan Revalidation 2026-06-24T12:50:31Z#
- verdict:
ok - note: [chatgpt HTTP 401] {
Sagwan Revalidation 2026-06-25T15:03:16Z#
- verdict:
ok - note: 당시 기록임을 명시했고 ext4 staging 권장도 후속 구현과 일치함
Sagwan Revalidation 2026-06-26T17:17:22Z#
- verdict:
ok - note: 당시 판단 기록으로 한정되어 있으며 staging 권장도 여전히 타당함
Sagwan Revalidation 2026-06-27T20:06:10Z#
- verdict:
ok - note: 당시 기록으로 범위가 명확하고 최신 운영값 아님을 자체 표기한다.
Sagwan Revalidation 2026-06-28T20:41:28Z#
- verdict:
ok - note: 당시 기록임을 명시했고 핵심 판단도 후속 구현과 일치한다.
Sagwan Revalidation 2026-07-01T03:14:54Z#
- verdict:
ok - note: 당시 판단 기록으로 범위가 명확하며 최신값 아님을 이미 표시함
Sagwan Revalidation 2026-07-02T12:32:51Z#
- verdict:
ok - note: 당시 판단 기록으로 한정되어 있고 현재값 재사용 금지도 명확하다.
Sagwan Revalidation 2026-07-04T01:47:09Z#
- verdict:
ok - note: 병렬도는 역사값으로 한정했고 ext4 staging 권장은 여전히 타당함
Sagwan Revalidation 2026-07-05T05:01:00Z#
- verdict:
ok - note: 역사 기록으로 한정되어 있고 DrvFS 병목 판단도 여전히 유효함
Sagwan Revalidation 2026-07-06T10:59:47Z#
- verdict:
ok - note: 당시 판단 기록으로 한정되어 있고 현재 재사용 제한도 명시돼 있다.
Sagwan Revalidation 2026-07-07T17:07:35Z#
- verdict:
ok - note: 당시 판단 이력으로 한정되어 있고 DrvFS 병목 해석도 여전히 유효함
Sagwan Revalidation 2026-07-09T13:25:07Z#
- verdict:
ok - note: 당시 판단 기록으로 범위가 명확하며 최신값 아님을 이미 경고함
Sagwan Revalidation 2026-07-11T05:27:31Z#
- verdict:
ok - note: 당시 판단 이력으로 한정되어 있어 현재 운영값과 충돌하지 않는다.
Sagwan Revalidation 2026-07-13T00:13:04Z#
- verdict:
ok - note: 당시 판단 기록으로 한정돼 있고 DrvFS 병목 해석도 여전히 재사용 가능함
Sagwan Revalidation 2026-07-14T21:29:52Z#
- verdict:
ok - note: 당시 판단 기록으로 한정되어 있고 현재값 재사용 금지도 명시되어 유효함
Sagwan Revalidation 2026-07-16T22:33:07Z#
- verdict:
ok - note: 당시 이력으로 한정하고 후속 구현까지 반영해 재사용 가능하다.
Sagwan Revalidation 2026-07-18T23:43:18Z#
- verdict:
ok - note: 당시 기록임을 명시했고 ext4 staging 권장도 여전히 타당함
Sagwan Revalidation 2026-07-21T00:49:02Z#
- verdict:
ok - note: 당시 기록임을 명시했고 최신 운영값 아님도 분리해 재사용 가능함