측정 → 최적화의 간단한 루프: 기준선, 프로파일, 한 가지 변경, 영향 검증으로 더 차분한 성능 습관을 만드세요.

Fast 3G)—모든 실행에서 동일하게 유지하세요. 측정할 단순한 숫자 하나만 고릅니다: "Pay 클릭부터 확인 화면 표시까지 시간."\n\n그 순간을 프로파일하고 시간이 어디로 가는지 보세요. 보통 세 가지 버킷 중 하나를 결정하게 됩니다: 네트워크(긴 요청 또는 너무 많은 요청), 서버(결제 호출이 느리며 브라우저는 유휴), 또는 메인 스레드(브라우저가 JavaScript를 실행하느라 UI를 갱신하지 못함).\n\n프로파일에서 결제 클릭 이후 브라우저가 분석 요청과 사기 방지 스크립트 호출을 먼저 보내고 결제 요청이 그 뒤에 대기하는 것으로 나온다고 가정해 보세요. 이건 "모든 것을 빠르게 만들자" 문제가 아닙니다. 하나의 차단 단계 문제입니다.\n\n의도적으로 한 가지를 변경하세요. 예: 결제 요청을 즉시 시작하게 하고 분석은 확인 화면이 보인 뒤에 전송하세요.\n\n동일한 설정으로 검증하세요: 동일한 스로틀링, 동일한 단계, 여러 번 실행. 확인 시간(confirmation time)이 줄고 에러가 늘어나지 않으면 실제 개선입니다. 환불, 재시도, 더블 서브밋 방지 기능이 깨지지 않았는지도 확인하세요.왜냐하면 실제 지연을 일으키는 것이 아닌 부분을 개선하느라 시간을 쉽게 낭비할 수 있기 때문입니다. 먼저 시간이 어디로 가는지(네트워크, 서버, 메인 스레드, 렌더링)를 증명한 뒤 가장 큰 병목을 공략하세요.
하나의 특정 동작과 정확한 조건을 적어 두고 반복하세요:\n\n- 동일한 기기 + 브라우저 버전\n- 동일한 네트워크 프로필(또는 스로틀링)\n- 동일한 캐시 상태(콜드 또는 웜)\n- 동일한 테스트 데이터(계정, 장바구니 크기, 지역)\n- 여러 번 실행(중앙값 사용)\n\n반복할 수 없다면 신뢰할 수 없습니다.
사용자가 체감하는 것에 맞는 1–3개의 메트릭을 고르세요:\n\n- 페이지 로드: LCP(주요 콘텐츠 등장 속도), TTFB(서버 응답 속도)\n- 상호작용: INP(반응성 체감)\n- 안정성: CLS(레이아웃 이동)\n- 백엔드: 기다리는 특정 API의 p95 응답 시간\n\n메트릭을 너무 많이 두면 원하는 것만 골라보게 됩니다.
랩 데이터는 제어된 환경에서 수집됩니다(특정 노트북/테스트 기기, 안정된 네트워크 프로필, 매번 동일한 단계). 재현이 쉬워 디버깅에 좋습니다.\n\n실사용자 데이터는 다양한 기기·위치·연결 품질에서의 경험을 반영합니다. 우선순위를 정할 때 유용합니다.\n\n좋은 기본 방법: 실사용자 데이터를 사용해 최악의 여정을 찾고, 랩 프로파일링으로 왜 느린지 설명하고 안전하게 수정하세요.
다음 항목을 버그 리포트처럼 적으세요:\n\n- 재현 단계(정확한 순서)\n- 느린 순간(언제인지)\n- 측정한 값(메트릭 + 값)\n- 시간이 어디로 가는지 보여주는 녹화(프로파일 또는 트레이스)\n\n이렇게 하면 대화가 의견(“이미지 때문일 것”)에서 증거로 바뀝니다.
프로파일러로 느린 상호작용을 녹화하고 가장 큰 시간 블록을 찾아보세요:\n\n- 요청 대기 중 긴 간격 → 네트워크/백엔드 가능성\n- 긴 메인 스레드 작업 → 자바스크립트 또는 무거운 UI 작업\n- 많은 레이아웃/스타일/페인트 → 렌더링 문제\n- 반복되는 비싼 작업 → 불필요한 리렌더링 또는 루프\n\n그다음 한 문장으로 테스트 가능한 가설을 적으세요.
원인과 결과를 명확히 유지해 줍니다. 다섯 가지를 바꾸면 어떤 것이 효과였는지 알 수 없습니다. 느려지면 롤백도 복잡해집니다.\n\n실용적 규칙: 설명할 수 있는 한 가지 변경, 기대하는 한 가지 메트릭 변화, 그리고 다시 측정하세요.
기준선과 동일한 테스트 설정으로 다시 실행해 전후를 비교하세요.\n\n노이즈를 줄이려면:\n\n- 여러 번 실행해 중앙값 사용\n- 캐시 상태를 일관되게 유지\n- 확장 프로그램/백그라운드 작업 비활성화(가능하면)\n- 유사한 서버 부하에서 테스트(한가한 시간과 비교 금지)\n\n동일한 조건에서 숫자가 개선될 때만 변경을 유지하세요.
자주 발생하는 함정:\n\n- 가장 쉬운 것만 최적화하고 가장 시간이 많이 걸리는 것을 무시\n- 강력한 노트북에서만 테스트\n- 매 실행마다 다른 여정을 택함\n- 사용자 눈에 보이는 결과 대신 점수만 축하\n- "더 빠르게 느껴진다"며 재테스트를 건너뜀\n\n하나의 여정, 하나의 설정, 하나의 검증된 결과에 충실하세요.
다음과 같이 실험을 안전하고 비교 가능하게 만드세요:\n\n- 성능 변경 바로 전에 스냅샷을 찍어 빠르게 되돌릴 수 있게 함\n- Planning Mode에 여정, 기준선, 성공 메트릭을 미리 적음\n- 코드를 내보내거나 배포해도 동일한 테스트 스크립트를 유지해 결과를 비교 가능하게 함\n\n도구가 도움을 주지만 진짜 승리는 반복 가능한 루프: 기준선 → 프로파일 → 한 가지 변경 → 검증에 있습니다.