개인 자료란 (JE)

  서버 커뮤니티

Profile A3xB 대표칭호 없음
Profile

커뮤니티 소통 잡담하기

서버 호스팅, 무엇이 좋고 무엇이 나쁜가에 대하여...

2022.05.27 조회 수 7198 추천 수 2

서버 호스팅, 무엇이 좋고 무엇이 나쁜가?


목차

1) 글을 시작하며

2) 마인크래프트 서버 : 싱글스레딩과 명당 램 사용량에 대한 이해

3) 호스팅 업체 : 일반적인 호스팅이 마인크래프트 서버에 적합하지 않은 이유

4) 서버 호스팅 : 대신 호스팅이 줄 수 있는 여러 장점들

5) 글을 마치며


1. 글을 시작하며

한국에는 정말 다양한 마인크래프트 서버가 존재한다. 서버들은 다양한 버전과 컨텐츠로 우리들에게 자신들의 서버로 오라고 손짓한다.


그런데, 우리들이 플레이 하는 '서버'는 과연 어떤 식으로 구동이 되고, 유지되고 있을까? 이러한 궁금증을 기반으로 이 글에 대해 작성하게 되었다. 또한 한국의 다양한 마인크래프트 서버 '호스팅' 업체에 대해서도 글쓴이가 느낀 바를 글에 담고자 한다.


2. 마인크래프트 서버 : 스레드와 램 사용량에 대한 이해

본격적인 호스팅에 대한 설명에 앞서, 마인크래프트 서버가 어떻게 작동하고, 서버 리소스를 어떻게 사용 하는지에 대해 알아보고자 한다.

많은 사람들이 알고 있다시피, 마인크래프트 서버는 java 언어를 기반으로 작성된 서버 구동기 위에서 작동한다. 하지만 대부분의 사람들은 마인크래프트 서버가 하나의 '스레드'만을 사용할 수 있는, 즉 '싱글 스레드'를 기반으로 한다는 사실을 잘 모르는 경우가 많다. 


문제는 마인크래프트 서버가 '싱글 스레드'를 기반으로 하고 있다는 점에 있다. 마인크래프트 서버는 하나의 스레드에서 거의 모든 작업(paper 버킷, 최신버전에 따라 월드 생성이나 채팅 등은 다른 스레드로 분리해서 처리하기도 한다.)을 처리한다. 이로 인해 서버는 4코어

각각 메인루프(거의 모든 온그라운드 게임 시스템 포함), 청크 로딩(개수 제한 없음. 많을수록 좋게 최근에 변경되었으나 메인루프가 답답해짐.), 채팅, 네트워크에 할당되었다.

이상을 잘 활용하지 못한다. 4코어 이상을 잘 활용하지 못하는 이유는 개조된 서버 구동기들 중 대부분이 mojang의 바닐라 코드를 사용하기 때문에, 아무리 paper와 spigot등의 개조된 서버 구동기를 사용한다 한들, 결국 최적화가 덜 된(흔히 발적화라 부른다.) 심한 바닐라 서버 구동기를 기반으로 하기 때문이다.


몰론 minestom같이 서버 구동기를 처음부터 완전히 재작성한 경우라면 이러한 싱글 스레드 문제에 직면하지 않을 것이다.

하지만 대부분의 서버 운영자의 경우 서버 구동기로 paper, spigot등의 유명한 바닐라 기반 서버 구동기를 채택하기 때문에 이 문제는 사실상 대부분의 서버에 공통적으로 적용되는 것이라 할 수 있겠다.


다음으로는 서버에서 ‘사용하는 램 용량’과 ‘플레이어 수’, ‘플러그인 수’ 간의 관계를 다루고자 한다.


마인크래프트 서버는 특히나 많은 램을 사용하는 프로세스로 유명하다.


마인크래프트 서버가 램을 많이 사용하는 프로세스임은 틀림없는 사실이다. 하지만 이를 “명당 n GB” “플러그인 n개당 m GB” 와 같은 식으로 계산하는 것에 대해서는 비추천하고 싶다.


