You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
지도 조회를 공개하기 전에 실제 데이터와 예상 요청량으로 서버·Redis가 감당할 범위를 확인합니다.
PR #234에서 고정 128개 슬롯과 후보 500개 제한을 교체했습니다. 조회 ID별로 순서를 저장하고, 마지막 정상 조회부터 5분·최초 조회부터 최대 30분 유지합니다. 호출자별 요청 수, 세션 크기와 전체 메모리 예산을 함께 제한합니다.
현재 확인한 결과
호출자가 서로 다른 정상 탐색과 같은 IP에서 요청이 몰리는 상황을 나눠 다시 테스트했습니다. 모두 로컬 MySQL·Redis와 합성 식당 620개를 사용했습니다.
정상 탐색, 짧은 10초 TTL: 1,255건 모두 성공했습니다.
실제 5분 TTL, 세션 예산 16MiB: 783건 중 124건이 503이었습니다. 세션 예약 예산이 99.76%까지 찼습니다.
같은 조건에서 테스트 예산만 32MiB로 변경: 1,270건 모두 성공했습니다. 다만 예산을 96.17%까지 사용했으므로 운영 설정으로 확정한 값은 아닙니다.
같은 IP의 빠른 요청: 3,872건 중 429가 830건, 503이 137건이었습니다. 429는 호출자 요청 한도에 걸린 결과입니다. 503은 메모리 예산이 남은 상태라 동시 처리 제한 가능성이 높지만, 내부 원인별 지표가 없어 개별 원인을 확정하지는 않았습니다.
모든 유효한 실행에서 세션 만료 후 정리와 새 요청 복구를 확인했습니다. 합성 인증 키는 유지됐고 DB 연결 대기는 없었습니다.
5분 동안 세션이 누적되는 조건에서는 기존 예산이 부족했습니다. 숫자만 올리기 전에 세션 저장량과 실제 후보 분포를 확인하고, 공유 인증 Redis에 영향을 주지 않는 범위에서 예산을 정해야 합니다. 3,000/5,000개 테스트는 이 조정 후 진행합니다.
개발 환경 수치는 앞선 읽기 전용 점검 기준이며 이번 부하를 실제 서버에 보낸 것은 아닙니다. 공유 Redis 정책과 지도 저장소의 요구 조건 차이도 남아 있습니다. 정책 변경 또는 지도 Redis 분리는 인증 데이터에 미치는 영향을 확인한 뒤 결정하며, 실제 설정은 변경하지 않았습니다.
Activity
test(restaurant): 지도 부하 산출물의 실행 경계를 고정 (#252)
test(restaurant): 지도 세션 예산 비교를 제한적으로 허용 (#252)
test(restaurant): 지도 세션 예산 비교를 제한적으로 허용 (#252)
test(restaurant): 지도 용량 거절 원인 계측 (#252)
test(restaurant): 지도 동시성 비교 계측 보강 (#252)