2016년부터 가상서버 호스팅업체인 Vultr에서 가상서버를 사용해 왔습니다. 일본 도쿄에만 리젼이 있기 때문에 상당히 아쉬웠는, 이번에 Vultr 서울 리젼이 새롭게 생겨서 바로 설치 및 테스트 해봤습니다.
그동안 도쿄 리젼에 서버를 설치해 사용했었기 때문에 Vultr 도쿄 리젼과 Vultr 서울 리젼의 속도 등을 간단히 정리해 Vultr 사용기를 정리해 봤습니다.
뭐 이미 아마존 웹 서비스(AWS), 구글, 마이크로소프트 애저등이 글로벌 클라우드 업체들이 우리나라에 리젼을 두고 있지만 이들 서비스 비용은 상대적으로 비쌋기 때문에 아쉬웠는데, Vultr 서울 리젼이 생기면서 선택권이 크게 높아졌습니다.
Vultr 서울 리젼 테스트는 같은 회사의 도쿄리젼과 비교했습니다. 지금 당장 비교가 용이하기 때문에….
서울과 도쿄의 서버 사양
우선 이전 도쿄 리전에서는 가장 성능이 좋다는 월 24$짜리 RAM 4GB, 2CPU와 NVMe Storage(M.2 SSD 일종)가 적용된 120GB짜리 하이 프리퀀시(High Frequency)를 적용했었습니다. OS는 우분투 18.04, PHP 7.3을 적용했습니다.
반면 이번에 새롭게 설치한 Vultr 서울 리젼에는 하이 프리퀀시(High Frequency) 옵션이 없기 때문에 20$짜리 RAM 4GB, 2CPU, 일반 SSD 80GB짜리 클라우드 컴퓨터(Cloud Computer) 옵션을 선택했습니다.
그렇지만 서울 리젼 서버 세팅 SW는 최근에 업데이트된 OS 및 PHP 버젼들을 적용해, 우분투 20.04와 PHP 7.4를 적용했습니다. DB는 두군데 모두 MariDB 10.4안정화 버젼을 적용
아래 간단히 Vultr 서울과 도쿄에서 설치한 사양을 비교해 보았습니다.
구분 | 서울 리젼 | 도쿄 리젼 | 비고 |
적용 상품 | 클라우드 컴퓨터 (Cloud Computer) | 하이 프리퀀시 (High Frequency) | 서울은 하이 프리퀀시 옵션 없음 |
CPU | 2 CPU (클럭은 모름) | 2 CPU 3GHz+ 라고 주장 | |
Storage | 일반 SSD 80GB | NVMe Storage 128GB | |
RAM | RAM 4GB | RAM 4GB | |
OS | 우분투 20.04 | 우분투 18.04 | |
DB | MariaDB 10.4 | MariaDB 10.4 | |
PHP | PHP 7.4 | PHP 7.3 |
Vultr 서울 리젼과 도쿄 리젼 성능 비교
속도에 영향을 미치는 요인이 여러가지가 있기 때문에 정확한 비교는 될 수 없습니다. 어느 정도 성능 차이가 나는 PHP 버젼이 다르기 때문에 더욱 그렇 수 있는데요.
하지만 PHP 버젼이 미치는 영향은 제한적이기 때문에 여기서 나온 성능, 속도 차이는 어느 정도 인정할 수 있을 것입니다.
핑테스트
가장 기본적으로 핑 테스트를 해보니 도쿄는 안정적으로 37ms가 나오네요.. 예전에는 35 ~45ms정도 나왔던 것 같은데 비슷한 수준입니다.
반면 서울리젼은 국내에 있다보니 3ms 정도로 빠릅니다. 이런 속도가 나오는 것은 거의 못보다시피해서, 핑속도 3ms를 보내 무지 반갑더군요.
아무리 생각해도 예전 국내 웹 호스팅 서비스를 이용하던 시기에도 이런 속도는 보지 못했던 것 같습니다. 그때는 국내에 있었는데 왜 그랬는지 조금 이아하긴 합니다.
서버 성능테스트
sysbench를 이용해 간단히 두 서버 성능을 테스트 해보았습니다. 사용 명령은 아래와 같습니다.
## CPU 성능 테스트 명령
sysbench cpu --events=10000 --cpu-max-prime=20000 --time=0 run
### 매모리 read & write 테스트 명령
sysbench --test=memory --memory-block-size=1K --memory-scope=global --memory-total-size=100G --memory-oper=read run
sysbench --test=memory --memory-block-size=1K --memory-scope=global --memory-total-size=100G --memory-oper=write run
### Disk 성능 테스트 명령
sysbench --test=fileio --file-total-size=8G prepare && sysbench --test=fileio --file-total-size=8G --file-test-mode=rndrw --max-time=300 --max-requests=0 run && rm -r test*
Code language: PHP (php)
아래 두곳의 서버 성능 테스트 결과를 정리해 보았습니다. 아무래도 하이 프리퀀시(High Frequency) 옵션을 적용한 도쿄가 디스크에서는 40%정도, 메모리는 10%정도 그리고 CPU는 20% 정도 성능이 좋게 나옵니다.
Webpage 테스트
웹페이지 테스트는 webpagetest.org에서 크롬 데스크탑 기준으로 테스트해봤습니다. 이 테스트 조합이 기존에 계속 해왔던 조합이므로 감을 잡기 좋았기 때문에 선택했습니다.
아래는 Vultr 서울 리젼에 신규 설치 후 저녁 시간에 테스트한 결과입니다. 한국에 서버가 있다보니 저녁에도 잘 나오는 것 같네요.
webpagetest.org에서 테스트한 위 테스트트 내용을 자세히 보려면 여기 링크를 클릭해 보세요.
TTFB(Time To First Byte)
먼저 사이트 속도에서 가장 중요한 지표라고 알려진 TTFB(Time To First Byte)를 보죠. TTFB는 이용자가 사이트에서 어떤 명령을 요청했을 때 서버가 반응하는 시간입니다.
도쿄리젼을 사용 시 아무래도 물리적 거리가 있기 때문에 0.4~0.5초 정도 걸렸습니다. 아슬아슬하게 커트라인에 걸리는 수준…평시에는 -.4초 초반대가 나오지만 저녁 시간에는 0.5초가 넘기도 합니다.
서울리젼은 조금 더 빨라져서 0.2초대가 나옵니다. 구글에서 제시하는 기준으로는 안정적인 속도를 보여줍니다.
Start Rending
렌더링 시작 시간은 사이트 콘텐츠 등을 인식해서 웹 브라우져에 페이지 내용을 뿌려주기 시작하는 시간입니다.
개인적으로 이 지표가 가장 중요하다고 생각하는데요. 이는 이용자에게 실제로 웹 페이지 콘텐츠가 보여지기 시작하는 시간이므로 이용자는 실제로 웹 페이지가 나의 요청에 반응하기 시작는구나라는 느낄 수 있는 순간이기 때문에, 이용자가 실제로 사이트 속도를 평가는 지표가 될 수 있습니다.
이 렌더링 시작시간은 도쿄리젼이나 서울리젼이나 비슷하게 0.9초정도 걸렸습니다.
비록 서울리젼이 서버 사양이 더 떨어지지만 지리적 거리의 우위를 기반으로 도쿄리젼과 비슷한 속도를 보여주기 때문에 굳이 비싼 옵션을 사용할 필요가 없습니다. 아니면 비싼 옵션, 하이 프리퀜시(High Frequency)가 서울에서도 적용 가능해지면 더욱 더 속도가 좋아질 것 같습니다.
Largest Contentful Paint
보통 사이트에서는 광고등과 같이 전체 로딩 속도를 느리게 만드는 요소들이 있기 마련입니다.
다행히도 이런 요소들은 다른 콘텐츠가 전부 보여진다면 마지막으로 보여지도록 세팅된 경우가 많은데요.
이런 부가적인 요소를 제외하고 텍스트, 이미지, 동영상 등 그 페이지에서 중요한 콘텐츠 요소들이 다 보여지는 시기간이 언제인지도 중요한 체크 포인트입니다.
그 페이지의 중요한 순수 콘텐츠들이 다 보여지는 시간이 얼마나 걸리느냐가 사용자들에게는 중요하죠. 광고가 아직 보이지 않는 것은 이용자 입장에서는 별로 개의치 않을 수 있죠.
webpagetest.org에서는 이를 측정하는 항목이 Largest Contentful Paint인데요. Vultr 서울 리젼의 겨우 1.8초 정도로 나옵니다.
즉 위에서 설명한 렌더링 시작 시간인 0.9초부터 1.8초 사이에 대부분의 콘텐츠가 보인다는 것입니다.
도쿄 리젼의 경우는 렌더링 시간이 0.9초로 비슷했지만 이미지 다운등에서 시간이 걸리기 때문에 2.1초정도 걸립니다. 물론 이는 이미지 갯수나 사이즈 증에 비해서 달라집니다.
웹 페이지 테스트 결과, 서울에 설치한 사이트가 조금 더 빨리 콘텐츠를 보여 줍니다.
마치며
Vultr 서울 리젼을 오픈했다는 소식을 듣고 솔직히 상당한 기대를 했습니다. 도쿄와 비교해서 상당한 정도의 속도 개선이 있을 것 같다는 것이었죠.
그러나 실제 설치해보니 사이트 자체가 가진 한계인지는 몰라도 획기적인 속도 개선이라기 보다는 조금 더 빨라지고 훨씬 더 안정화 되었다고 평가할 수 있을 듯합니다.
Vultr 도쿄 리전을 사용하면 평소에는 쓸만한 속도가 나오지만 해외망 속도가 저하되는 저녁 무렵등은 상당한 속도 저하를 감수할 수 밖에 없었는데요. 서울리젼이 생기면서 이런 해외망의 영향을 받지 않아도 되었습니다. .
그렇기에 상대적으로 낮은 사양으로도 이전에 고성능 서버와 비교해서 속도면에서 동등해질 수 있었습니다.
[참고] Vultr 서울 리젼 서버 설치 화면
Vultr 서울 리젼을 이용하기 위해 서버 설치 과정을 간략히 정리해 봤습니다.
서버 종류 선택
Vultr 서버 종류에는 클라우드 컴퓨터(Cloud Computer), 하이 프리퀜시(High Frequency), 베어 메탈(Bear Metal), 델리케이티드 클라우드(Delucated Cloud)가 있는데요.
아쉽게도 서울 리젼에는 아직 클라우드 컴퓨터(Cloud Computer)만 이용 가능합니다. 클라우드 컴퓨터(Cloud Computer)는 기본 가상서버라고 할 수 있죠.
클라우드 컴퓨터(Cloud Computer)보다 고성능 CPU와 더 빠른 M.2계열 SSD를 사용해 속도를 더 높인 것이 하이 프리퀜시(High Frequency)입니다.
아마 대용량 서버에서는 확실히 속도 차이를 많이 느낄 수 있지만 일반 사이트 운영시는 큰 차이는 없었습니다. 개인적인 경험..
그렇기에 서울 리젼이 생겼으면 국내라는 이점이 있기 때문에 클라우드 컴퓨터(Cloud Computer)만으로도 충분히 빠른 속도가 가능할 것으로 보입니다.
서버 지역
서버 지역은 당근 서울을 선택해야죠. 리스트가 Tokyo 다음에 있어 조금 기분이 나쁘지만 서울에 리젼을 만들어 주었다는 점에서 용서하기로 하죠.
얼마나 속도가 빨라질지 기대가 됩니다.
서버 타입 및 서버 사이즈
저는 계속 우분투를 사용했기 때문에 우분투 20.4를 선택했고, 서버 사이즈는 우선 2cpu 짜리를 선택했습니다.
그외 기타 설정은 기본으로 변경하지 않았습니다.