5. 주요 Flow에서 네트워크 호출을 모니터링하자

by NeO posted Mar 06, 2018
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄

5. 주요 Flow에서 네트워크 호출을 모니터링하자


주요 Flow의 속도를 빠르게 하는 3가지 방법


1. 상위 3개의 인터랙션을 측정하라


앱의 속도를 빠르게 하기 위한 첫 걸음은 인터랙션을 완수하는 데 걸리는 시간을 측정하는 것입니다. Userflow 기능은 사용자가 인터랙션을 수행하는 데 걸린 시간을 측정하고, 이때 발생하는 인터랙션 실패와 발생 이벤트를 식별합니다. 앞서 선정한 앱의 주요 3가지 인터랙션에 집중하십시오.
인터랙션을 모니터링하면 Userflows Summary페이지에서 해당 인터랙션의 베이스라인 기준을 측정합니다. Apteligent에서는 foreground time을 측정하여 사용자가 인터랙션을 수행하는 데 걸린 시간을 측정하고 app이 background에 들어가 있을 때의 시간은 자동으로 멈춥니다. 즉, foreground time은 실제 사용자의 수행시간입니다.


 5-1.png


2. 사용자의 기대치와 인터랙션타임을 비교하라


사용자 경험 지표를 측정하기 위해서는 각 인터랙션이 사용자의 기대치에 부합하는지 알아야 합니다. 즉각적인 인터랙션과 작업 인터랙션을 구분하고 사용자로 하여금 인터랙션이 그들의 예상에 맞게 진행되고 있다는 확신을 주어야 합니다. 가령, 로그인과 같은 작업 인터랙션은 약간의 딜레이를 예상할 수 있지만, 1초 이상의 기다리는 시간이 주어진다면 사용자는 인터랙션을 진행하기 위한 생각의 길을 잃을 수 있습니다. 사용자의 주의를 항상 집중시키기 위해서라도 가능한 한 올바른 상호작용을 빠르게 할 수 있도록 해야 합니다.


3. 네트워크 호출로 인한 대기시간을 최소화하자


느린 네트워크 호출에 의해 인터랙션이 응답 없음 상태에 빠질 수 있습니다. Apteligent에서는 foreground time이 큰 주요 인터랙션이 있으면, 해당 인터랙션을 드릴다운할 수 있습니다.


 5-2.png


Apteligent는 사용자가 개별 인터랙션에 실패하는 과정을 보여주는 점진적인 뷰를 제공합니다. Breadcrumb trail을 살펴보면, 이 인터랙션에서 종종 매우 느린 네트워크 호출이 발생했음을 알 수 있습니다. 그림 14에서 우리는 완료되는 데 무려 3초 이상이 소요되는 네트워크 호출을 볼 수 있습니다. 이 경우, 데이터를 캐싱하거나 좀 더 작은 검색결과 리스트를 보여준다면 인터랙션 속도를 높일 수 있습니다.


요약해보면


요약해보면, 모든 앱은 주요 인터랙션이 존재하며 사용자는 인터랙션을 통해 사용목적을 달성합니다. 주요 3개의 flow를 선정하고, 여기에서 발생하는 비즈니스 메트릭을 확보하여 사용자가 기대하는 속도의 인터랙션을 제공하십시오. 즉각적인 인터랙션과 작업 인터랙션을 구분하고, 각각의 인터랙션의 성격에 맞게 목표 응답속도를 설정합니다. 응답속도가 느린 인터랙션이 감지되면, breadcrumb을 추적하여 인터랙션을 최적화하고 사용자로 하여금 완벽히 제어할 수 있는 상태에서 목적을 달성할 수 있게 합니다.

Who's NeO

ALM, SW 모델링, SW 정적분석, Devops 특히 CI/CD, APM을 통한 Shiftleft에 관심이 많습니다. 

차세대 APM Cisco AppDynamics와 모바일 앱 모니터링 VMware Apteligent를 소개합니다.

http://www.solulink.co.kr