가비아, 카페24, Azure, 오라클 클라우드 서버 벤치마킹·실사용기

,

국내 주요 서버 호스팅 업체인 가비아와 카페24에서 모두 클라우드 서비스를 합니다. 최저사양의 가격이 5000~6000원(부가세 별도) 정도로 비슷해서 둘다 사용해 보게 됐습니다. 나중엔 Azure 12개월 무료 서버를 사용했고, 네트워크 비용 탓에 오라클 항상 무료 서버로 넘어갔습니다.

가비아 클라우드 최저사양 서버

[요약] 싸고 안정성이 훌륭했습니다.

먼저 가비아는 지난 9개월 동안 5000원(부가세 별도)짜리 최저사양 서버를 사용했습니다. 한 번도 다운된 적 없이 잘 돌아갔습니다.

클라이언트단도 빨랐습니다. 클라우드플레어 프록시를 한 번 거치고, W3 Total Cache로 또 한 번 캐시를 돌린 점도 영향을 줬을 겁니다.

그러나 관리자 페이지에는 캐시 적용이 힘들죠. 관리자 페이지가 좀 느렸습니다. 관리자 페이지에서는 한 번 클릭하면 2-3초는 기다리는 느낌이라 불편했습니다. 특히 이미지를 업로드하면 리사이즈가 완료될 때까지 체감상 10초는 기다렸던 것 같습니다.

참고: 가비아 클라우드 서버 생성 화면

카페24 클라우드 최저사양 서버

[요약] 싸고 빨랐지만 안정성이 아쉬웠습니다.

그런데 어느날 카페24도 클라우드 서비스가 있다는 걸 알게 됐죠. 최저사양 가격이 비슷했습니다. 30일 기준 월 5760(부가세 별도)원이었습니다. 서버가 시간당 5원, 퍼블릭 IP가 시간당 3원입니다.

그래서 서버 이전을 염두에 두고 최저사양끼리 벤치마크를 돌려 봤습니다. 프로그램은 sysbench를 사용했습니다.

결과는 CPU, 램 모두 카페24가 빨랐습니다. 특히 카페24의 vCore CPU 1개 성능이 가비아의 vCore CPU 1개보다 성능이 2배 이상 더 좋았습니다.

메모리도 카페24 최저사양은 1GB, 가비아는 512MB죠.

파일 읽기/쓰기 속도는 가비아 SSD 서버가 약 9.7배/9.71배 더 빨랐습니다. 물론 HDD로 하면 가비아가 더 느렸습니다.

벤치마크 결과를 보고 하루 있다가 카페24로 서버를 이전했습니다.

그런데 웬걸, 더 쾌적해질 거란 기대와는 달리 이전을 완료하고 서버 추가 설정을 하는 과정에서 24시간만에 4번이나 다운이 됐습니다.

이미지 리사이즈중 한 번, apt로 python-pip 설치중 한 번, git pull을 했다가 한 번, 그리고 그냥 블로그 글쓰던 중에 한 번(다운처럼 보여도 1-2분 후 알아서 복구된 경우는 다운으로 치지 않았습니다).

아무리 블로그가 돌아가는 서버에서 작업을 했다 해도 좀 당황스러웠습니다. 모두 파일과 연관된 작업이라 디스크쪽 안정정에 문제가 있지 않나 하는 생각이 들었습니다.

참고: 카페24 서버 생성 화면

gray stacked stones photo
빠른 것도 좋지만 안정적이지 않으면 의미가 없습니다. 사진 Dušan veverkolog on Unsplash

Azure 12개월 무료 서버

[요약] 무료 서버 하나로는 성능이 안 나왔습니다. 그러나…

그래서 하루만에 Azure 서버로 눈을 돌렸습니다. 12개월 간 무료 이용 가능한 저사양 서버가 있었죠. 돈내고 쓴다고 치면 대략 한 달에 10달러 정도 견적이 뽑혔습니다. (B1s, B2pls v2(Arm 기반), B2ats v2(AMD 기반) 버스트 가능 VM 각각에 대해 월 750시간(31일이 744시간입니다)씩 12개월 무료) 저는 무료 인스턴스 세 종류 중 B2ats v2를 이용했습니다. B1s 서버는 사양이 낮고(옛날 거라 그렇다고 합니다), B2pls v2 서버는 사용할 수 있는 인스턴스가 없었습니다.

첫인상은 좋았습니다. 프로그램 설치들도 잘 됐고요.

그런데 문제는 블로그를 실제로 돌리자마자 일어났습니다. IP를 도메인에 연결하고 재빨리 certbot으로 인증서를 발급받으려고 했는데, 이게 작동을 하지 않았습니다. certbot을 실행시키는 순간 서버가 다운됐습니다. (나중에 보니 IP를 올기면서 트래픽이 몰리기 시작하니 MySQL과 php-fpm의 메모리 사용량이 올라가면서 다운된 것 같습니다.)

