Blog de Amazon Web Services (AWS)

Entendiendo desempeño en ráfagas vs. promedio con Amazon RDS y GP2

Por Phil Intihar Ingeniero de Bases de Datos en Amazon Web Services.

 

Cuando pensamos en el almacenamiento de bases de datos, las dimensiones que importan son el tamaño, la latencia, el rendimiento y las IOPS del volumen. IOPS significa entrada/salida (operaciones) por segundo, y la latencia es una medida del tiempo que tarda en completarse una sola solicitud de E/S. Como puede imaginar, la latencia y las IOPS están estrechamente relacionadas y son indicadores clave del rendimiento de la base de datos. Esta publicación se centra en entender cómo trabajar con el almacenamiento de Amazon Relational Database Service (Amazon RDS) y cómo se relaciona con las IOPS

Tipos de volumen disponibles en Amazon RDS

Los volúmenes de Amazon RDS se crean con volúmenes de Amazon EBS, excepto Amazon Aurora, que utiliza una capa de almacenamiento virtualizado respaldada por discos SSD especialmente diseñada para cargas de trabajo de bases de datos. Según la cantidad de almacenamiento solicitada, Amazon RDS se distribuye automáticamente en varios volúmenes de Amazon EBS para mejorar el rendimiento. Actualmente, RDS admite tipos de volúmenes de almacenamiento magnéticos y basados en discos SSD. Sin embargo, los volúmenes magnéticos son más lentos y no funcionan de manera uniforme, por lo que no se recomiendan para cargas de trabajo centradas en el rendimiento. Por lo tanto, si está leyendo esto para aprender a obtener un mejor rendimiento de su base de datos RDS, debe evitar el almacenamiento magnético.

Hay dos tipos de almacenamiento basados en SSD disponibles en Amazon EBS: IOPS aprovisionadas (denominados IO1) y de uso general (denominados GP2). Con IO1, es bastante sencillo predecir las IOPS porque este es el valor que usted proporciona cuando se crea el volumen. La documentación de Amazon EBS indica que los volúmenes de IO1 entregan dentro del 10 por ciento del rendimiento de las IOPS aprovisionadas el 99,9 por ciento del tiempo durante un año determinado. En otras palabras, puede esperar un rendimiento constante con IO1.

El tipo de almacenamiento GP2 también tiene una IOPS base que se establece cuando se crea el volumen. Sin embargo, no se proporciona un valor para las IOPS directamente, sino que las IOPS son una función del tamaño del volumen. La IOPS para un volumen GP2 es el tamaño del volumen en GiB x 3, con un mínimo de 100 IOPS y un máximo de 10.000 IOPS. Los volúmenes GP2 tienen una característica llamada modo ráfaga que a menudo se malinterpreta. Profundicemos en las características de rendimiento de GP2 y comprendamos el rendimiento de ráfaga versus el de referencia (base).

Comparando desempeño: ejemplos de ráfaga vs. base

Para entender el modo de ráfaga, debe tener en cuenta que cada volumen GP2, independientemente del tamaño, comienza con 5,4 millones de créditos de E/S a 3.000 IOPS. Esto significa que, incluso para volúmenes muy pequeños, se empieza con un volumen de alto rendimiento. Esto es ideal para cargas de trabajo «a ráfagas», como los informes diarios y los trabajos recurrentes de extracción, transformación y carga (ETL). También es bueno para cargas de trabajo que no requieren IOPS altamente sostenidas.

¿Cómo funciona esto? Bueno, como se mencionó anteriormente, los volúmenes GP2 comienzan con un crédito de E/S que, si se usa por completo, llega a 3.000 IOPS durante 30 minutos. El crédito de ráfaga siempre se repone a una velocidad de 3 IOPS por GiB por segundo. Considere una carga de trabajo ETL diaria que utilice una gran cantidad de E/S. Para el trabajo diario, GP2 puede hacer uso de ese extra crédito en IOPS y, durante el tiempo de inactividad, el crédito de ráfaga se puede reponer para la ejecución del día siguiente. Ahora consideremos una carga de trabajo que nunca consume más IOPS que la ráfaga. Esta carga de trabajo seguirá teniendo muy buenas IOPS siempre y cuando los créditos se repongan más rápido de lo que se consumen.

En el siguiente ejemplo, creé una instancia de Amazon RDS con un volumen GP2 de 20 GiB. Dicho volumen se eleva a 3.000 IOPS. Pero una vez que se agota la ráfaga, solo entrega 100 IOPS, ya que 100 es el mínimo de IOPS. El punto a destacar aquí es que el pequeño volumen funciona muy bien para este trabajo nocturno simulado. Y luego, en el transcurso de las siguientes 12 horas, los créditos acumulados se acumulan a tiempo para el trabajo nocturno del día siguiente.

Un aspecto importante a tener en cuenta es que para cualquier volumen GP2 superior a 1 TiB, el rendimiento en IOPS de referencia (base) es mayor que el rendimiento en IOPS de ráfaga. Para estos volúmenes, la ráfaga es irrelevante porque el rendimiento de referencia (base) es mejor que el rendimiento de ráfaga de 3000 IOPS.

Nota: en el diagrama a continuación, > 1 TiB es donde el rendimiento en IOPS de referencia (base) excede al rendimiento en IOPS de ráfaga.

En el siguiente ejemplo, ejecuto una carga de trabajo diseñada para consumir todos los créditos de ráfaga disponibles para comparar las características de rendimiento de diferentes tamaños de volumen GP2. Es un punto de referencia de OLTP que consta de 10 subprocesos simultáneos que realizan actualizaciones aleatorias en una tabla de 100 GiB. Esto se ejecutó en cinco bases de datos MySQL de Amazon RDS en diferentes tamaños de los volúmenes de datos GP2. Cada instancia tiene un rendimiento de referencia (base) diferente, pero, por supuesto, todas tienen el mismo rendimiento de ráfaga de 3.000 IOPS

El siguiente es el gráfico que muestra el rendimiento de referencia para cada instancia:

Observe cómo inicialmente todas las instancias funcionaban aproximadamente al mismo nivel. Esto se debe a que todos comenzaron con al menos 3.000 IOPS. Sin embargo, para los volúmenes más pequeños, una vez que se agotó el crédito de ráfaga, el rendimiento cayó a una tasa de transacción que es relativa al rendimiento de referencia. La línea azul representa la instancia de 1 TiB, donde la línea base es igual al rendimiento de la ráfaga. La instancia de 2 TiB (línea verde) con 6.000 IOPS funcionó mejor.

Sumario

Esperamos que esta publicación le brinde una mejor comprensión del rendimiento de ráfaga en comparación con el rendimiento de referencia (base) en GP2, y le ayude a elegir el tipo de volumen de almacenamiento adecuado para su aplicación. Si no necesita el alto nivel de rendimiento constante de IO1 o una gran cantidad de IOPS, GP2 es una buena opción para muchas cargas de trabajo de bases de datos.

 

Este artículo fue traducido del Blog de AWS en Inglés

 


Acerca del autor

Phil Intihar es un Ingeniero de Bases de Datos en Amazon Web Services.

 

 

 

 

 

Traductor

Camilo Leon es un Arquitecto de Soluciones Principal especializado en bases de datos en Amazon Web Services radicado en San Francisco. Camilo Trabaja con clientes de AWS para proporcionar orientación y asistencia técnica en servicios de bases de datos relacionales, ayudándoles a mejorar el valor de sus soluciones cuando utilizan AWS.