노트

도허티 임계

Doherty Threshold

프런트엔드#book#performance · 연결된 개념 8개

쉽게 말하면

도허티 임계는 대화할 때 상대가 바로 대꾸해야 말이 이어지듯, 컴퓨터도 약 400ms 안에 반응하면 사용자가 흐름을 잃지 않는다는 원칙이에요. 그 안에 못 끝내면 스켈레톤이나 진행 막대로 기다림을 짧게 느끼게 해요.

비유가 깨지는 곳 웹 지표 INP와 같은 말은 아니에요. 도허티 임계는 1980년대 시스템 응답 시간에 대한 원칙이고, INP는 웹 페이지 안의 상호작용만 재며 '좋음' 기준도 200ms로 더 엄격해요.

컴퓨터와 사용자가 서로를 기다리지 않는 속도, 대략 400ms 이내로 반응하면 생산성이 급격히 높아진다는 원칙. 1982년 IBM의 월터 도허티와 아르빈드 타다니의 논문에서 나왔다. 반응이 이 선 아래로 내려가면 사용자가 흐름을 잃지 않는다.

체감 성능으로 버티기

실제 처리를 400ms 안에 끝낼 수 없다면, 그사이 피드백을 줘서 기다림을 짧게 느끼게 한다.

  • 스켈레톤 화면(Skeleton Screen)·자리표시자: 무엇이 올지 모양을 먼저 보여 준다. React에서는 Suspense의 fallback이 이 자리다
  • 블러 업(Blur-up): 아주 작은 이미지를 먼저 흐리게 늘려 보여 주고, 원본이 오면 바꾼다. 자리를 미리 잡아 레이아웃도 밀리지 않는다 → 비율을 유지하는 박스
  • 진행 표시: 정확하지 않아도 진행 막대가 있으면 사람들은 더 오래 참는다
  • 낙관적 UI(Optimistic UI): 서버 응답을 기다리지 않고 성공한 것처럼 먼저 보여 주고, 실패하면 되돌린다 → useOptimistic
  • 반대로, 결과가 너무 빨리 나오면 믿음이 안 가는 작업(보안 검사 등)은 일부러 과정을 보여 주며 시간을 들이기도 한다

INP와의 관계

INP(Interaction to Next Paint)는 상호작용부터 다음 화면이 그려지기까지를 재는 웹 지표다. 도허티 임계가 "왜 반응성이 중요한가"라는 원리라면, INP는 "웹에서 그것을 어떻게 재고 어디에 선을 그을까"다. 다만 같지는 않다. 도허티 임계는 1980년대 시스템 전반의 응답 시간에 대한 원칙이고 400ms를 말하지만, INP는 웹 페이지 안의 상호작용에 한정되고 '좋음' 기준이 200ms로 더 엄격하다.

긴 작업이 메인 스레드를 막으면 이 선을 넘기 쉽다 → 이벤트 루프, useTransition

출처: 『UX/UI의 10가지 심리학 법칙』 존 야블론스키 (원서 Laws of UX) · Laws of UX — Doherty Threshold → 『UX/UI의 10가지 심리학 법칙』

연결된 개념

이 노트를 가리키는 문서

뜻이 가까운 노트

  • 요청 제한 (Throttling)

    요청 제한(rate limiting, throttling)은 일정 시간 동안 한 클라이언트가 보낼 수 있는 요청 수를 묶어 두는 장치다. 한도를 넘으면 429 Too Many Requests로 거절하고, 보통 Retry-After 헤더로 언제 다시 시도하면 되는지 알려 준다.

  • 섣부른 최적화

    "섣부른 최적화는 모든 악의 근원이다." 도널드 크누스(Donald Knuth)가 1974년 글 「Structured Programming with go to Statements」에서 쓴 말이다. 원문의 맥락은 작은 효율은 대부분(약 97%)의 경우 잊으라는 것이고, 정말 중요한 3%는 놓치지 말라는 말이 이어진다.

  • 몰입 영역과 난이도 조절

    과제가 너무 쉬우면 지루하고 너무 어려우면 불안하다. 그 사이의 몰입 영역에서 실력이 가장 잘 는다.

  • 반응형 웹 디자인

    하나의 페이지가 화면 크기와 기기에 맞춰 레이아웃·이미지·글자 크기를 바꾸도록 만드는 접근. 미디어 쿼리(Media Query), 유연한 레이아웃(Flexible Layout), 반응형 미디어(Responsive Media)가 세 축이다.

  • 인지 부채와 이해 병목

    AI가 코드를 빠르게 만들어 낼수록 사람의 이해가 따라가지 못해 쌓이는 빚. 이제 병목은 작성이 아니라 이해다.

보기 옵션