Skip to content

CloudFront private content benchmark 실험 설계 및 자동화 환경 구성 #72

@seonghooncho

Description

@seonghooncho

배경

CloudFront signed cookie / CloudFront signed URL / S3 pre-signed URL 경로의 성능을 국내 2지점(local_gyeonggi, azure_busan)에서 정량 비교할 실험 환경이 필요합니다.

이번 작업의 핵심은 최종 비용 계산 자동화가 아니라, 나중에 직접 계산 가능한 raw 결과와 phase 분리된 summary를 남기는 것입니다.

무엇을 검증하려는가

  • cache hit 구간에서 CloudFront private content 경로가 S3 pre-signed URL보다 유의미한 이점을 가지는지 검증
  • cache miss 구간에서는 origin fetch 영향으로 어떤 trade-off가 있는지 검증
  • signed cookie, signed URL, s3 pre-signed 경로를 object size별로 분리 비교
  • local_gyeonggi와 azure_busan에서 경향이 일관적인지 검증

중요한 실험 원칙

  • hit와 miss를 절대 같은 평균 집합으로 섞지 않음
  • miss는 iteration마다 fresh object 또는 fresh cache key를 사용
  • hit는 priming 후 동일 object 반복 호출
  • signed cookie는 bootstrap 단계와 asset fetch 단계를 분리 해석
  • signed URL은 query string cache key 반영 여부를 문서에 명시
  • 이번 결과는 국내 2지점 대표 측정이며 전 세계 일반화 실험이 아님

실험 매트릭스

  • location: local_gyeonggi, azure_busan
  • cache_phase: miss, hit
  • object_size_case: small, medium, large
  • delivery_type: s3_presigned, cf_signed_url, cf_signed_cookie

구현 범위

  • test/cf-private-content-benchmark/ 하위에만 실험 환경 구성
  • Azure Busan VM Terraform 구성
  • 로컬/원격 Node.js benchmark runner 구현
  • curl 기반 raw metric 수집
  • summary CSV/JSON 집계기 구현
  • 상세 실험 설계 문서, 실행 문서, 결과 스키마 문서 작성

산출물

  • 상세 설계 문서
  • Terraform 코드
  • benchmark 실행 스크립트
  • raw / summary 결과 저장 구조
  • README 실행 가이드

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