네트워크 타임아웃

네트워크 지연시간 분포에 따른 타임아웃 확률을 계산합니다.

입력

ms

요청이 실패로 간주되는 시간 제한

ms
ms

지연 시간의 변동폭

Z-점수: 28.000

타임아웃 확률

타임아웃 확률 0.000000%

불가능

성공 확률100.0%
  • 성공 확률100.000000%타임아웃 내 응답 받을 확률
  • 권장 타임아웃 (99%)433ms99%의 요청이 성공하는 타임아웃
  • 권장 타임아웃 (99.9%)509ms99.9%의 요청이 성공하는 타임아웃

불가능: 0.000000%

타임아웃 값별 실패 확률

차트 그리는 중…
풀이 보기4단계
결과 공유하기

네트워크 타임아웃 확률 계산기는 네트워크 지연시간(latency)의 분포를 기반으로 설정한 타임아웃 시간 내에 응답을 받지 못할 확률을 계산하는 도구입니다. 평균과 표준편차로 지연시간을 정규분포로 근사하여 실제 네트워크 환경을 모델링합니다. 예를 들어 평균 응답시간 200ms, 표준편차 100ms, 타임아웃 500ms 설정 시 타임아웃 발생 확률은 정규분포 기준 약 0.135%입니다. 하지만 꼬리가 두꺼운(heavy-tail) 실제 분포에서는 이보다 높을 수 있습니다. 이 계산기를 통해 적절한 타임아웃 값 설정, P99 레이턴시 분석, SLA(서비스 수준 협약) 준수 여부를 사전에 검증할 수 있습니다.

실생활 예시

이럴 때 이렇게 계산해요.

  • REST API 타임아웃 설정

    사례 01

    평균 응답시간 200ms, 표준편차 300ms(P99 약 900ms)인 API에 타임아웃 1초를 설정합니다. 정규분포 기준 타임아웃 확률은 약 0.38%이며, 꼬리가 두꺼운 실제 분포에서는 더 높을 수 있습니다.

    1초 타임아웃이면 1,000요청 중 약 4건이 타임아웃됩니다. 대부분의 서비스에서 적절한 수준입니다.

  • 글로벌 서비스 대륙 간 호출

    사례 02

    한국-미국 간 평균 RTT 150ms, 표준편차 170ms인 환경에서 타임아웃 500ms 설정 시 타임아웃 확률은 약 2%입니다.

    대륙 간 통신은 변동성이 커서 타임아웃을 여유롭게 설정하거나 CDN/캐싱을 활용해야 합니다.

  • AWS Lambda 콜드 스타트 영향

    사례 03

    AWS Lambda는 콜드 스타트 시 초기화에 100ms~3초가 추가됩니다. 평균 응답시간 50ms인 함수에 콜드 스타트가 5% 확률로 발생하면, P95가 50ms이지만 P99가 1.5초까지 치솟을 수 있습니다.

    서버리스 환경에서는 콜드 스타트를 고려하여 타임아웃을 P99 기준 3~5배로 설정하거나, 프로비저닝된 동시성으로 콜드 스타트를 제거해야 합니다.

  • 데이터베이스 쿼리 타임아웃

    사례 04

    PostgreSQL 평균 쿼리 시간 20ms, 표준편차 80ms(P99 약 200ms)인 환경에서 타임아웃 1초 설정 시 정규분포 기준 타임아웃 확률은 사실상 0%입니다. 하지만 테이블 풀스캔이 발생하면 쿼리 시간이 10초 이상으로 급등합니다.

    데이터베이스 타임아웃은 정상 분포 외에 비정상 쿼리(풀스캔, 데드락 등)를 별도로 고려해야 합니다. 슬로우 쿼리 로그 모니터링이 필수입니다.

  • Kubernetes 서비스 메시 레이턴시

    사례 05

    Istio 서비스 메시를 사용하면 프록시 호핑으로 요청당 약 1~3ms의 추가 레이턴시가 발생합니다. 10홉을 거치는 요청은 최대 30ms가 추가되어, 초저지연 서비스에서는 무시할 수 없습니다.

    서비스 메시의 관측성과 보안 이점은 크지만, 레이턴시 민감 서비스에서는 직접 호출과 메시 경유의 타임아웃 확률 차이를 사전에 계산해야 합니다.

자주 묻는 질문

궁금한 거 모아 봤어요. 눌러서 펼쳐 보세요.

P99 레이턴시란 무엇인가요?

P99는 전체 요청의 99%가 이 시간 이내에 완료된다는 의미입니다. 평균 응답시간이 100ms라도 P99가 2초일 수 있으며, 이는 100번 중 1번은 2초 이상 걸린다는 뜻입니다. SLA에서는 평균보다 P99를 더 중시합니다.

타임아웃을 너무 짧게 설정하면 어떤 문제가 생기나요?

정상 요청도 타임아웃으로 실패 처리되어 불필요한 재시도가 발생합니다. 이는 서버 부하를 증가시키고 "재시도 폭풍(retry storm)"을 유발할 수 있습니다. 타임아웃은 P99의 2~3배 수준이 일반적입니다.

정규분포 모델과 실제 지연 분포의 차이는?

