📍 10분 테코톡 - 이프의 성능 테스트를 보고 정리한 내용이다.
다양한 성능 테스트 툴들이 존재한다.
성능 테스트는 무엇이고 왜 필요할까?
구글에서 2017년에 조사한 자료에 따르면 모바일 환경에서 페이지의 로드 타임이 1초에서 3초 가까이 되면 서비스의 사용자 이탈률이 32% 까지 증가했고 5초 이상 6초 이상 되면은 90%, 100%, 120% 이렇게 이탈률이 증가하는 것을 수치상으로 확인할 수 있다.
여담 💬
2023년에 작성된 웹사이트 로딩 시간 통계 글이다.
이 글에 따르면, BBC는 페이지 로드 시간을 0.4초 단축하고 트래픽이 9%나 증가했다고 한다.
그렇다면 페이지 로드 타임을 줄이기 위해 응답 시간을 줄이려면 어떻게 해야 할까?
다음 사진에서 절반 이상이 대기 시간으로 소요되고 있는 점을 확인할 수 있다.
각각의 구성 요소를 모니터링하고 성능을 개선하며 대기 시간을 단축하면 응답 시간을 줄일 수 있다.
접속자가 많아지면 응답이 늦게 도착하게 되고 응답 대기 시간이 길어지게 된다. 또한 이로 인해 장애가 발생할 수도 있다.
이러한 상황을 사전에 방지하기 위해서 테스트를 진행해야 한다.
참고
그 외에도 다양한 테스트 종류들이 있다.
- 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
부하 테스트, 스트레스 테스트 이외에도 브레이크 포인트 테스트와 같이 다양한 테스트의 개념을 알 수 있어서 좋았습니다!