"영원회귀: 블랙서바이벌" 전적검색이 느린 이유 분석

카테고리 : 소개/IT분석

영원회귀: 블랙서바이벌 이용자들은 전적검색이 느리다는 불평을 가지더군요.

확인해보니 아무리 빨라야 결과는 5초이상 걸리고, 페이지가 안열리는 일이 허다하더라고요.

공식 전적검색 사이트는 http://matchhistory.playeternalreturn.com/kr 입니다.

 

그 원인을 간단히 분석해보도록 하겠습니다.

 

 

서버

먼저, 서버정보입니다. 서버 사양은 좋으면 좋을수록 빠를수밖에 없습니다.

  • 위치 : 미국
  • 운영사 : Heroku

블랙서바이벌의 전적검색사이트는 Heroku라는 클라우드 서버제공업체를 이용합니다.

 

서버의 가격은 $0 ~ $500 / month 이며, 기업용 제한없는 서버는 비용협의를 하도록 되어있습니다.

아마도 $50 이하 정도의 서버를 사용중일것으로 추정되나 정확히 알 방법은 없습니다.

 

 

 

최적화

최적화는 같은 자원을 두고 얼마나 효율적으로 처리하는가를 알 수 있습니다.

전적검색을 사용하면 이미지 로딩과 정보로딩 크게 두가지 과정이 있습니다.

 

이미지 최적화

안 되어있습니다. 이미지는 자주 변하는 리소스가 아니라서 대부분의 사이트에서 6시간 이상을 브라우저 캐시하도록 설정을 하지만, 검색시마다 서버에서 로딩하도록 설정이 되어있습니다.

이 경우 서버는 트래픽이 많이 사용되어 비용소모가 클 수 있고, 사용자는 이미지 로딩이 느려 불편할 수 있습니다.

 

게다가 이미지 크기가 표시되는 크기에 비해 너무 큰 원본이미지를 사용하여 속도는 더 느릴수밖에없습니다..

 

정보로딩 최적화

정보는 API 엔드포인트에서 정보만 불러와서 페이지에서 가공하는게 아닌, HTML을 전부 작성해서 전달합니다.

이런방법은 구식 방법중 하나인데, 서버에서 불필요한 작업을 많이 하게되어 최적화에 방해가 됩니다.

 

서버에서는 필요한 정보만 가공해서 전달하고, 웹상에서 HTML으로 처리하여 정보를 표시하면 대략 10배이상 처리량이 가벼워지지 않을까 생각됩니다.

 

프로토콜 최적화

http프로토콜의 최신버전은 http3입니다.

현재 대부분의 브라우저에서 http2를 지원하며, 속도가 매우 빠르고, 병렬처리또한 가능합니다.

그러나 블랙서바이벌 전적검색 사이트에서는 http1.1을 사용중입니다.

 

이미지 로딩시 이미지 한개를 전부 로딩해야 다음 과정으로 넘어가기 때문에 굉장히 낮은 대역폭을 사용할 수 밖에 없습니다.

http2는 https를 사용중일때에만 적용가능합니다.

 

 

 

어디서 느린가요?

전적검색시 속도측정

전적 정보를 불러올때,

TTFB에서 6.85초를 사용하고

Content Download에 0.40063초를 사용했습니다.

 

TTFB는 서버 처리과정으로 서버의 처리속도를 나타냅니다.

Content Download는 네트워크속도입니다.

한국서버 이용시 Content Download속도는 보통 100ms 이하입니다.
제 경우 다음카카오는 30ms 이하정도로 나옵니다.

 

중요한건 TTFB입니다.

서버성능이 안좋거나 다른서버(실제 서버)로 정보를 불러오는 중간서버가 아닌가 싶습니다.

 

서버가 느릴때는 몇가지 이유가 있습니다. 자세히는 다루지 않을 예정입니다.

  1. DB 서버가 안좋은경우(읽기속도가 느리거나, Ram이 적어 인덱싱이 어렵거나)
  2. DB 쿼리가 안좋은경우(불필요한 작업을 많이하게 명령어를 작성하는 경우)
  3. 서버 성능이 안좋은경우(서버가 처리할수 있는 양을 벗어나는경우)

 

아마존 서버를 사용하는 도메인은 빠르던데, 아마도 비용문제가 아닌가 싶습니다.

회사가 돈을 벌어서 보완을 하던가, API형태로 배포하면 더 나아지지 않을까 싶습니다.

 

IT분석


원하는 서비스를 분석요청하실 수 있습니다. (댓글로 남겨주세요.)

다만, 몇 가지 제한사항이 있습니다.
1. 정보통신망법률을 위반하지 않는 경우에만 가능합니다.
    1. 리버스 엔지니어링은 하지 않습니다. (EXE파일, 난독화파일 등 분석작업은 하지 않습니다.)
    2. 개방된 서비스만 신청이 가능합니다. (누구나 접근가능해야되며, 암호화등 숨겨진 서비스는 불가)
    3. 임의변경을 시도해야하는 경우는 받지 않습니다.
2. 관심을 가지고 있는 사용자가 많은 내용만 분석 신청가능합니다.

신청은 댓글 또는 방명록에서 해주세요.

 

저작권 보호안내
무단 전재, 재배포 행위는 금지됩니다. (글을 복사하여 게시금지)
본문의 일부(링크용 문장) 인용은 가능하지만, 출처와 링크(a 태그)를 남기셔야 됩니다.
(웹툴을 이용하고, 스크린샷/녹화하는것은 상관없습니다.)

예외적으로. 저에게 허락받은 경우에는 본문을 전재할 수 있습니다.

만약, 본문 공유를 원하신다면 링크 공유를 해주세요

저작권 정책 확인하기
링크 공유하기

 댓글