이 계산기는 평균과 표준편차만으로 좌우 대칭인 정규분포를 가정하는 간단한 모델입니다. 실제 네트워크 지연은 오른쪽 꼬리가 더 두꺼운 로그정규분포 등에 가까워, 정규분포로 구한 타임아웃 확률은 실제보다 낙관적일 수 있습니다. 빠른 추정에는 유용하지만 중요한 설정은 실제 측정한 P99 값으로 함께 확인하세요.

CDN을 사용하면 타임아웃 확률이 얼마나 줄어드나요?

CDN은 사용자와 가까운 서버에서 콘텐츠를 제공하므로 평균 레이턴시를 50~80% 줄일 수 있습니다. 한국-미국 간 RTT 150ms가 CDN으로 20~30ms로 줄어들면, 이 계산기에서 평균 150ms·표준편차 170ms는 타임아웃 500ms 기준 약 2%, 평균 25ms·표준편차 10ms는 0.01% 이하(사실상 0%)로 줄어듭니다.

TCP 재전송이 레이턴시에 미치는 영향은?

TCP 패킷 손실 시 재전송 타임아웃(RTO)은 최소 200ms에서 시작하여 지수적으로 증가합니다. 패킷 손실률 1%인 환경에서 1회 재전송이 발생하면 해당 요청의 레이턴시가 200ms 이상 추가됩니다. 이것이 P99 레이턴시가 평균보다 훨씬 높은 주된 원인입니다.

gRPC와 REST API의 레이턴시 차이는?

gRPC는 HTTP/2 기반으로 멀티플렉싱과 바이너리 프로토콜을 사용하여 REST 대비 평균 레이턴시가 30~50% 낮습니다. 특히 소규모 요청이 빈번한 마이크로서비스 환경에서 P99 레이턴시 개선 효과가 큽니다.

연결 풀링(connection pooling)은 타임아웃에 어떤 효과가 있나요?

HTTP 연결 설정에는 TCP 핸드셰이크(1 RTT)와 TLS 핸드셰이크(1~2 RTT)가 필요합니다. 연결 풀링은 이 초기 비용을 제거하여 요청당 레이턴시를 수백ms 줄일 수 있습니다. 특히 TLS 1.2 환경에서는 효과가 극적입니다.

계산 원리

## 네트워크 타임아웃 확률의 수학적 배경

### 정규분포 모델 평균 응답시간 μ, 표준편차 σ, 타임아웃 T일 때:

z = (T - μ) / σ P(타임아웃) = P(X > T) = 1 - Φ(z)

Φ는 표준정규분포의 CDF입니다.

예시: μ = 200ms, σ = 100ms, T = 500ms → z = 3 → P ≈ 0.135%

### 백분위수 계산 정규분포에서 P99 레이턴시: T_99 = μ + 2.326σ, P99.9: T_99.9 = μ + 3.090σ

평균 200ms, σ = 100ms → P99 ≈ 433ms, P99.9 ≈ 509ms

### 꼬리 확률과 heavy-tail 실제 네트워크 지연은 정규분포보다 오른쪽 꼬리가 두꺼운 heavy-tail 분포(로그정규분포 등)를 따릅니다. 따라서 정규분포로 추정한 타임아웃 확률은 실제보다 낙관적일 수 있습니다.

### SLA 준수율 타임아웃 확률 p_t, 일일 요청 수 N일 때:

일일 타임아웃 건수 = N × p_t SLA 준수율 = 1 - p_t

사용 방법

총 소요 시간: 약 1분
  1. 지연시간 분포 입력

    평균 지연 시간과 표준편차를 입력합니다.

  2. 타임아웃 설정

    타임아웃 시간(ms)을 입력합니다.

  3. 결과 확인

    타임아웃 발생 확률과 권장 타임아웃(99%, 99.9%)을 확인합니다.

용어 사전

레이턴시(Latency)
요청을 보낸 시점부터 응답을 받을 때까지 걸리는 시간입니다. 네트워크 전파, 서버 처리, 직렬화 시간 등을 포함합니다.
RTT(Round-Trip Time)
패킷이 출발지에서 목적지까지 갔다가 돌아오는 데 걸리는 시간입니다. 한국-미국 간 RTT는 약 130~180ms입니다.
P99(99번째 백분위수)
전체 요청의 99%가 이 시간 이내에 완료되는 레이턴시 값입니다. 상위 1%의 느린 요청을 나타냅니다.
SLA(Service Level Agreement)
서비스 제공자가 보장하는 응답시간, 가용성 등의 품질 기준을 명시한 계약입니다. 위반 시 크레딧 환불 등의 보상이 따릅니다.
CDN(Content Delivery Network)
전 세계에 분산된 서버 네트워크로, 사용자와 가장 가까운 서버에서 콘텐츠를 제공하여 레이턴시를 줄이는 서비스입니다.
콜드 스타트(Cold Start)
서버리스 함수가 처음 호출되거나 오래 미사용 후 호출될 때 초기화에 걸리는 추가 시간입니다. 수백ms에서 수초까지 발생합니다.
Heavy-tail 분포
극단적으로 큰 값이 나올 확률이 지수분포보다 높은 분포입니다. 실제 네트워크 레이턴시가 이 특성을 보여 P99가 평균보다 훨씬 높습니다.
연결 풀링(Connection Pooling)
미리 만들어둔 네트워크 연결을 재사용하여 연결 설정 시간(TCP/TLS 핸드셰이크)을 절약하는 기법입니다.