Skip to content

PDF·DOCX 50·100문서 전체 인덱싱 E2E 부하 검증 지원 추가 구현 #143

Description

@Gimini-3

배경

기존 전체 인덱싱 처리량 Benchmark는 실제 PostgreSQL 17, MinIO와 BAAI/bge-m3 환경에서 TXT 16·32문서를 검증했다. 실제 PDF·DOCX는 소수 문서의 기능 E2E만 존재하며, 50·100문서 혼합 부하에서 Parser·Chunk·Embedding·Vector 저장과 검색 Version 전환의 처리량 및 정합성을 검증한 근거가 없다.

목표

실제 Text Layer PDF와 OOXML DOCX 바이너리를 HTTP Multipart로 업로드하고 자동 Worker 전체 Pipeline을 통과시켜 50·100문서 부하의 처리량, 지연과 데이터 완전성을 측정한다.

범위

  • 50문서: PDF 25개 + DOCX 25개
  • 100문서: PDF 50개 + DOCX 50개
  • Profile별 2회 반복 및 실제 BAAI/bge-m3 사용
  • PDF 2페이지 Text Layer와 DOCX 제목·본문·Section Fixture
  • 실제 MinIO Object 저장과 Content-Type·크기 검증
  • 자동 Worker Polling·Claim·Attempt·Parsing·Chunking
  • Batch Embedding과 pgvector vector(1024) 저장
  • Document·Version·Job INDEXED 및 current_version 전환
  • 전체·PDF·DOCX별 처리량과 Queue·처리·E2E p50·p95·p99
  • Chunk·Embedding 수, 중복 Vector, 페이지·Section Metadata와 Event 순서 검증
  • 전용 Gradle Task와 Git 제외 JSON 원시 결과
  • 실행 환경과 재현 가능한 결과를 docs/test-results에 기록

제외 범위

  • OCR과 스캔 PDF
  • 구형 DOC·HWP
  • 운영 Admission Control·Rate Limit
  • 공식 OpenSQL 원격 장비의 절대 성능 판정
  • 제품 API·Entity·Migration 변경

완료 조건

  • 50·100문서 Profile 2회가 실제 PostgreSQL·MinIO·BGE-M3에서 완료된다.
  • 총 300개 본 측정 문서가 모두 INDEXED되고 업로드 실패·FAILED·미완료 Job이 없다.
  • PDF Chunk는 페이지 Metadata, DOCX Chunk는 Section Metadata를 보존한다.
  • Chunk와 Embedding이 일대일이고 모든 Vector가 1024차원이다.
  • 전용 Benchmark와 일반 테스트가 분리된다.
  • 원시 JSON과 공개 Markdown 결과가 생성되고 전체 일반 테스트가 통과한다.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions