성능 테스트

YeJi Kim·2023년 4월 27일
0

데이터베이스

목록 보기
4/5

📍 10분 테코톡 - 이프의 성능 테스트를 보고 정리한 내용이다.



다양한 성능 테스트 툴들이 존재한다.
성능 테스트는 무엇이고 필요할까?


구글에서 2017년에 조사한 자료에 따르면 모바일 환경에서 페이지의 로드 타임이 1초에서 3초 가까이 되면 서비스의 사용자 이탈률이 32% 까지 증가했고 5초 이상 6초 이상 되면은 90%, 100%, 120% 이렇게 이탈률이 증가하는 것을 수치상으로 확인할 수 있다.

여담 💬

2023년에 작성된 웹사이트 로딩 시간 통계 글이다.
이 글에 따르면, BBC는 페이지 로드 시간을 0.4초 단축하고 트래픽이 9%나 증가했다고 한다.


그렇다면 페이지 로드 타임을 줄이기 위해 응답 시간을 줄이려면 어떻게 해야 할까?
다음 사진에서 절반 이상이 대기 시간으로 소요되고 있는 점을 확인할 수 있다.

각각의 구성 요소를 모니터링하고 성능을 개선하며 대기 시간을 단축하면 응답 시간을 줄일 수 있다.


접속자가 많아지면 응답이 늦게 도착하게 되고 응답 대기 시간이 길어지게 된다. 또한 이로 인해 장애가 발생할 수도 있다.

이러한 상황을 사전에 방지하기 위해서 테스트를 진행해야 한다.


부하 테스트와 스트레스 테스트

  • 부하 테스트: 병목 현상을 확인하고 목표치까지 개선하는 것이 목적
    • 임계점을 기준으로 병목현상이 발생하여 결과치가 한정된다.
  • 스트레스 테스트: 과부하 상태에서 어떻게 동작하는지 확인하고 개선하는 것이 목적
    • 장애가 발생한 상황에서 애플리케이션이 어떻게 대처하는지 확인 가능
      • Graceful ShutDown 여부 확인
      • 자동 복구 여부 확인

참고

그 외에도 다양한 테스트 종류들이 있다.

  • Load Test: 사전에 결정된 Peak시점의 부하 상황에서 시스템의 성능을 검증하는 것으로, Peak Load는 일반적으로 1시간동안 유지됩니다. 이 테스트는 적정한 성능으로 Peak Hour Traffic을 감당할 수 있는지 확인한다.
  • Stress Test: Peak Load보다 훨씬 높은 부하 상황에서 시스템의 성능을 검증한다.(일반적으로는 Peak Load의 2배를 사용한다.) 이러한 상황에서 시스템이 장애가 발생하는지 또는 사용 가능한 상태로 유지되는지, 그리고 부하가 정상 수준으로 돌아갈 때 우아하게(gracefully) 복구되는지 체크한다.
  • Endurance Test: 장기간에 걸쳐 나타나는 메모리 누수와 같은 이슈들을 감지하기 위해, 8시간 이상의 기간에 걸쳐 시스템의 안정성을 확인하는 장기적인 테스트이다.
  • Spike Test: 시스템의 갑작스러운 사용량 급증에 대한 독특한 시나리오에 대해 시뮬레이션합니다. 이것은 인기있는 제품 출시(e.g. iPhone) 또는 Big Sales(e.g. Singles’ Day)와 같은 상황과 관련이 있다.
  • Breakpoint Test: 동시단말 사용자(concurrent users)의 수를 점진적으로 증가시켜서, 시스템의 장애 지점을 결정합니다. 테스트 이후, 시스템을 사용할 수 없게 되는 지점, 즉 시스템의 중단점(the breakpoint of the system)을 관찰하기 위해 그래프를 그릴 수 있다.
    출처: Web Performance Testing — DCube’s Practices



[참고자료]
https://engineering-skcc.github.io/performancetest/Performance-Testing-Terminologies/
https://blog.naver.com/PostView.naver?blogId=wisestone2007&logNo=222160380337&parentCategoryNo=&categoryNo=6&viewDate=&isShowPopularPosts=true&from=search

profile
이전의 기록들 👉 https://blog.naver.com/reviewerkyj

1개의 댓글

comment-user-thumbnail
2023년 5월 1일

부하 테스트, 스트레스 테스트 이외에도 브레이크 포인트 테스트와 같이 다양한 테스트의 개념을 알 수 있어서 좋았습니다!

답글 달기