메뉴 건너뛰기

3. 앱 로드타임을 2초 내로 줄여 좋은 첫인상을 주자


크래시율과 더불어 app load time은 매우 중요한 지표입니다. App load time은 고객유치에 매우 밀접한 메트릭이자 모바일 앱에 접근하는 중요한 시간정보입니다. 연구에 따르면 app load time은 50%의 사용자에게 당혹감을 줄 수 있으며 25%의 사용자는 너무 긴 app load time으로 인해 앱을 사용하지 않게 된다고 합니다.


Apteligent를 사용하여 App Load Time을 자동으로 관리하자


여러 고객들에게 메트릭의 중요성에 대해 충분히 설명하면서, Apteligent는 앱 로드 타임을 추가 코드 설정 없이 나타나는 기본 메트릭으로 제공하기로 했습니다. Apteligent SDK를 이니셜라이징 하는 것만으로도 사용자가 앱 아이콘을 눌러 런칭하는 순간부터 사용자가 사용할 수 있도록 로드되는 시간을 모니터하는 것입니다.


3-1.png


Userflows Summary페이지에서는 App Load라는 userflow가 여러분이 설정한 custom flow와 함께 나타나는 것을 확인할 수 있습니다. Apteligent는 항상 사용자가 app을 로드하는 것을 자동적으로 모니터링하여 다음과 같은 주요 메트릭을 수집합니다.


 Volume: app을 로드하는 횟수
 Foreground Time : app을 로드하는 데에 걸리는 시간
 Fail Rate : app이 로드되는 동안 크래시가 발생하는 비율


app 릴리즈와 시간대 별로 메트릭 값 변화의 추이를 비교하고 업계 평균 메트릭과 비교하는 benchmark에서 유용하게 사용될 수 있는 메트릭입니다. Apteligent data에 따르면 좋은 앱은 다음과 같은 app load 메트릭을 보여줍니다.


 Foreground time < 2.0 sec
 Fail rate < 0.25 %


Distribution of Apps by Appload Time (ms)


3-2.png


만일 app load time이 2초가 넘거나 0.25%이상의 크래시율이 나타난다면, App Load userflow를 클릭하여 이슈를 해결하시기 바랍니다.


시간의 흐름과 릴리즈에 유의하여 AppLoad 메트릭을 관리하자


App load 상세 페이지의 상단 차트를 보면 시간 흐름에 따른 메트릭 변화를 볼 수 있습니다. 크래시에 의한 실패 율이나 타임아웃은 새로운 앱 릴리즈, OS릴리즈, 서버 측의 변경에 따라 증가 하기도 합니다. 페이지 상단의 필터를 사용하면 특정 앱 버전 또는 기간에 따른 차트를 볼 수 있습니다.


3-3.png


Breadcrumbs 을 사용하여 실패한 Userflow, 느린 Userflow를 디버깅하자


Userflow의 이슈를 보다 더 깊이 분석하기 위해 userflow 상세 페이지에서는 느리거나 실패한 userflow 의 원인을 파악할 수 있는 두 가지 탭을 제공합니다.


Breadcrumbs탭은 실패한 개별 사용자 세션을 보여줍니다. 이 탭의 시간 흐름에 따른 축적 데이터를 보고 느린 앱로드 시간과 크래시의 원인을 파악할 수 있습니다.


3-4.png



Apteligent는 크래시가 있거나 타임아웃 시간을 초과하는 경우 자동으로 Userflow를 실패로 표시합니다. 실패한 각 세션에 대해 Apteligent에서는 실패로 이어지는 마지막 100개의 이벤트 목록을 표시합니다. 자동 탐색 경로를 통해 Apteligent SDK는 느린 네트워크 호출, 네트워크 연결 변경 및 화면 전환과 같은 일반적인 실패 원인 및 앱 지연현상을 자동으로 추적합니다.

앱로드 시간이 느려지는 원인은 앱마다 다르지만 일반적으로 우리가 경험한 바에 의하면 미디어 자원이나 검색결과를 로드하는 API가 느리거나 써드파티 SDK의 초기화가 느린 것이 주요 원인이었습니다. 또한 때때로 코드가 원인일 수도 있습니다. 그림 7와 같이 앱이 다운될 때까지 동일한 Activity가 2초마다 로드되는 무한루프를 볼 수 있습니다


Bonus Tip


App load userflow에 타임아웃을 120초로 걸어 놓으면 2분 이상 걸리는 app load 수를 측정할 수 있습니다. 여러분의 앱이 평균적인 앱과 대비해 앱 로드에 얼마나 걸리는지 비교해보고, 느린 앱 로드를 자동 브래드크럼 추적 기능을 이용하여 분석하십시오.


3-5.png


3-6.png


App Load 동안 발생하는 Crash를 우선적으로 디버깅하자


앱의 주요 userflow 에서 크래시가 발생하면 사용자 경험과 유치 측면에서 악영향을 줄 수 있습니다. 그리고 가장 중요한 userflow 중 하나는 앱 로드일 것입니다. 앱 실행 중에 크래시가 발생하면 앱을 사용할 수 없습니다.


Root Cause Analysis 탭을 사용하면 앱이 로드되는 동안 발생한 모든 크래시를 확인할 수 있습니다. 성공적인 다음 릴리즈를 위해 크래시의 우선순위를 정하여 픽스합니다.

3-7.png


요약해보면


요약해보면 app load는 사용자가 앱을 처음 사용하기 위한 단계로 좋은 첫인상을 주어야 하는 시점입니다. 여러분의 앱을 사용하는 사용자를 위해 앱 로드 시간을 일반적인 평균치인 2초 미만, 0.25%이하의 크래시율을 유지하십시오. Apteligent userflow기능은 모든 앱 릴리즈에 대해 시간별로 위의 두 메트릭을 제공합니다. 느린 앱 로드 시간을 수정하고 breadcrumb 추적을 통해 느린 네트워크 콜과 같은 문제점을 특정지을 수 있습니다. 마지막으로 root cause analysis툴을 사용하여 load시 발생하는 크래시의 우선순위를 정해 해결합니다.


앱 로드는 앱의 주요 userflow 중 하나입니다. 이 외에도 로그인, 새 계정 등록, 구매 등 중요한 userflow가 있을 수 있습니다. 다음 장에서는 성능이슈를 어떻게 측정하고 모니터링 하며 해결할 수 있는지에 대해 알아보겠습니다.

Who's NeO

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

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

http://www.solulink.co.kr