마인크래프트 서버는 단순히 플레이어와 플러그인 개수에 의해서 사용하는 총 램의 용량이 결정지어지는 프로그램이 아니다. 물론 플레이어와 플러그인의 수가 가장 주된 램 사용량을 차지하는 것은 맞지만, 플레이어 수 뿐만 아니라 플레이어가 얼마나 활동적으로 이동하는지, new chunk(한번도 로딩 되지 않은 청크로, 이 곳에 플레이어가 가까이 가면 서버는 이 청크를 생성하기 위해 추가 램과 CPU 자원을 사용한다)에 접근하는 빈도는 얼마나 되는지, 플레이어당 렌더 가능한 청크와 엔티티의 수는 얼마인지 서버 장르가 무엇인지 또한 고려해야 할 대상이며, 플러그인의 경우 플러그인의 사용 용도와 목적에 따라 사용하는 램의 용량이 크게는 수십 배 정도 차이 날 만큼 그 격차가 크므로 명당 n GB와 같은 계산 방식은 일반화의 오류라 할 수 있겠다.

(여담으로 서버 운영자 분들이 렉을 줄이려 사용하는 Mobstacker 또는 ClearLagg, EntityTrackerFixer(ETF)와 같은 플러그인은 한없는 몹 스폰의 굴레에 빠지게 하며, 이미 존재하는 작업(예: 그라운드 항목 지우기 및 엔티티 추적 해제)에 대해 불필요한 작업을 생성하고, 때때로 엔티티에 영구적인 손상을 일으킬 수 있습니다.)


정리하자면,

  • 마인크래프트는 싱글 스레딩을 ‘기반’으로 하는 프로세스이다

  • 이로 인해 마인크래프트 서버에서는 일반적인(paper, spigot 구동기 등등) 구동기의 경우 4코어 이상의 CPU를 효율적으로 사용할 수 없다.

  • 마인크래프트 서버의 램 사용량은 “명당 n GB” “플러그인 n개당 m GB”와 같은 단순한 계산 방법으로 계산하기엔 무리가 있으며 보다 많은 사항을 고려해 계산하는 것이 좋다.


3. 호스팅 업체 : (국내)호스팅이 마인크래프트 서버에 적합하지 않은 이유

마인크래프트 서버를 열고자 하거나, 열 계획이 있는 유저들은 한번쯤 ‘호스팅’이라는 것에 대해서도 들어본 바 있을 것이다. 


호스팅(hosting)은 마인크래프트 서버 뿐만 아니라, 다양한 프로세스를 돌릴 수 있는 환경인 서버 컴퓨터를 ‘임대’해주고 그 대가를 받는 서비스라 할 수 있다.


사실상 이 글을 작성한 주된 이유는 일부 호스팅 업체들이 홍보하는 일부 잘못된 사실에 대해 지적하고, 보다 서버 운영자로서 합리적인 플랜을 계획할 수 있도록 하기 위해서이다.


이 글에서는 ‘마인크래프트 서버’를 호스팅 할 수 있다고 광고하거나, 마인크래프트 서버 만을 전문적으로 호스팅 한다고 광고하는 업체에 대한 주관적인 생각이 담겨 있습니다.

이 글에서는 모든 호스팅 업체를 다룰 수 없으며, CPU 모델명이 알려진 서버 호스팅 서비스를 중점적으로 다루고 있음을 안내 드립니다.

이 글에서는 cpubenchmark.net 사이트에서 제공하는 유저들의 벤치마크 평균 점수 비교를 인용했습니다. 실제 성능과 조금의 차이가 있을 수 있습니다.

이 장에서는 호스팅 업체의 단점을 서술하고 있습니다. 호스팅 업체의 장점을 확인하고 싶으신 분들은 4장을 확인해 주시길 바랍니다.


마인크래프트 서버 호스팅 업체들을 살피다 보면, 많은 호스팅 업체들이 내걸고 있는 홍보 문구는 다음과 같음을 알 수 있다.

  • ‘렉 걸리지 않는 고사양 서버’

  • ‘고성능 XEON 서버’[호스팅 업체 K사의 홈페이지 문구 인용]

  • ‘저렴한 가격’[호스팅 업체 M사의 홈페이지 문구 인용]

  • ‘DDoS 공격 방어’

얼핏 보면, 그저 마인크래프트 호스팅 서버가 아닌 다른 호스팅 업체에서도 자신들을 홍보하는 흔한 문구일지도 모른다.

 

