온프레미스에서 마이그레이션 시 vCPU와 Core 비교

  • Aws
  • January 19, 2024

온 프레미스에서 Amazon으로 마이그레이션 할때 동일하게 스펙 전환하기가 애매한 경우가 있다.

대표적으로 CPU인데 고객사에서 주는 온프레미스에 CPU 스펙은 core 단위로 표시하고 반면에 AWS에서는 vCPU로 주로 표시한다.

물론 AWS 인스터스도 코어를 가지고 있지만 잘 표시하지는 않는다.

그렇다 보니 온 프레미스에 AWS에서 마이그레이션 할 때 어떤 기준으로 스펙을 선정해야할지 어렵다.

다행히 세상에는 나와 같은 고민을 하신 분이 계셨고 이와 관련된 글을 공유해 주셨다.

AWS vs GCP vs on-premises CPU performance comparison

글이 워낙 길고 영어로 되어 있어서 이해하는데 오래걸렸지만 결론은 vCPU ≈ Core이다.

우선 이 글에서 테스트 한 방식은 도커에서 container CPU 지정 할당하여 테스트 하였다.

docker run --cpus 1 --rm -ti severalnines/sysbench sysbench cpu --cpu-max-prime=20000 --threads=1 --time=900 run
docker run --cpus 2 --rm -ti severalnines/sysbench sysbench cpu --cpu-max-prime=20000 --threads=2 --time=900 run
docker run --cpus 8 --rm -ti severalnines/sysbench sysbench cpu --cpu-max-prime=20000 --threads=8 --time=900 run

온프레미스 퍼포먼스 CPU의 1 Core를 기준으로 잡고 2 Core일때와 1 Core에서 나온 퍼포먼스의 곱하기 2 이런식으로 먼저 비교를 하셨다.

블로그에서 보여주신 표는 최신CPU 일수록 멀티코어가 단순 1 Core에서 곱한 값보다는 퍼포먼스가 좋다고 한다.

년식이 다른 CPU의 멀티 코어들을 같은 수로 해서 비교를 하였을때는 멀티코어의 이점이 좀 더 줄어들었다.

그리고 위 블로그에서는 AWS가 하이퍼 스레드가 가능한 논리적 vCPU를 판매하고 일반적으로 초과 프로비저닝을 못하지만 “best effort” CPU cores를 공유 하지는 않는다고 한다. 그리고 다른 사용자간에 최적화를 수행하지 않는다는 보장도 없다.고 한다

이 글에서 내가 가장 알고 싶었던 내용은 바로 아래 부분이었는데

Untitled

실험을 한 결과 온프레미스의 코어개수의 27% 더 많은 vCPU로 설정하면 된다고 한다.

근데 실질적으로 1/4 더 많은 vCPU의 타입은 없으며 그냥 동일하게 가거나 정 불안하면 2배 높은 vCPU로 하면 될 것 같다.

instance에 관한 더 자세한 글은 아래의 블로그를 참고하면 된다.

Understanding AWS Instances

Tags :

Related Posts

ISP와 프로토콜

ISP ISP는 쉽게 말해서 인터넷 제공자입니다. 앤드 시스템은 ISPs(Internet Service Providers)를 통해서 인터넷에 접속합니다.

Read More

Azure automation을 이용하여 자동 스냅샷 생성

Azure VM 백업을 자동화 하기전에 먼저 Azure VM 백업 방식에 대해 알 필요가 있습니다.

Read More

Powershell 로 에저 리소스 관리하는 법

에저는 윈도우에 특화 되어 있다보니 자연스레 powershell을 많이 사용하게 됩니다.

Read More