성능 예산, 숫자로 합의하지 않으면 지켜지지 않습니다
지표별 상한을 정하고 초과 시 무엇을 되돌릴지 미리 합의합니다.

- 지표 상한·전송량 상한·요청 수 상한을 숫자로 적었다
- 초과 시 되돌림·교환·상향 세 선택지를 미리 정했다
- 측정을 배포 과정에 넣어 초과를 자동으로 알린다
숫자로 적지 않은 목표는 지켜지지 않습니다
성능을 개선한 뒤 몇 달이 지나면 다시 느려지는 일이 흔합니다. 기능을 추가할 때마다 조금씩 무거워지는데, 어디까지 허용되는지 정해 두지 않았기 때문입니다. 성능 예산은 그 허용선을 숫자로 적는 일입니다. 적는 항목은 세 가지로 충분합니다. 첫째는 지표 상한입니다. 큰 콘텐츠 렌더가 2.5초를 넘지 않는다고 적습니다. 둘째는 전송량 상한입니다. 첫 화면에 필요한 자원 합계를 킬로바이트로 적습니다. 셋째는 요청 수 상한입니다. 3개 항목은 측정이 쉽고 변경 시 바로 확인할 수 있어 실제로 지켜질 수 있습니다. 항목이 5개를 넘으면 확인에 시간이 들어 결국 아무도 보지 않습니다.
초과했을 때 무엇을 할지 미리 정합니다
예산을 적어 두기만 하면 초과했을 때 '다음에 고치자'로 끝납니다. 그래서 초과 시 행동을 함께 정합니다. 선택지는 세 가지입니다. 첫째, 변경을 되돌립니다. 가장 단순하고 확실합니다. 둘째, 같은 크기만큼 다른 것을 줄입니다. 새 기능을 넣으려면 쓰지 않는 자원을 제거하는 방식입니다. 셋째, 예산을 올립니다. 올릴 때는 이유와 승인자를 기록합니다. 세 선택지를 미리 적어 두면 논의가 '느려졌다'에서 '어느 선택지를 쓸까'로 바뀝니다. 또 측정을 배포 과정에 넣어 초과를 자동으로 알리면, 사람이 기억해서 확인할 필요가 없어집니다.
초과량을 비율로 계산합니다
학습용 가정으로 계산합니다. 가정값은 전송량 상한을 1,200킬로바이트로 정했는데 현재 측정값이 1,800킬로바이트라고 두겠습니다. 초과량은 600킬로바이트이고 상한 대비 50퍼센트 초과입니다. 비로 보면 1,800을 1,200으로 나눈 1.5배입니다. 이것이 중간 계산값입니다. 최종 조치는 초과량을 기준으로 정합니다. 600킬로바이트를 줄여야 하므로, 자원을 용량 순으로 정렬해 상위 항목부터 600킬로바이트가 모일 때까지 제거나 축소 대상으로 올립니다. 초과량을 숫자로 알면 '최대한 줄이기'가 아니라 '600킬로바이트 줄이기'라는 완료 조건이 생깁니다.
예산이 기능 추가를 막는 경우
결론을 뒤집는 조건은 사업 판단입니다. 예산을 지키려고 꼭 필요한 기능을 포기하면 본래 목적에 어긋납니다. 그래서 예산은 절대 규칙이 아니라 '초과를 보이게 만드는 장치'로 씁니다. 올려야 할 이유가 있으면 올리되 기록을 남깁니다. 기록이 쌓이면 어느 기능이 예산을 얼마나 썼는지 알 수 있고, 다음 논의의 근거가 됩니다. 두 번째 조건은 측정 환경입니다. 예산 검사를 개발자 장비에서만 하면 실제 사용자 조건과 달라 느슨해집니다. 그래서 검사 조건을 모바일 기기와 제한된 네트워크로 고정하고, 그 조건을 예산 문서에 함께 적습니다.
성능 최적화 실행 전 점검표
- 지표 상한·전송량 상한·요청 수 상한을 숫자로 적었다
- 초과 시 되돌림·교환·상향 세 선택지를 미리 정했다
- 측정을 배포 과정에 넣어 초과를 자동으로 알린다
- 검사 조건을 모바일과 제한된 네트워크로 고정했다
이 가이드의 근거 문서
출처 확인일: 2026-10-19. 공식 문서에 기반한 편집 가이드이며 직접 수행한 벤치마크가 아닙니다. 비용 사례는 명시된 가정에 한합니다.
오류 제보 방법