하지만 홍보 문구 중 하나인 ‘고성능 XEON 서버’ 의 경우 마인크래프트 서버 용도에 한해서는, 다시 한번 곰곰히 생각해볼 필요가 있다.

 

앞서 마인크래프트 서버는 ‘싱글 스레드’를 기반으로 작동하는 서버라고 말한 바 있다. 이를 풀이하면 마인크래프트 서버는 여러 개의 코어를 효율적으로 활용할 수 없는 프로세스라는 말이 되는데, 호스팅 업체에서 주장하는 ‘고성능 XEON’ CPU는 정작 싱글스레드 성능 에서는 일반 소비자용 라인업 CPU에 밀리는 경우가 상당수이다.

 

예를 들어, 국내의 한 호스팅 업체 S사에서 VPS에 제공하는 것으로 알려진 CPU와 가정용 CPU 라인업인 인텔 i3(사무용으로 주로 사용되는 CPU이다) 12세대 12100 제품을 비교하면 :



[왼 -> 오른쪽 순으로 각각 S사 ‘highend’ VPS 제품, S사 ‘save’ VPS 제품, i3-12100[가정용 CPU]]

위와 같은 유저들의 벤치마크 평균 점수를 조회할 수 있는데, 여기서 주목해야 할 점은 다음과 같다.

 

① : 순서대로 코어와 스레드의 개수를 나열해 둔 것을 볼 수 있다. 3개의 제품 모두 코어와 스레드 수가 1:2 비율인 것을 보아 ‘하이퍼스레딩[1코어당 2스레드가 할당되는 기술]’ 이 적용된 것을 볼 수 있다.

② : 마인크래프트 서버 구동에 있어 중요한 성능 지표가 되는 싱글 스레드 성능을 나열해 둔 것을 볼 수 있다. 이 부분에서 가정용 CPU 제품군인 i3-12100이 2배에 가까운 성능 격차를 보이고 있음을 확인할 수 있다.

③ : CPU의 멀티 스레드 성능을 나열해 둔 것을 볼 수 있다. 이 부분에서 S사 ‘highend’ 제품 > i3-12100 > S사 ‘save’ 제품 순서로 점수가 벌어지는 것을 확인할 수 있다.

 

또 다른 예로, 국내의 한 호스팅 업체 G사에서 클라우드 호스팅에 제공하는 것으로 알려진 CPU와 가정용 CPU 라인업인 인텔 i3-12100을 비교하면 :

 

마찬가지로 동일하게 점수 비교가 가능하다.



[왼 -> 오른쪽 순으로 각각 G사 ‘클라우드 호스팅’ 제품에서 선택 가능한 CPU들,  i3-12100[가정용 CPU]]

① : 앞서 비교한 S사의 CPU와 동일하게 모든 제품에 동일하게 ‘하이퍼스레딩’ 기술이 적용되어 있다.

② : 싱글 스레드 성능 에서는 앞서 소개한 S사에 비해 더 큰 차이를 볼 수 있었다. i3-12100이 나머지 3개의 제품 모두에서 2배가 넘는 성능 격차를 보여주었다.

③ : 놀랍게도 i3-12100과 비교했을 때에도 멀티 스레드 성능이 크게 뒤쳐지는 것을 확인 가능하다.


이처럼, 마인크래프트 서버 호스팅 업체들이 주장하는 고사양 XEON 서버는 싱글 스레드 성능 면에서 성능이 현저히 떨어지는 모습을 보인다.

 

물론 글쓴이 역시 호스팅 업체는 ‘안정성'을 ‘성능’보다 우선시하기에 이러한 XEON CPU를 선택함을 잘 인지하고 있다.


하지만, 문제는 서버용 CPU를 마인크래프트 서버에 적합한 고성능 CPU로 홍보하는 일부 업체에 있다고 생각한다. 심지어는 조사 과정에서 대부분의 마인크래프트 서버 호스팅 업체(혹은 업체라 주장하는)들이 그저 XEON CPU 라고만 기재해둔 것도 확인 가능했다.

 

