더북(TheBook)

그림 4-17에서 최적화를 하기 전에는 A~D를 처리하는 데 메시지가 총 네 번 오가며, 메시지 네 번이 오가는 시간이 소요됩니다. 클라이언트와 서버 간 전송에 걸리는 시간, 즉 레이턴시가 0.05초면 그림 4-17에서는 0.2초나 되는 긴 시간을 차지합니다.

하지만 이를 최적화해서 A, C를 보내고 B, D를 같이 회신해 줄 수 있다면 어떨까요? 이렇게 하면 메시지는 총 두 번 오가면 되고 소요 시간도 0.1초로 줄어듭니다.

서비스 성능을 개선하려면 서버뿐만 아니라 네트워크 전송 시간을 줄이는 것도 매우 효과적입니다. 클라이언트와 서버 간 데이터 통신에 걸리는 시간을 줄이는 비싸지만 빠른 방법은 고품질 네트워크 회선을 가진 데이터센터에 서버를 설치하는 것입니다.

지리적으로 가까운 데이터센터에 서버들을 분산해서 설치하는 것도 좋은 방법입니다. 실제로 많은 게임 서비스가 이 방식을 채택합니다. 물론 플레이어 두 명이 같은 게임 안에서 대결을 하는데, 두 플레이어가 서로 지구 반대편에 있다면 이는 답이 없습니다. 이것을 최소화하고자 반강제로라도 지리적으로 가까운 플레이어끼리 서로 플레이를 하게 유도하는 것이 좋습니다.

p209_2

▲ 그림 4-18 지리적으로 가까운 데이터센터에 서버 분산

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.