Mobily의 Abdulaziz Khan 님이 보내온 기고글입니다.
'지연 시간 (latency)'은 일반 사용자에게도 일부 숙련된 사용자에게도 새로운 단어다. 우리는 일반적으로 Mbps급 속도를 지원하는 통신 링크의 장점에 대해서만 알고 있다.
많은 기기가 있는 집이나 사무실에서 좋은 연결 상태를 원할 경우, 우리는 경험상 예상되는 사용량에 따라 30, 50 또는 100Mbps 같은 고속 연결을 갖고 싶어한다.
설치 당일 수행되는 유일한 테스트는 속도 테스트로, 이는 획득 가능한 최고 속도 급의 다운링크 속도를 보여준다.
따라서 우리가 좋은 상태의 고속 링크를 가지고 있다면 latency는 어디서 오는 걸까? 주식 거래 앱을 이용하는 한 사용자를 예로 들어보자. 그가 저가의 주식을 발견하고 이 주식을 원하는 가격으로 매수하려 한다. 하지만 주식 가격은 변해버리고 앱은 매수 요청이 거절되었다고 응답한다. 사용자가 30Mbps 링크로 인터넷에 연결되어 있고 요청메시지는 kbps 정도밖에 안되지만 정해진 시간 안에 목적지에 도달하지 못한 결과 그의 매수 요청은 실패한다.
또 다른 예로 네트워크 기반 게임이 있다. 여러 플레이어가 서로 경쟁하는 가운데 특정 플레이어가 인터넷에 100Mbps로 연결되어 있음에도 불구하고 계속해서 게임서버에 접속이 끊어진다.
위에서 든 예들과 이와 유사한 것들은 latency가 스윕되는 곳이다. Latency는 데이터가 네트워크의 한 지점에서 다른 지점에 도달하는데 필요한 시간으로, 일반적으로 데이터가 어플리케이션 서버를 떠나 사용자 기기에 도달할 때까지의 시간 차이를 말한다 (그 반대도 마찬가지이다). 또한 어떤 경우에는 Round Trip Time (RTT; 왕복 시간)으로, 데이터 패킷이 사용자를 떠나 목적지로 왕복 후 돌아오기까지 걸리는 시간이다. 아래 그림에 두 시나리오가 나타나 있다.
'PING'을 이용하면 당신 기기에서 관심 있는 서버까지의 RTT를 쉽게 알 수 있다.
실제로 어떤 서버도 사용자가 트랜잭션을 끝낼 때까지 영원히 기다릴 수는 없다. 정해진 시간 안에 응답을 받지 못하면 사용자가 트랜잭션에 관심이 없다고 보고 거절해버린다. 앞에서 예를 든 주식 거래 앱에서처럼 말이다. 사용자가 특정 주식 가격을 쿼리하면 표시해 주지만 가격은 계속해서 변하므로 고정된 채 있지 않다. 앱은 사용자의 요청이 네트워크 문제로 인해 늦게 도달하는 건지 당신이 늦게 응답을 보내는 건지 알지 못하므로, 응답이 제 시간 안에 오지 않으면 사용자 주문을 거절한다.
이에 대한 해결책은 무엇일까?
당신이 홈 사용자라면, 인터넷 서비스 제공업체가 일반 사용자의 최소 또는 평균 latency를 보장하지 않기 때문에 마땅한 해결책이 없다. 대부분의 앱들은 네트워크 상에서 다양한 latency를 겪을 수 있다는 점을 고려하므로 이에 의존해야 한다.
그러나 당신이 한 조직의 IT 관리자이고 조직에 적합한 인터넷 연결을 확보하기 위해 협상하는 경우라면, 서비스 계약에 latency를 추가해야 하고 서비스 제공자에게 당신 조직의 연결에 대한 최소 평균 latency를 보장해줄 것을 요구해야 한다.
Abdulaziz Khan Technical Consultant at Mobily
All Articles by Abdulaziz Khan (영문) |