심지어 호스팅 업체 중 일부는 단독 서버 호스팅을 알아보시는 것도 아닌데.. 왜 CPU 를 질문하실까? 와 같은 글쓴이 입장에서는 이해할 수 없는 발언을 하기도 한다. 가상 서버가 단독/분리형 서버 호스팅에 비해 CPU의 성능이 비교적 덜 중시 되는 것은 맞지만, 분명 마인크래프트 서버와 같은 특수한 게임 서버 등을 운영하고자 할 때에는 CPU의 싱글 스레드 성능이 중요시 되는 것을 호스팅 한다고 홍보하고, 정작 고객이 CPU 사양에 대해 질문할 때는 답변을 회피하는.. 이는 글을 읽는 독자들에게 판단을 맡기겠다.

 

글쓴이는 마인크래프트 호스팅 업체들이 소비자로 하여금 좀 더 객관적인 자료를 바탕으로 서버의 성능을 파악할 수 있도록 CPU 모델명을 기재하는 등 노력해 주었으면 한다.


이 뿐만이 아니라 일부 서버 호스팅 업체에서는 네트워크 안정성과 스토리지 구성에 있어서도 부실한 부분을 보이기에 더욱 큰 문제라고 생각한다.


또한 ‘저렴한 가격’ 부분에 있어서도 마인크래프트 서버를 구동하고자 하는 사람들에게는, 다시 한 번 고려할 필요가 있다고 생각한다.


마인크래프트 호스팅 업체들은 평균적으로 1vCore 1GB RAM 부터 VPS 상품을 만들어 출시하고 있음을 볼 수 있다.


하지만 시작 가격이 평균적으로 월 1 만원 정도부터 시작함을 알 수 있다.


반대로 한 유명 대기업 O사의 ‘클라우드 컴퓨팅’ 서비스에서 프리 티어(평생 무료 기준)로 제공 중인 상품을 확인해보면 :

  • 4OCPU(=vCore) 24GB RAM 인스턴스 무료 제공(ARM 기반 CPU, 선착순 형태)

  • 200GB block volume(인스턴스에 연결 가능한 스토리지, 최대 속도 288MB/s)

  • 10TB outbound traffic(인스턴스로 ‘들어오는’ 트래픽은 무제한, 망 속도 1Gbps 보장)

  • 고정 IP 2개 무료(경우에 따라 일본 쪽 IP를 할당 받기도 하나, 지연 속도에는 차이가 없음)

와 같이 소규모 서버를 운영하기에는 충분한 수준의 인스턴스를 무료로 제공한다.


만약 읽는 이가 대규모 서버를 준비 중이라 가정하고 O사의 호스팅과 M사의 최고급 라인업의 가격을 비교해보면

M사가 제공하는 10 가상 코어, 96GB 램, 40G SSD 서버를 72 만원에 제공하나


대기업 O사가 제공하는 10 가상 코어(5 OCPU), 96GB 램, 40G SSD의 서버는 월 242,737.77원에 이용할 수 있다.


게다가 M사에서 기본적으로 제공하는 SSD의 양은 야생 서버와 같이 월드 용량이 큰 서버를 열기에는 많이 부족하다.


물론 O사에서 제공하지 않는 것으로는 해외 결제가 가능한 카드를 제외한 모든 결제 수단과 한국어 24시간 상담 서비스 등이 있으므로 영어로 소통하는 것에 익숙하지 않거나(수고롭더라도 번역기를 사용하는 방법도 있다.) 문화상품권 등으로의 결제를 원하는 운영자에게는 부적합하다 볼 수 있다.


물론 호스팅 업체에서는 아무래도 가정 환경과는 많이 다르다 보니 집에서의 전기세와 인터넷 비용을 호스팅 업체에서도 똑같이 요구하기는 힘들다는 것을 글쓴이도 충분히 인지하고 있다.


하지만 자신이 인스턴스와 리눅스에 대해 잘 알고 있는 운영자이고, 초대형 서버를 운영하지 않는 경우 굳이 월 n만원을 내 가면서 까지 한국 서버 호스팅을 사용할 필요까지는 없다는 게 글쓴이의 개인적 의견이다.


글쓴이가 국내 호스팅 업체에서 지적하고 싶은 점은 객관적인 자료 미흡과 소비자 기만적인 모습이다.


