| 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의 연산결과는 서로 비슷한 양상을 보였습니다.
- 평균적으로는 t3의 성능이 더 좋았습니다.
- 원인
- 팩토리얼 연산은 CPU 집중적인 작업이지만, T2와 T3 인스턴스 유형 모두 충분한 CPU 성능을 제공합니다.
- 두 인스턴스 유형 모두 동일한 CPU 아키텍처를 사용합니다.
- 사용된 운영 체제 및 버전, 컴파일러 및 컴파일 옵션 등이 동일한 경우 연산 결과는 비슷하게 나타날 가능성이 높습니다.
- 고찰
- 3번 그래프를 봤을 때, 인스턴스가 다시 연결될 때 서버의 상황에 따라 HW의 성능차이로 인해 발생된 현상 같다.
- 결과
- 범용으로 제작된 t3 인스턴스 유형보다 CPU의 특화된 c5 인스턴스 유형이 연산속도가 더 빨랐습니다.
- 원인
- CPU 성능:
- T3 인스턴스 유형은 기본적으로 더 낮은 클럭 속도를 가진 CPU를 사용합니다.
- C5 인스턴스 유형은 고성능 CPU를 사용하여 팩토리얼 연산과 같은 CPU 집중적인 작업에 더 적합합니다.
- 캐시 용량:
- C5 인스턴스 유형은 T3 인스턴스 유형보다 더 큰 L2 및 L3 캐시를 가지고 있습니다.
- 캐시 용량이 클수록 CPU가 메모리에 접근하는 데 걸리는 시간이 줄어들어 연산 속도가 향상됩니다.
- Turbo Boost:
- C5 인스턴스 유형은 Turbo Boost 기술을 지원하여 필요에 따라 CPU 클럭 속도를 자동으로 높일 수 있습니다.
- 이는 팩토리얼 연산과 같은 짧은 시간 동안 높은 CPU 성능이 필요한 작업에 유용합니다.
- CPU 성능:
-
결과
- 평균적으로 x86 시스템 아키텍쳐를 사용하는 인스턴스 타입인 c5, r5의 계열이 연산속도가 더 빨랐습니다.
- c계열이 r계열보다 더 빨랐습니다.
-
원인
- 명령어 집합:
- ARM: RISC (Reduced Instruction Set Computing) 아키텍처를 사용하여 명령어 집합이 단순합니다. 이는 전력 소비를 줄이는 데 도움이 되지만, 복잡한 연산을 처리할 때 속도가 느려질 수 있습니다.
- x86: CISC (Complex Instruction Set Computing) 아키텍처를 사용하여 명령어 집합이 복잡합니다. 이는 전력 소비가 더 높지만, 복잡한 연산을 처리할 때 속도가 빠를 수 있습니다.
- 클럭 속도:
- 일반적으로 ARM 프로세서는 x86 프로세서보다 클럭 속도가 낮습니다. 클럭 속도가 높을수록 같은 시간 안에 더 많은 작업을 처리할 수 있으므로 연산 속도가 빨라집니다.
- 캐시:
- 캐시는 CPU가 빠르게 접근할 수 있는 작은 메모리 공간입니다. 캐시 용량이 클수록 CPU가 메모리에 접근하는 데 걸리는 시간이 줄어들어 연산 속도가 빨라집니다.
- 일반적으로 ARM 프로세서는 x86 프로세서보다 캐시 용량이 작습니다
- 명령어 집합:
-
고찰
- 연산처리가 중요한 팩토리얼 코드로 테스트를 진행하다보니 cpu가 특화된 계열이 더 유리했다.
- DP같은 메모리 공간을 사용하는 테스트의 경우 r계열이 유리할 것 같다.


