Skip to content

wpdbs1229/performance_metric

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 

Repository files navigation

AWS EC2 인스턴스 유형 별 성능비교

스펙

t2.micro t2.small t2.medium t2.large
vCPU 1(1코어) 1(1코어) 2(2코어) 2(2코어)
아키텍처 i386, x86_64 i386, x86_64 i386, x86_64 x86_64
메모리(GiB) 1 2 4 8
t3.micro t3.small t3.medium t3.large
vCPU 2(1코어) 2(1코어) 2(1코어) 2(1코어)
아키텍처 x86_64 x86_64 x86_64 x86_64
메모리(GiB) 1 2 4 8
c5.large c5.xlarge r5.large r5.xlarge
vCPU 2(1코어) 4(2코어) 2(1코어) 4(2코어)
아키텍처 x86_64 x86_64 x86_64 x86_64
메모리(GiB) 4 8 16 32
c6g.medium c6g.large r6g.medium r6g.large m6g.large
vCPU 1(1코어) 2(2코어) 2(1코어) 2(2코어) 2(2코어)
아키텍처 arm64 arm64 arm64 arm64 arm64
메모리(GiB) 1 4 8 16 8

측정 방식

  • 파이썬 라이브러리의 math.factorial() 사용
  • 4번의 반복 후 평균값을 사용
import math
import time

times = []
for i in range(4):
    start = time.time()
    math.factorial(500000)
    end = time.time()
    times.append(end - start)

avg = sum(times)/4

print(f"{avg:.5f} sec")

결과

t2, t3 비교

t2,t3비교진짜이거임

  • 결과
    • t2와 t3의 연산결과는 서로 비슷한 양상을 보였습니다.
    • 평균적으로는 t3의 성능이 더 좋았습니다.
  • 원인
    • 팩토리얼 연산은 CPU 집중적인 작업이지만, T2와 T3 인스턴스 유형 모두 충분한 CPU 성능을 제공합니다.
    • 두 인스턴스 유형 모두 동일한 CPU 아키텍처를 사용합니다.
    • 사용된 운영 체제 및 버전, 컴파일러 및 컴파일 옵션 등이 동일한 경우 연산 결과는 비슷하게 나타날 가능성이 높습니다.
  • 고찰
    • 3번 그래프를 봤을 때, 인스턴스가 다시 연결될 때 서버의 상황에 따라 HW의 성능차이로 인해 발생된 현상 같다.

t3 c6 비교

t3 C6

  • 결과
    • 범용으로 제작된 t3 인스턴스 유형보다 CPU의 특화된 c5 인스턴스 유형이 연산속도가 더 빨랐습니다.
  • 원인
    1. CPU 성능:
      • T3 인스턴스 유형은 기본적으로 더 낮은 클럭 속도를 가진 CPU를 사용합니다.
      • C5 인스턴스 유형은 고성능 CPU를 사용하여 팩토리얼 연산과 같은 CPU 집중적인 작업에 더 적합합니다.
    2. 캐시 용량:
      • C5 인스턴스 유형은 T3 인스턴스 유형보다 더 큰 L2 및 L3 캐시를 가지고 있습니다.
      • 캐시 용량이 클수록 CPU가 메모리에 접근하는 데 걸리는 시간이 줄어들어 연산 속도가 향상됩니다.
    3. Turbo Boost:
      • C5 인스턴스 유형은 Turbo Boost 기술을 지원하여 필요에 따라 CPU 클럭 속도를 자동으로 높일 수 있습니다.
      • 이는 팩토리얼 연산과 같은 짧은 시간 동안 높은 CPU 성능이 필요한 작업에 유용합니다.

x86_64 & arm64 비교

x86 arm

  • 결과

    • 평균적으로 x86 시스템 아키텍쳐를 사용하는 인스턴스 타입인 c5, r5의 계열이 연산속도가 더 빨랐습니다.
    • c계열이 r계열보다 더 빨랐습니다.
  • 원인

    1. 명령어 집합:
      • ARM: RISC (Reduced Instruction Set Computing) 아키텍처를 사용하여 명령어 집합이 단순합니다. 이는 전력 소비를 줄이는 데 도움이 되지만, 복잡한 연산을 처리할 때 속도가 느려질 수 있습니다.
      • x86: CISC (Complex Instruction Set Computing) 아키텍처를 사용하여 명령어 집합이 복잡합니다. 이는 전력 소비가 더 높지만, 복잡한 연산을 처리할 때 속도가 빠를 수 있습니다.
    2. 클럭 속도:
      • 일반적으로 ARM 프로세서는 x86 프로세서보다 클럭 속도가 낮습니다. 클럭 속도가 높을수록 같은 시간 안에 더 많은 작업을 처리할 수 있으므로 연산 속도가 빨라집니다.
    3. 캐시:
      • 캐시는 CPU가 빠르게 접근할 수 있는 작은 메모리 공간입니다. 캐시 용량이 클수록 CPU가 메모리에 접근하는 데 걸리는 시간이 줄어들어 연산 속도가 빨라집니다.
      • 일반적으로 ARM 프로세서는 x86 프로세서보다 캐시 용량이 작습니다
  • 고찰

    • 연산처리가 중요한 팩토리얼 코드로 테스트를 진행하다보니 cpu가 특화된 계열이 더 유리했다.
    • DP같은 메모리 공간을 사용하는 테스트의 경우 r계열이 유리할 것 같다.

About

AWS EC2 인스턴스 타입 별 성능 비교

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors