배경
#377은 대시보드 WebSocket 메시지마다 수신자별 primary 역할 조회를 하던 경로를 push당 일괄 판정으로 변경했습니다. 로컬 정합성 시험은 통과했지만, 동일한 GCP 환경에서 변경 전후 지연·DB 비용과 실제 권한 회수 중 동작은 비교하지 않았습니다. 기존 #374 수치와 새 환경 수치를 직접 비교하지 않습니다.
작업
- 같은 GCP 앱·부하 발생기·OpenProxy·OpenSQL 3노드 조건에서 변경 전/후 빌드를 각각 실행합니다. 가능하면 k6로 STOMP 구독 부하를 만들고, 동일한 발행 간격·측정 창·연결 수를 유지합니다.
- 구독 1·5·20·50개를 측정합니다. 실행별 준비 시간, 실제 메시지 수, 연결/전송 실패, p50·p95·p99, 앱/Hikari 대기, primary 역할 조회 횟수와 DB 부하를 각각 기록합니다. 반복 실행은 서로 다른 run ID와 파일로 보존합니다.
- 실제 ADMIN 역할을 회수하면서 새 primary 판정과 진행 중이던 이전 판정을 구분합니다. HTTP 200 이후 새로 시작한 판정에서 회수된 ADMIN 허용이 0건인지 확인하고, 200 이전 허용 메시지의 늦은 수신은 별도로 셉니다.
- 측정 원본과 한국어 요약을 분리하고, 비밀·내부 식별자는 기록 전에 제거합니다. 실패·재시도도 삭제하지 않습니다.
- 시험용 사용자와 토큰은 정리합니다. 부하 시험 VM은 후속 시험을 위해 유지하고 상태·비용·중지 시점을 문서화합니다.
완료 기준
- 변경 전후 각 조건의 동일 환경 수치와 원본 증거가 연결됩니다.
- 권한 회수 후 새 판정의 잘못된 허용 0건 또는 반례가 재현 절차와 함께 기록됩니다.
- 쿼리 횟수 감소와 실제 전송 지연 변화가 각각 수치로 판정되며, 불확실한 결과는 미검증으로 표시합니다.
- GCP 프로젝트·내부 IP·호스트명·계정·토큰·DB 비밀번호는 공개 증거에 포함되지 않습니다.
배경
#377은 대시보드 WebSocket 메시지마다 수신자별 primary 역할 조회를 하던 경로를 push당 일괄 판정으로 변경했습니다. 로컬 정합성 시험은 통과했지만, 동일한 GCP 환경에서 변경 전후 지연·DB 비용과 실제 권한 회수 중 동작은 비교하지 않았습니다. 기존 #374 수치와 새 환경 수치를 직접 비교하지 않습니다.
작업
완료 기준