3.3 클라이언트 성능 테스트
검증 범위는 애플리케이션 사용 중 FPS, CPU 사용량, GPU 사용량, 배터리 사용 전력량, 디바이스 온도, 메모리 사용량, 네트워크 사용량을 측정
클라이언트 성능 테스트를 위한 벤치마킹 도구
안투투 벤치마크, 긱벤치, PC마크, GFX벤치, 벤치마크, 게임벤치 Game Bench(책에선느 게임벤치로 실습 다루심~!)
벤치마킹 도구 사용 시 유의사항
테스트할 애플리케이션만 활성화된 상태로 테스트 진행, 성능 측정은 최소 한시간 이상
cf. 이커머스 애플리케이션에서 성능 문제 발생시킬 수 있는 기능은?
상품 목록을 호출하는 상품 조회 또는 상품 목록에서의 로딩 축적, 고사양 이미지와 동영상을 출력하는 상품의 상세 페이지, 다량의 유저 유입이 순간적으로 증가하여 트래픽이 급증할 수 있는 이벤트 페이지로 범위 선정할 수 있음
클라이언트 성능 품질 지표
1. 메모리 : 안드로이드/iOS
2.패킷 : 10분에 3MB 미만 데이터
=> 네트워크를 통해 전송되는 데이터의 양에 대한 제약 사항
=> 클라이언트는 10분 동안 서버와 주고받는 모든 데이터의 총량이 3MB 메가바이트를 초과해서는 안됨
=> 여기서 데이터는 패킷 단위로 계산되며, 클라이언트가 서버와 통신하면서 발생하는 요청 및 응답 데이터를 포함
3. 디바이스 온도 : 40도 미만
4. CPU
=> 안드로이드 : 평균 사용량 60% 미만 iOS : 평균 사용량 70% 미만
5. GPU : 평균 GPU 사용량 30% 미만(중간 사용량 - 60%, 높은 사용량 - 80%)
6. FPS : 클라이언트 애플리케이션의 화면 렌더링 품질(Frames Per Second)을 측정하는 기준. 이를 통해 애플리케이션이 얼마나 부드럽게 동작하는지 평가
주로 모바일 앱, 게임, 동영상 스트리밍 앱 같은 그래픽 렌더링이 중요한 서비스에서 사용
=> Median fps( 프레임 속도의 중간값(중앙값) ): 30
=> FPS Stability(안정성) : 평균 75% 이상 (최소 20 이상)
Ex. 게임 앱: Median FPS가 30, Stability 75%라면, 대부분의 시간 동안 화면이 부드럽게 동작하지만, 성능 저하 구간에서도 최소 20FPS 이상을 유지해 플레이 가능해야 함.
동영상 플레이어: 안정적으로 동영상이 재생되어 끊김 없는 사용자 경험을 제공해야 함.
성능 측정 항목별 데이터 분석
1. 프레임 속도 : FPS
초당 몇 장의 화면이 지나가는지 나타내는 값, 값이 높을수록 화면이 버벅거림이나 끊김 없이 시각적으로 부드러운 화면이 출력됨
2. CPU 사용량 : 중앙 프세서에 부담을 주는 정도, 높은 CPU 사용량을 유지하는 경우 디바이스의 과도한 전력 소모, 온도 상승, 디바이스 성능 제한 및 저하가 발생할 수 있음
3. GPU 사용량 : 그래픽 프로세서에 부담을 주는 정도, GPU 사용량은 전체 GPU 용량의 백분율로 표시하지 않고 사용 가능한 GPU 용량의 백분율로 표시됨, 높은 GPU 사용 시에 디바이스의 성능 병목 현상 발생(성능 속도 제한, 느린 렌더링, 시스템 속도 저하, 높은 메모리 소모)
렌더링 : 컴퓨터 프로그램을 사용하여 모델 또는 이들을 모아 놓은 장면인 씬 파일로 부터 영상을 만들어 내는 과정을 의미
4. 사용 전력량 : 테스트 중인 애플리케이션이 디바이스의 배터리 소모에 부담을 주는 정도를 의미, 사용 전력량이 높을수록 디바이스 배터리의 수명을 단축하고, 온도를 상승하며 다른 부품의 손상을 발생시킴
5. 메모리 사용량 : 애플리케이션이 디바잉스의 메모리 소모에 부담을 주는 정도, 메모리 사용량이 낮을 수록 애플리케이션이 최적화된 상태를 나타냄.