[INFRA-06] B2B 일주기 곡선 (peak 100TPS, 1000건/일)
작업 내용 (설계 의도)
변경 사항
근거 TDD: ../TDD.md “형제 과제 접점”(②). FR-4. ② partner 인증으로 상품·티켓 등록을 지속 발생, 하루 누적 1000건↑ 보장.
qa/load/k6/b2b-diurnal.js(신규) —ramping-arrival-rate,b2bStages(timeScale)(peak 100).lib/pool.js#partnerAuthHeaders()로Bearer partner_<keyId>_<random>(전 VU 공유, 재발급 없음). 등록 혼합:POST /api/goods-seller/products(GOODS_SELLER 역할 경유),POST /api/event-host/events(EVENT_HOST).handleSummary로 누적 등록 건수 집계.
의존
- INFRA-01 (lib), INFRA-03 (synthetic 파트너 키). 런타임 선행: ② 배포.
다이어그램
클래스 의존
flowchart LR Diurnal["lib/diurnal.js"] --> B2B["b2b-diurnal.js"] Pool["lib/pool.js#partnerAuthHeaders"] --> B2B B2B --> Products["POST /api/goods-seller/products"] B2B --> Events["POST /api/event-host/events"]
테스트 케이스
k6 inspect가 B2B 시나리오를 오류 없이 파싱한다.- partner API Key 헤더가 전 VU에 공유되어 재인증 없이 재사용된다(FR-9).
- 곡선 피크 도달 TPS가 목표 100의 ±10% 이내다.
- 압축 실행에서 누적 등록 건수를 하루 환산 시 1000건 이상이 된다.
- 무효/폐기 키면 401이 반환되고 5xx로 집계되지 않는다.