하지만, 국내 호스팅 업체들 중 일부는 자신들의 가상 서버에 사용되는 CPU 모델을 기재하지 않거나, XEON 서버가 마인크래프트 서버에 적합하다고 홍보하는 모습을 보인다.


글쓴이는 이러한 모습에 대해 매우 부정적이며, 이러한 행태가 소비자의 합리적 선택을 방해하고, 기만한다고 생각한다.


4. 호스팅 업체 : 대신 호스팅 업체가 줄 수 있는 장점들

호스팅 업체가 소비자들에게 줄 수 있는 장점 또한 분명히 있다.


우선, 호스팅 업체들 중 많은 업체들은 유저들이 끊김 없이 서비스를 제공 받을 수 있도록 SLA를 보장한다. 예를 들어 SLA 99% 라 한다면 한달 중 호스팅 업체의 과실로 인해 서버가 작동하지 않는 시간을 7.2시간(한 달이 720시간이라 가정)을 넘기지 않겠다는 뜻이다. 물론 이는 예시일 뿐이고 보통의 경우 호스팅 업체들은 99.9% 이상의 SLA를 보장한다. 물론 업체 별로 SLA를 제공하는 기간은 상이하며 일부 업체의 경우 SLA를 보장하지 않기도(!) 하니 호스팅 업체를 선택할 때 주의해서 선택해야 한다.


또한 호스팅 업체에서는 SLA를 유지하기 위해 다양한 설비와 체계적인 시스템을 구축하고, 유지하기 위해 많은 비용을 들이고 있는 것 또한 사실이다.


또한 대부분의 국내 호스팅 업체들은 24시간 한국어 상담을 지원하기에 서버에 문제가 발생했을 때 해결 방법을 모른다면 이러한 상담 시스템을 통해 호스팅 사의 도움을 받을 수 있다. 특히 이 부분은 서버에 대한 이해도가 깊지 않은 운영자들에게 큰 매력적 요소로 작용할 수 있겠다.


일부 호스팅 업체에서는 웹사이트에서 클릭 몇 번 만으로 서버의 성능을 실시간으로 조정 가능하도록 하기에 이 또한 호스팅을 사용했을 때 얻을 수 있는 장점이라 할 수 있겠다. 예로 유명 대기업 호스팅 A사에서는 웹 콘솔을 통해서 서버를 손쉽게 관리할 수 있으며, 서버의 CPU 코어 수(다만 이 부분은 ‘마인크래프트 서버’를 운영하는 데에는 큰 효과를 보지 못한다. 마인크래프트 서버는 앞서 2장에서 말했듯이 싱글 스레드를 기반으로 하기 때문이다.)와 RAM 용량을 실시간으로 조정할 수 있다.


5. 글을 마치며

글쓴이가 생각하는 국내 마인크래프트 호스팅 업체에 대한 주관적 의견을 담은 글이기에 글의 내용 중 다소 주관적인 입장에서 작성된 것은 부정하지 않는다.


다음은 호스팅 업체의 상품(VPS, 단독 서버 호스팅, 코로케이션 등)을 이용하는 것이 적합하다고 생각되는 경우이다.

  • CLI 환경에 익숙하지 않거나 서버 리소스 관리에 대한 지식이 부족한 운영자

  • 번지코드 등을 사용해 유저를 효과적으로 분산 시켜 싱글스레드에 크게 구애 받지 않는 서버를 운영하는 운영자

  • 서버 성능보다는 서비스 제공에 이상이 발생하지 않도록 하는, 즉 ‘안정성’을 서버 성능보다 우선하는 운영자

  • 자택에 서버를 두고 24시간 구동하기 어려운 환경에 있는 운영자

  • 가정에 들어오는 회선의 품질이 좋지 못해 서버를 안정적으로 유지하기 어려운 운영자


