응답시간
응답시간(Response Time)은 사용자가 입력을 마친 시점부터 시스템이 응답을 내보내기 시작할 때까지 걸리는 시간이다. 단순한 서버 처리 시간만이 아니라 네트워크 지연, 렌더링 등 사용자가 결과를 체감하기 시작하는 전체 경로를 포함한다.
응답시간을 구성하는 요소
- 네트워크 왕복 시간(RTT): 요청/응답이 오고가는 시간
- 서버 처리 시간: 요청을 처리하는 데 걸리는 시간
- 대기 시간: 큐·락·외부 의존 호출 대기
- 클라이언트 렌더링 시간: 결과를 화면에 그리는 시간
사용자 체감과의 관계
심리학 연구에서 자주 인용되는 체감 기준:
| 시간 | 사용자 체감 |
|---|---|
| ~100ms | 즉각적 반응으로 느낌 |
| ~1초 | 흐름이 끊기지 않음 |
| ~10초 이상 | 주의가 분산, 이탈 위험 |
웹에서는 TTFB, FCP 등으로 구간별 응답시간을 분해해서 본다.
평균값의 함정
평균만 보면 꼬리(tail) 응답이 가려진다. p50(중앙값)만 빠르고 p99가 느리면 일부 사용자는 심각하게 나쁜 경험을 한다. 따라서 p50, p95, p99 분위수를 함께 봐야 한다.
응답시간을 줄이는 전략
- 캐시: 반복 계산/조회를 줄인다
- 비동기 처리: 오래 걸리는 작업은 백그라운드로
- 인덱스/쿼리 최적화: DB 병목 해소
- CDN: 물리 거리 단축
- 페이지 분할·스트리밍: 첫 응답을 먼저 내려 보냄