Quiero mejorar el rendimiento de mis instancias de Linux de Amazon Elastic Compute Cloud (Amazon EC2).
Solución
Uso de AMI de HVM
Para mejorar el rendimiento, utilice imágenes de máquina de Amazon (AMI) de máquina virtual de hardware (HVM). Las AMI de HVM le permiten utilizar las clases de instancia y las características de Amazon EC2 más recientes, como la mejora de las redes. Para obtener más información, consulte Tipos de virtualización de AMI.
Activación de las redes mejoradas
Si su tipo de instancia admite redes mejoradas, puedes usar esta característica para mejorar el rendimiento de la CPU sin costes adicionales. Las redes mejoradas utilizan la virtualización de E/S de raíz única (SR-IOV) para proporcionar un mayor rendimiento de E/S y una menor utilización de la CPU que las interfaces de red virtualizadas tradicionales. Para obtener instrucciones e información sobre los tipos de instancias compatibles, consulte Redes mejoradas en Linux y Redes mejoradas en Windows. Para activar las redes mejoradas, la instancia debe usar una AMI de HVM. Además, debe lanzar la instancia en una Amazon Virtual Private Cloud (Amazon VPC).Nota: Se recomienda utilizar la versión actualizada del Elastic Network Adapter (ENA) o del controlador de interfaz de función virtual (VF) Intel 82599.
Uso de volúmenes NVMe
Para el almacenamiento, use volúmenes de almacén de instancias (NVMe) urgentes de memoria no volátil para mejorar el rendimiento. Según la versión del núcleo y el tipo de instancia, el rendimiento con los volúmenes de NVMe puede variar según la carga de trabajo. Para obtener más información, consulte Amazon EBS and NVMe y Volúmenes de almacén de instancias SSD.
Nota: Para utilizar el programador de E/S de Kyber para determinadas cargas de trabajo, asegúrese de que su instancia de Amazon EC2 Linux ejecute el núcleo 4.12 o una versión posterior.
Uso de HugePages
HugePages puede mejorar el rendimiento de las cargas de trabajo cuando se gestionan grandes cantidades de acceso a la memoria. Para obtener más información, consulte la documentación de HugePages en el sitio web kernel.org. Para obtener recomendaciones en relación con las cargas de trabajo de computación de alto rendimiento (HPC), consulte High performance computing lens.
Utilización de la versión del núcleo y los tipos de instancias más recientes
Se recomienda utilizar la versión del núcleo y los tipos de instancia más recientes. Si usa M3, C3 u otros tipos de instancias anteriores, migre a un tipo de instancia más reciente, como M7, para mejorar el rendimiento. Además, utilice la última versión disponible del núcleo para su sistema operativo (SO). Para obtener más información, consulte los tipos de instancias de Amazon EC2.
Utilización de tramas gigantes
Siempre que sea posible, evite los paquetes pequeños. Si su carga de trabajo admite el uso de paquetes más grandes con tramas gigantes, utilice esta configuración. Para obtener más información, consulte Unidad de transmisión máxima de red (MTU) de la instancia de EC2.
Utilización de DPDK
Para mover la red fuera del núcleo y llevarla al espacio de usuario, utilice el software Data Plane Development Kit (DPDK). DPDK puede requerir una actualización del software para que sea compatible con DPDK. Para obtener más información, consulte el sitio web de DPDK.
Activación de PCID
Si ha activado el aislamiento de tablas de páginas del núcleo (KPTI) en el sistema operativo de su instancia, active también la característica del identificador del contexto del proceso (PCID). Para usar esta característica, verifique que tanto el núcleo como el tipo de instancia admitan PCID.
Escalado de las instancias
Aumente el tamaño de sus instancias o aumente el número de instancias.
Utilización de temporizadores
El temporizador del contador de marcas de tiempo (TSC) suele ser el temporizador con mejor rendimiento disponible en la mayoría de los casos. Si utiliza un temporizador xen, es posible que note una mejora del rendimiento cuando cambie a un temporizador TSC. Si utiliza un SO anterior con un temporizador jiffies, cambie a un SO que admita xen o, preferiblemente, TSC.
Nota: Los tipos de instancias anteriores, como M1 o M2, proporcionan un temporizador TSC emulado. Para mejorar el rendimiento del temporizador, cambie a un tipo de instancia más reciente, como M7.
Información relacionada
Prácticas recomendadas para Amazon EC2