본문 바로가기

TIP&TECHNICAL

안드로이드 스마트폰 인터넷 속도측정시 핑이 튀는 이유와 해결법

 

 


안드로이드 스마트폰의 속도측정 애플리케이션으로 네트워크 벤치마크를 해 보다보면, 이상한 점이 눈에 들어옵니다. 네트워크 속도가 기대에 못미치는건 기본이고, 특히 레이턴시(핑)가 비정상적으로 높게 나타난다는것. 꾸준히 레이턴시가 높고 불안정하게 나오면 AP와 스마트폰의 궁합이 안맞거나 네트워크 품질이 좋지 않다는걸로 쉽게 이해 되지만, 그건 또 아닌것이, (위의 스크린샷 처럼) 측정 후반에는 레이턴시가 정상적으로 내려가게 된다는 것입니다.


저도 갤럭시S2를 받고 난 다음, 저런 현상이 계속 일어나길래, 공유기 호환성이 좋지 않아 생기는 증상이라 생각하고 넘겼지만, 이후 브로드컴 BCM칩셋을 쓴 공유기를 써도 이 문제는 크게 개선되지 않았습니다. 그래서 그 이유를 찾아보았습니다. 원인은 꽤 가까이 있었네요.






 

 



원인은 GPS 보조 데이터 활용으로 인한 CPU및 네트워크의 병목현상.  

 

안드로이드 시스템은 위치 데이터를 받기 위해 GPS 신호를 찾을 때, 1. GPS 위성목록 데이터를 갱신하고, 2. GPS를 활성화 한 다음, 3. 현재 연결된 네트워크를 통해 대략적인 위치를 파악합니다. 4. 후에 GPS를 통한 정확한 위치를 파악하고, 5. 구글 서비스나 다른 애플리케이션등, 위치 데이터를 필요로 하는 애플리케이션들의 위치 데이터를 갱신하고, 필요에 따라 각 애플리케이션의 서버에 위치 데이터를 전송하게 됩니다.


벤치비등의 스마트폰 인터넷 벤치마크 애플리케이션은 지역에 따른 속도 편차, (LTE 측정의 경우)LTE 서비스 지역 확인, 지역별 네트워크 품질등, 다양한 자료에 활용하기 위해 이 위치 데이터를 받고 측정 데이터와 위치 데이터를 자신들의 서버에 저장하게 됩니다. 여기서 문제가 발생하는데요. 측정을 시작함과 동시에 바로 위치 데이터를 받으려 하다보니, GPS 신호 찾는 단계를 진행하면서 병목현상이 발생하여 네트워크 품질이 떨어지는 것으로 보이게 되는겁니다.


해결방법은 간단합니다. 위의 GPS 작동단계중 1번, 3번, 4번 단계를 하지 않고, GPS 위성으로만 위치 데이터를 받도록, 그리고 다른 서비스들이 위치 데이터를 사용하지 않도록 설정해 주면 되겠죠?, 설정의 위치서비스에서 GPS 위성 항목을 제외한 나머지 3개의 옵션은 모두 비활성화 해 주면 됩니다. 







 


관련 설정 적용 후 측정을 시작하면 정상적인 레이턴시(핑)을 보실 수 있습니다. 

착각하면 안되는 것은, 벤치마크 애플리케이션이 GPS를 활용할 때, 위의 문제들 때문에 생기는 증상일 뿐, 실제 네트워크의 품질에 이상이 있는것은 아니라는 거죠. 즉, 평소에는 위의 스크린샷 처럼 정상적인 네트워크라는 것입니다. 그러니 굳이 저 설정을 평소에 적용하실 필요는 없습니다. 


한국에서는 Google 위치 서비스가 사실상 필요가 없는 건 사실이지만, GPS 보조 데이터를 받아오면 평소보다 더 빨리 위성을 찾을 수 있게 되고, 한번 GPS를 사용할 때 위치 데이터를 사용하는 다른 애플리케이션도 같이 데이터를 받아 최신의 상태를 유지하기 되는등, 위치 서비스를 사용함으로써 얻는 이익은 많기 때문에, 특수한 목적을 위한게 아니라면, 개인적으로 저 위치 서비스 설정을 굳이 건들 필요가 없다고 생각합니다. 






이상입니다.