여러 번 재부팅 끝에 certbot으로 인증서를 받았는데요. 받고 나서도 서버가 버벅댔습니다. ssh에서 타자도 제대로 쳐지지 않는 수준이었습니다. 얼마 안 가 또 다운됐습니다.

원인은 메모리 부족이었던 듯합니다. kern.log 파일을 확인해 보니 메모리 부족으로 계속 MySQL이 죽고 있었습니다.

가비아는 메모리가 512MB에 불과한데도(Azure는 1GB) 이런 일이 없었습니다. 아마도 엔지니어가 최적화를 잘 해 뒀던 모양입니다.

Azure + MySQL 독립 서버

[요약] 12개월 무료 서버 두 개를 연동해 사용하니 쾌적해졌습니다(우분투 VM 10달러, MySQL 서버 23달러 = 도합 월 33달러(약 4만 3000원)어치). 그러나…

다시 가비아로 돌아가야 하나, 서버 최적화를 시도해야 하나 고민하다가 MySQL 독립 서버를 사용하면 어떨까 생각이 들었습니다. 무료 서비스에 포함돼 있는지 확인해 봤더니 있었습니다.

그래서 Azure Database for MySQL(유연한 서버)을 한 번 설치해 봤습니다. 버스트 가능 B1MS 인스턴스로 용량을 32GB로 선택했습니다(월 약 23달러).

디비는 이렇게 독립적으로, 그리고 PHP와 Apache는 우분투 서버에 설치했습니다. 서버는 매우 쾌적했습니다.

Azure 12개월 무료에 트래픽 비용은 포함이 안 된다는 걸 알게 됐습니다

쾌적하게 서버를 사용하면서 하루가 지났을 때 비용 청구서를 확인해 봤습니다. 그런데 비용이 나옵니다. 디비와 서버 사이 데이터 오가는 가상 네트워크 비용, 퍼블릭IP 비용, DB 저장소 비용 등이 있네요. (6일차 비용 테이블 자세히 보기) 이틀만에 4000원, 6일만에 대략 1만 1000원이라 이라 이건 아니다 싶었습니다. 다행히 첫 달은 200달러까지는 무료로 사용할 수 있어서 비용이 청구되지는 않을 테지만, 한 달이 되기 전에 옮겨야겠다고 판단했습니다.

아래 이미지는 3일차 비용 테이블입니다. 가상 네트워크 Ingress 비용이 3일만에 2025원(DB 데이터를 가져오는 데 사용한 비용인 듯), MySQL 디비 Paid IO LRS가 1941원(로컬 데이터 유지비라는데 정확히는 모르겠습니다), 디비를 네트워크에 연결하는데 사용한 가상 네트워크가 872원 나왔습니다.

한 달 사용하면 4-5만 원은 나오겠습니다. 결과적으로 Azure에 대한 인상이 썩 좋지 않게 됐습니다.

인스턴스를 삭제한 뒤에도 “자원 그룹” 자체가 하루 100원 정도를 청구하고 있었는데요. 그룹까지 삭제를 해야 비용이 안 나오더군요. 가장 편한 방법은 “구독”을 취소하는 것입니다. 구독을 취소하면 그 다음부터는 비용이 나가지 않습니다.

구독을 취소한 뒤 완전히 삭제하려면 15분을 기다려서 수동으로 삭제해야 합니다. 이 때 연결된 리소스가 있으면 표시를 해 주는데요. 저는 다 삭제했다고 생각했는데도 연결된 리소스가 1개 더 발견됐습니다.

여하간 Azure를 사용할 때는 12개월 무료가 인스턴스 사용 무료지 네트워크비용 무료는 아니라는 점을 유념해야겠습니다.

오라클 항상 무료 서버

이번엔 오라클 항상 무료(Always Free) 인스턴스를 살펴 봤습니다.

원래 오라클 항상 무료 서버는 사용할 생각이 없었습니다. 여기 Apache, PHP, MySQL을 설치하고 워드프레스를 돌리면 극도로 느리고 계속 다운이 됐기 때문입니다. (항상 무료용 인스턴스는 VM.Standard.E2.1.Micro 인스턴스. ARM Ampere A1 인스턴스도 항상 무료 대상이지만 늘 여분이 없어서 선택할 수 없었습니다).

그런데 MS Azure 경험을 거치면서 서버를 두 대 띄워서 사용한다면 낫지 않을까 생각이 닿았습니다. 오라클은 항상 무료 서버를 두 대 띄울 수 있게 지원합니다.

한쪽에는 PHP, Apache를 설치하고 한 쪽에는 MySQL을 설치해서 블로그를 구동했습니다.

