Post

[ 성능 테스트 ] 1. 성능 목표 설정

[ 성능 테스트 ] 1. 성능 목표 설정

오늘은 소프트웨어 성능 목표 설정 시 빼놓을 수 없는 핵심 개념, “목표 지표(KPI, Key Performance Indicator)”에 대해 이야기한다.

성능 목표를 수립하는 과정에서 ‘목표 지표’는 나침반과 같다. 방향성을 잡아주고, 제대로 가고 있는지 검증할 수 있게 만들어준다. 그런데 막상 ‘목표 지표’가 무엇인지, 어떻게 설정해야 하는지 헷갈리는 경우가 많다. 나 역시 초반에 이 부분에서 한참 고민했던 기억이 난다.


목표 지표란 무엇인가?

목표 지표는 성능 목표를 수치화해서 **측정 가능하게 만드는 ‘정량적 기준’**이다. 예를 들어, “우리 서비스는 빠른 응답 속도를 가져야 한다”라는 목표는 막연하지만, “API 응답 시간 95%가 300ms 이하”라면 구체적이고 명확하다.

목표 지표 = 성능 목표를 ‘수치’로 풀어낸 명확한 지침

이 지표가 있어야만 실제 성능 테스트, 모니터링에서 ‘합격’인지 ‘불합격’인지 판단할 수 있다.


왜 목표 지표가 중요한가?

  • 객관적인 성능 평가 주관적인 감이나 경험에 의존하지 않고, 명확한 데이터로 성능을 평가할 수 있다.
  • 개발과 운영의 공통 기준 개발팀과 운영팀이 같은 목표를 보고 협업할 수 있다.
  • 지속적 개선의 출발점 성능 저하 원인 분석과 개선 작업 시 어떤 부분을 중점적으로 봐야 하는지 알려준다.

대표적인 성능 목표 지표 예시

지표명 의미활용 예시

   
응답 시간 (Response Time)사용자가 요청을 보낸 후 응답 받기까지 걸리는 시간95% 요청의 응답 시간을 300ms 이하로 유지
처리량 (Throughput)단위 시간당 처리 가능한 요청 수초당 1000건의 API 요청 처리 가능
CPU 사용률서버 CPU 자원 사용량CPU 사용률 80% 이하 유지
메모리 사용량애플리케이션이 사용하는 메모리 크기메모리 사용량 500MB 이하 유지
에러율 (Error Rate)전체 요청 중 실패한 요청 비율에러율 0.1% 이하 유지
가용성 (Availability)서비스가 정상 동작하는 시간 비율월 99.9% 이상의 가용성 유지

나의 성능 목표와 근거

최근 여러 통계 자료와 사용자 경험 데이터를 분석해보니, 웹사이트 성능에서 ‘속도’가 얼마나 중요한지 다시 한 번 실감했다. 특히 모바일 환경에서 사용자의 기대치와 행동 패턴은 성능 목표를 설정하는 데 큰 영향을 주었다.


주요 통계

  • 53%의 모바일 웹 방문자는 페이지 로딩이 3초 이상 걸리면 바로 사이트를 떠난다.
  • 모바일 사이트의 평균 로딩 시간은
    • 3G 환경에서 19초,
    • 4G 환경에서 14초로 매우 느린 편이다.

로딩 속도가 미치는 영향

  • 5초 이내 로딩되는 모바일 사이트는 19초 걸리는 사이트 대비:
    • 광고 가시성이 25% 더 높고,
    • 평균 세션 시간은 70% 더 길며,
    • 이탈률은 35%나 낮다.
  • 페이지 로딩 시간이 1초에서 3초로 늘어나면, 이탈 확률은 무려 32% 증가한다.

사용자 기대치

  • 인터넷 사용자의 약 50%는 웹페이지가 2초 이내에 로딩되길 기대한다.
  • 성능이 좋지 않은 경험을 한 사용자의 약 80%는 그 페이지를 영구적으로 피하고 재방문하지 않는다.

나의 목표: TTFB 3초 이내 달성

이런 자료들을 바탕으로, 나는 웹사이트의 TTFB(Time To First Byte, 첫 바이트 도착 시간)를 3초 이내로 유지하는 것을 목표로 세웠다.

약 90%의 요청에 대해 3초 이하의 TTFB를 달성하는 것이 현실적이고, 동시에 사용자 경험을 크게 개선할 수 있는 최적의 성능 목표라고 판단했다.


참고 링크

This post is licensed under CC BY 4.0 by the author.