다음은 호스팅 업체보다는 홈서버 구축을 더 추천하고 싶은 경우이다.

  • 마인크래프트 서버가 어떻게 작동하는지 명확하게 인지하고, 홈서버 구축 등의 경력이 있는 운영자

  • 가정에 들어오는 회선으로 100mbps이상 속도를 안정적으로 유지할 수 있는 운영자(이에 해당하지 않는다면 서버에 할당되는 전용 망 비용을 감당할 수 있는 운영자)

  • 호스팅 업체에서 제공하는 CPU보다 더 좋은 사양의 CPU 모델을 찾고 있거나, 보유 중이고 서버 운영 비용을 최소화 하고자 하는 운영자

  • 서버를 구매할 만한 충분한 자금(i3 최신 세대, 32GB RAM이 탑재된 서버 구매에는 약 60 만원이 드는 것으로 확인됨, 2022-04 기준)이 있고, 오랜 기간 동안 서버를 운영하고자 하는 운영자

  • 서버에 문제가 발생해도 스스로 해결할 수 있는 운영자

  • 호스팅 업체에서 제공하는 CPU 모델이 마음에 들지 않아 다른 모델을 사용해 서버를 운영하고자 하는 운영자

  • 짧은 기간 동안만 운영하는 이벤트성 서버를 운영하고자 하는 운영자(이 경우엔 그냥 개인 컴퓨터 또는 무료 호스팅을 사용하도록 한다.)


다음은 피해야 할 호스팅인 경우이다.

  • 마인크래프트 서버의 수요가 최고조에 달하는 방학에 잠깐 나왔다 사라지는 호스팅.
  • 고사양 호스팅 또는 개인 컴퓨터 호스팅을 무료로 제공해주는 경우. (예를 들어 '개인 서버 무료로 열어드립니다' 와 같은 글 등등...)
  • 수요가 감소하거나 적자가 나면 별별 핑계를 대며 서비스를 종료하는 경우.(그리고 이름만 바꾸고 호스팅을 다시 시작한다.)

결론을 내자면, “마인크래프트 서버를 구동하고자 하는 운영자는 각자 다른 상황에 놓여 있으므로 자신의 현 상황에 맞게 서버 호스팅을 사용하느냐, 홈서버를 사용 하느냐를 현명하게 선택하자” 가 될 수 있겠다.


이상으로 국내 마인크래프트 서버 호스팅 업체에 대한 주관적인 글은 여기서 마치고자 한다. 또한 이 글은 마인크래프트 서버 운영자들이 보다 현명하고 합리적인 서버 운영을 할 수 있도록 돕고자 하는 목적에서 작성된 것이지, 무조건 국내 호스팅 업체가 나쁘다, 이런 말을 하려고 작성한 글이 아님을 분명히 밝힌다.


이상으로 글을 마친다.


글의 원본 (문서 글쓴이에게 허락을 구하고 한마포에 일부 수정하여 게시하였습니다.)

By A3xB (디스코드: AB | P2W hater#4801)

문서 글쓴이에 감사를 표합니다.


-------

초판본




2개의 댓글

A3xB
2022.05.27

요약하려던게 여러 이야기를 추가하다 보니 더 길어졌네요

마끼야또
2022.06.03

서버를 계획 중이신 분들, 혹시나 긴 글에 쭉 내리시고 스킵하실 분들을 위해 댓글 남깁니다.

 

여러분한테 필수인 정보들이 상당히 많습니다. 이 글을 적어주신 A3xB님 고생하셨네요.

 

저는 이런 정보들을 몇 년간 부딪혀가면서 습득했지만 그 경험들을 글 하나로 요약해주셨어요.

 

저도 호스팅 업체를 이용했다가 구글 클라우드, 아마존, 애저 등등 클라우드 플랫폼에서 리눅스 체제로 이용했다가도 지금에 이르러서는 인텔 CPU가 들어간 컴퓨터 하나를 장만해 홈서버를 운영하고 있죠.

 

--------------------

 

참고로 이건 그냥 서버 운영자들 사이에서 돌고 도는 말입니다만

 

호스팅 업체는 글의 본문처럼 CPU 모델을 기재하지 않거나 기재하였더라도 한 컴퓨터의 가상머신 분할에 의해 벤치마킹과 다르게 저하된 성능을 보여주는 경우도 있습니다.

 

제 경험상 지불하는 금액이 고가가 아닌 이상 믿을 수 있는 호스팅 업체는 딱히 없었습니다. 제가 지금까지 거쳐왔던 방법 중 홈서버가 발열이라는 단점을 제외하고는 제일 만족스러운 환경입니다.

 

많은 서버 운영자 분들께서 해당 글을 읽고 지혜롭게 계획하셨으면 합니다.