결과는 성공입니다. 가비아의 5000원(부가세 별도) 서버보다 빠르고 쾌적한 성능을 보였습니다. 서버 한 대의 성능은 가비아 최저사양 서버의 80%(CPU), 50%(메모리 속도, 파일 읽기/쓰기) 수준이었지만 두 대를 돌리니 더 쾌적했습니다(아, 서버 한 대당 메모리는 1GB로 가비아 최저사양의 512MB보다 많습니다).

MS Azure와 달리 항상 무료고(일단 지금 약속은) 트래픽 비용도 발생하지 않습니다.

메모리 부족 다운 현상을 방지하기 위해 스왑 공간도 잡았습니다.

다만 한쪽 디비 전용 서버의 3306번 포트를 여는 걸 좀 헤맸습니다. 방화벽에서 목적지로 3306번 포트를 허용해 주면 되는데 소스 포트가 3306번이어야 한다고 하는 조건까지 지정하는 바람에 접속이 안 됐습니다. 외부로 접속하기 위해 나가는 포트는 그 때 그 때 랜덤하게 고른다고 하니 참고하세요. 소스 포트는 특별한 상황이 아니면 “전부”로 설정해 두셔야 합니다.

또, 오라클은 인스턴스의 방화벽에서도 3306번 포트를 허용해 줘야 합니다.

결론

  • 오라클 항상 무료 서버를 두 대 띄워서 (1)Apache + PHP (2)MySQL로 구성하는 게 가장 좋습니다.
  • 오라클이 항상 무료 서비스를 종료하면 가비아 최저사양 서버를 쓸 겁니다.
  • 가비아 최저사양보다 한두 단계 높은 서버를 쓴다면 카페24가 비용효율적일 것 같습니다.
  • Azure는 무료 12개월 서버라도 비용이 좀 나와서 부담스럽습니다.

결국 저는 오라클 항상 무료로 일단 정했습니다. 하루 동안 사용하고 비용 청구서를 봤는데 비용도 청구되지 않는 것 같습니다.

오라클을 제하면 가비아와 카페24가 가성비가 매우 좋습니다. 6000원 언저리에 대량의 트래픽을 주는데다 개발자 입장에서는 여러 용도로 갖고 놀 수 있습니다. (카페24 최저사양 서버는 파일 시스템이 좀 불안정하게 느껴졌지만, 더 높은 단계 서버를 사용하면 좀 낫겠죠 아마?)

그에 비해 MS Azure에서 제가 최종 정착한 조합은 도합 33달러짜리 서비스입니다. 10달러짜리 서버에는 제 워드프레스 블로그(하루 500~1000명 정도 방문) 단독 호스팅이 불가능했습니다.

게다가 Azure는 네트워크 비용까지 들어가(이건 12개월 무료에 포함되지 않습니다) 좀 당황스러웠습니다.

가비아에 비해 카페24의 장점은 최저사양보다 한두단계 높은 사양의 서버 선택 폭이 넓다는 점입니다. 가비아는 최저사양 바로 다음 버전이 2만 원입니다(부가세 별도). 카페24는 1만 800원, 1만 5840원, 2만 880원 식으로 가격이 촘촘하게 올라가서 선택의 폭이 좀더 넓습니다(퍼블릭 IP 가격 시간당 3원 포함가, 부가세 별도).

마지막으로, 이 모든 것은 2023년 11월을 기준으로 한 것입니다. 클라우드는 여전히 변화가 많은 곳이니 몇 년만 지나면 이 정보들은 낡은 것이 되겠지요.

성능 비교표

서비스 이름가격CPU 성능메모리 성능파일 읽기/쓰기 성능
Gabia Classic 마이크로5000원100.00100.00100.00
Gabia VPC 마이크로(HDD)5000원121.70100.003.06
Cafe24 마이크로5760원218.88123.4210.31
MS Azure B2ms v2 VM$10567.95151.1753.13
Oracle VM.Standard.E2.1.MicroFree80.2849.9355.51
가비아 클래식의 성능을 100으로 했을 때 각 서버의 성능을 비교 정리한 것(파일 성능은 읽기/쓰기 평균치를 비교함)

😉 재밌게 읽으셨나요? 여러분의 경험이 있다면 공유해 주세요~

👇 카테고리 글 목록

,

대표글

“가비아, 카페24, Azure, 오라클 클라우드 서버 벤치마킹·실사용기”에 대한 2개의 응답

  1. 관심 있는 내용이라 포스팅 잘 보았습니다.
    iwinv의 lite존은 매우 저렴한데 불안정했고 일반존은 쓸만합니다. (가끔 재부팅은 있습니다.)
    oracle cloud의 vm2대 상시무료도 개인 용도로는 괜찮습니다 :)

    1. iwinv는 그렇군요. 공유 감사합니다.
      오라클 평생 무료 서버도 확보해 놨는데 두 대로 구성할 생각을 못 해봤어요. 다음번에는 말씀해 주신 대로 한 번 그렇게 시도해 봐야겠습니다.
      MS Azure 12개월이 되기 전에 갈아타야 하니…

댓글 남기기