Amazon EC2 Linux 인스턴스의 CPU 성능을 개선하려면 어떻게 해야 합니까?

최종 업데이트 날짜: 2019년 10월 8일

Amazon EC2(Amazon Elastic Compute Cloud) Linux 인스턴스의 성능을 개선하고자 합니다. 이 작업을 수행할 수 있는 방법으로는 어떤 것들이 있습니까?

해결 방법

Amazon EC2 Linux 인스턴스의 성능을 개선하려면 다음 권장 사항을 시도해 보십시오.

HVM(하드웨어 가상 머신) Amazon Machine Image(AMI)

성능을 향상하려면 HVM AMI를 사용하는 것이 좋습니다. 또한 HVM AMI는 최신 인스턴스 클래스(예: M5, M4, R4)와 향상된 네트워킹과 같은 Amazon EC2 기능을 제공합니다. 자세한 내용은 Linux AMI 가상화 유형을 참조하십시오.

향상된 네트워킹

성능을 개선하려면 지원되는 인스턴스 유형에서 추가 비용 없이 향상된 네트워킹을 사용할 수 있습니다. 향상된 네트워킹은 기존의 가상화된 네트워크 인터페이스에 비해 더 우수한 I/O 성능을 제공하며 CPU 사용률은 더 낮은 디바이스 가상화 방법인 SR-IOV(단일 루트 I/O 가상화)를 사용합니다. 지원되는 인스턴스 유형 및 지침은 Linux에서 향상된 네트워킹Windows에서 향상된 네트워킹을 참조하십시오.

향상된 네트워킹을 활성화하려면 인스턴스가 HVM AMI를 사용하고 Amazon VPC(Amazon Virtual Private Cloud)에서 시작해야 합니다.

참고: ENA(Elastic Network Adapter) 또는 Intel 82599 VF(Virtual Function) 인터페이스 드라이버의 업데이트된 버전을 사용하는 것이 모범 사례입니다.

NVMe(Non-Volatile Memory Express) 볼륨

스토리지의 경우 NVMe 인스턴스 스토어 볼륨을 사용하면 성능을 높이는 데 도움이 될 수 있습니다. 커널 버전 및 인스턴스 유형 그리고 워크로드에 따라 NVMe 볼륨의 성능 향상이 달라질 수 있습니다. 자세한 내용은 Amazon EBS 및 NVMeSSD 인스턴스 스토어 볼륨을 참조하십시오.

참고: 특정 워크로드에 Kyber I/O 스케줄러를 사용하려면 Amazon EC2 Linux 인스턴스에서 커널 4.12 이상을 실행해야 합니다.

HugePages

HugePages는 대량의 메모리 액세스를 실행하는 워크로드의 성능을 개선할 수 있습니다. 자세한 내용은 kernel.org 웹 사이트의 HugePages 설명서를 참조하십시오. HPC(고성능 컴퓨팅) 워크로드에 대한 모범 사례는 High-Performance Computing Lens를 참조하십시오.

최신 커널 버전 및 인스턴스 유형

성능을 위해서는 최신 커널 버전과 인스턴스 유형을 사용하는 것이 좋습니다. M3, C3 또는 기타 이전 인스턴스 유형을 사용하는 경우, M4 또는 유사한 인스턴스 유형으로 마이그레이션하고 운영 체제에서 사용 가능한 최신 커널 버전을 사용할 것을 고려하십시오. 자세한 내용은 Amazon EC2 인스턴스 유형을 참조하십시오.

점보 프레임

가능하면 작은 패킷을 사용하지 않도록 하십시오. 워크로드에서 지원하는 경우, 점보 프레임이 있는 더 큰 패킷을 사용합니다. 자세한 내용은 EC2 인스턴스에 대한 네트워크 MTU(최대 전송 단위)를 참조하십시오.

DPDK(데이터 영역 개발 키트)

DPDK 기반 소프트웨어 버전을 사용하여 커널 밖의 사용자 공간으로 네트워킹을 이동하면 성능 개선의 혜택을 얻을 수 있습니다. DPDK를 사용하려면 DPDK 지원이 포함된 소프트웨어 업데이트가 필요할 수 있습니다. 자세한 내용은 DPDK 웹 사이트를 참조하십시오.

PCID(프로세스 컨텍스트 식별자)

인스턴스의 운영 체제에서 KPTI(Kernel Page-Table Isolation)가 활성화된 경우 PCID도 활성화하면 CPU 성능이 개선될 수 있습니다. 커널 및 인스턴스 유형이 모두 PCID를 지원하는지 확인해야 합니다.

인스턴스 크기 조정

성능을 개선하려면 인스턴스 크기를 확장하거나 인스턴스 수를 늘릴 것을 고려하십시오.

타이머

tsc 타이머는 일반적으로 대부분의 인스턴스에서 사용할 수 있는 최상의 성능 타이머입니다. xen 타이머를 사용하는 경우 tsc 타이머로 이동하면 성능이 개선될 수 있습니다. jiffies 타이머를 사용하는 이전 운영 체제를 사용하는 경우, tsc를 지원하거나 최소한 xen을 지원하는 운영 체제로 이동할 것을 고려하십시오.

참고: M1 또는 M2와 같은 이전 인스턴스 유형은 에뮬레이션된 tsc 타이머를 제공합니다. tsc 타이머 성능을 높이려면 새로운 인스턴스 유형으로 이동할 것을 고려하십시오.


이 문서가 도움이 되었습니까?

AWS에서 개선해야 할 부분이 있습니까?


도움이 필요하십니까?