?

 


  1. 코드 인스펙션 룰을 작성하는 과정

    훌륭한 Code Inspection 도구가 많고, 도구의 완성도와 빌트인 룰의 효용성이 좋아지고 있지만 여전히 프로젝트에서는 커스텀 룰을 필요로 합니다. 이것은 시큐어코딩이나 보안감사, 데이터 관리평가와 같은 외적 요인에 의한 동기와, 코드의 가독성 향상, 유...
    Date2018.07.31 ByNeO Reply1 Views566
    Read More
  2. 버그는 줄이고 릴리즈는 빠르게 : APM이 Software Development Life Cycle을 개선하는 법

    요약 소프트웨어 개발 라이프사이클(SDLC)에 연관된 모든 사람들의 작업은 어플리케이션과 비즈니스 성능 정보를 쉽게 확보할 수 있도록 함으로써 개선될 수 있다.   시작하며 일련의 상호의존적 절차를 분리된 행동으로 ...
    Date2018.07.25 ByNeO Reply0 Views379
    Read More
  3. 2. Service Endpoint를 활용한 Database 성능 모니터링

    본 문서는 다음 문서를 번역한 글입니다. 총 2개의 글로 이루어진 이번 연재는 AppDynamics Global Services team의 John Aronson이 작성한 글로, Database 성능 개선을 위한 AppDynamics 활용법이 설명되어 있습니다. https://blog.appdynamics.com/p...
    Date2018.06.21 ByNeO Reply0 Views368
    Read More
  4. 1. Business Transaction을 통해 문제가 되는 Database Query 찾아내기

    본 문서는 다음 문서를 번역한 글입니다. 총 2개의 글로 이루어진 이번 연재는 AppDynamics Global Services team의 John Aronson이 작성한 글로, Database 성능 개선을 위한 AppDynamics 활용법이 설명되어 있습니다. 글이 조금 깁니다. https://blog...
    Date2018.05.02 ByNeO Reply0 Views442
    Read More
  5. DevOps 시작을 위한 가이드

    데브옵스(DevOps)의 인기는 몇 년동안 지속되고 있다. 데브옵스는 문화의 변화, 자동화, 변경 관리, 지속적인 배포 등을 설명하는데 사용된다. 본질적으로 데브옵스는 개발(Dev)팀과 운영(Ops)팀이 협업하여, 더 빠른고 신뢰성있는 릴리즈 파이프라인 구축하는...
    Date2018.04.13 ByTom Reply0 Views853
    Read More
  6. 7. 릴리즈와 시간의 흐름에 따른 모바일 메트릭을 관리하자

    7. 릴리즈와 시간의 흐름에 따른 모바일 메트릭을 관리하자 올바른 메트릭 관리하기 다양한 앱 사용자의 요구사항에 대응하는 성공적인 앱의 공통적인 요소는 바로 데이터를 지속적으로 측정하고 모니터링하는 데에 중점을 두고 있다는 것입니다. 성능메...
    Date2018.03.12 ByNeO Reply0 Views648
    Read More
  7. 6. 배터리 광탈과 데이터 과소비를 막자

    6. 배터리 광탈과 데이터 과소비를 막자 배터리 광탈이나 데이터 과소비는 사용자가 중요시 여기는 항목이지만, 앱을 제공하는 회사에서는 종종 잊어버리기 쉬운 메트릭입니다. 연구조사 업체인 IDC1의 조사에 따르면 대다수의 사용자들이 새로운 핸드폰을 ...
    Date2018.03.08 ByNeO Reply0 Views395
    Read More
  8. 5. 주요 Flow에서 네트워크 호출을 모니터링하자

    5. 주요 Flow에서 네트워크 호출을 모니터링하자 주요 Flow의 속도를 빠르게 하는 3가지 방법 1. 상위 3개의 인터랙션을 측정하라 앱의 속도를 빠르게 하기 위한 첫 걸음은 인터랙션을 완수하는 데 걸리는 시간을 측정하는 것입니다. Userflow 기...
    Date2018.03.06 ByNeO Reply0 Views397
    Read More
  9. 4. 인터랙션 타임을 최적화하여 사용자 경험을 개선하자

    4. 인터랙션 타임을 최적화하여 사용자 경험을 개선하자 우리 앱이 사용자를 당혹스럽게 만들고 있지는 않은지? App load time과 더불어 느린 트랜잭션은 사용자를 당혹스럽게 합니다. Jakob Nielsen의 UI디자인에 관한 powers of 10 연구결과에 의하...
    Date2018.02.27 ByNeO Reply0 Views358
    Read More
  10. 3. 앱 로드타임을 2초 내로 줄여 좋은 첫인상을 주자

    3. 앱 로드타임을 2초 내로 줄여 좋은 첫인상을 주자 크래시율과 더불어 app load time은 매우 중요한 지표입니다. App load time은 고객유치에 매우 밀접한 메트릭이자 모바일 앱에 접근하는 중요한 시간정보입니다. 연구에 따르면 app load time은 50%의 ...
    Date2018.02.19 ByNeO Reply0 Views455
    Read More
Board Pagination Prev 1 2 3 Next
/ 3