Almacenamiento de instancias de base de datos de Amazon RDS - Amazon Relational Database Service

Almacenamiento de instancias de base de datos de Amazon RDS

Las instancias de base de datos de Amazon RDS para Bd2, MariaDB, MySQL, PostgreSQL, Oracle y Microsoft SQL Server usan volúmenes de Amazon Elastic Block Store (Amazon EBS) para el almacenamiento de bases de datos y archivos de registro.

En algunos casos, es posible que la carga de trabajo de base de datos no logre el 100 por cien de las IOPS que ha aprovisionado. Para obtener más información, consulte Factores que afectan al rendimiento de la base de datos.

Para obtener más información acerca de los precios de almacenamiento de instancias, consulte Precios de Amazon RDS.

Tipos de almacenamiento de Amazon RDS

Amazon RDS ofrece tres tipos de almacenamiento: SSD de IOPS aprovisionadas (denominado también io1 y io2 Block Express), SSD de uso general (denominado también gp2 y gp3) y magnético (también conocido como estándar). Se diferencian por las características de desempeño y en el precio, lo que quiere decir que puede adaptar el desempeño y el costo del almacenamiento a las necesidades de la carga de trabajo de su base de datos. Puede crear instancias de base de datos de Db2, MySQL, MariaDB, Oracle, SQL Server y PostgreSQL RDS con hasta 64 TiB de almacenamiento. RDS para Db2 no admite los tipos gp2 y de almacenamiento magnético.

En la lista siguiente se describen brevemente los tres tipos de almacenamiento:

  • SSD de IOPS aprovisionadas: el almacenamiento de IOPS aprovisionadas está diseñado para satisfacer las necesidades de las cargas de trabajo con uso intensivo de operaciones de E/S, en especial de las cargas de trabajo de bases de datos, que requieren una latencia de E/S baja y un rendimiento de E/S constante. El almacenamiento de IOPS aprovisionadas es el más adecuado para los entornos de producción.

    Para obtener más información sobre el almacenamiento de IOPS aprovisionadas, incluidos los rangos de tamaños de almacenamiento, consulte Almacenamiento de SSD de IOPS aprovisionadas.

  • SSD de uso general: los volúmenes SSD de uso general ofrecen un almacenamiento rentable que resulta idóneo para una amplia variedad de cargas de trabajo en instancias de base de datos de tamaño medio. El almacenamiento de uso general es el más adecuado para entornos de desarrollo y pruebas.

    Para obtener más información sobre el almacenamiento de SSD de uso general, incluidos los intervalos de tamaño de almacenamiento, consulte Almacenamiento de SSD de uso general.

  • Magnético: Amazon RDS también admite el almacenamiento magnético para garantizar la compatibilidad con versiones anteriores. Es recomendable utilizar volúmenes SSD de uso general o SSD de IOPS aprovisionadas para las nuevas necesidades de almacenamiento. La cantidad máxima de almacenamiento que se permite para instancias de base de datos en el almacenamiento magnético es de 3 TiB. Para obtener más información, consulte Almacenamiento magnético (heredado, no recomendado).

Al seleccionar SSD de uso general o SSD de IOPS aprovisionadas, según el motor elegido y la cantidad de almacenamiento solicitada, Amazon RDS distribuye automáticamente varios volúmenes para mejorar el rendimiento, tal como se muestra en la siguiente tabla.

Motor de base de datos Tamaño de almacenamiento de Amazon RDS Número de volúmenes aprovisionados
Db2 Menos de 400 GiB 1
Db2 400–65 536 GiB 4
MariaDB, MySQL y PostgreSQL Menos de 400 GiB 1
MariaDB, MySQL y PostgreSQL 400–65 536 GiB 4
Oracle Menos de 200 GiB 1
Oracle 200–65 536 GiB 4
SQL Server Cualquiera 1

Al modificar un volumen de SSD de uso general o de SSD de IOPS aprovisionadas, este pasa por una serie de estados. Mientras el volumen está en el estado optimizing, el rendimiento del volumen estará entre las especificaciones de las configuraciones de origen y de destino. El rendimiento del volumen transitorio estará por encima del de las dos especificaciones bajas.

importante

Al modificar el almacenamiento de una instancia para que pase de un volumen a cuatro, o al modificar una instancia mediante el almacenamiento magnético, Amazon RDS no utiliza la característica Volúmenes elásticos. En cambio, Amazon RDS aprovisiona nuevos volúmenes y mueve los datos del volumen anterior a los nuevos volúmenes de forma transparente. Esta operación consume una cantidad significativa de IOPS y de rendimiento tanto del volumen antiguo como de los nuevos. Según el tamaño del volumen y la cantidad de carga de trabajo de la base de datos presente durante la modificación, esta operación puede consumir una gran cantidad de IOPS, aumentar significativamente la latencia de E/S y tardar varias horas en completarse, mientras la instancia de RDS permanezca en el estado Modifying.

Almacenamiento de SSD de IOPS aprovisionadas

Para cualquier aplicación de producción que requiera un rendimiento de E/S rápido y coherente, recomendamos el almacenamiento de IOPS aprovisionadas. El almacenamiento de IOPS aprovisionadas es un tipo de almacenamiento que ofrece un desempeño predecible y una latencia baja en todo momento. El almacenamiento de IOPS aprovisionadas está optimizado para las cargas de trabajo de procesamiento de transacciones online (OLTP) que tienen requisitos de rendimiento coherentes. Las IOPS aprovisionadas ayudan a ajustar el desempeño de estas cargas de trabajo.

Cuando se crea una instancia de base de datos, se especifica la velocidad de IOPS y el tamaño del volumen. Amazon RDS proporciona esa tasa de IOPS para la instancia de base de datos hasta que la cambie.

Amazon RDS ofrece dos tipos de almacenamiento SSD de IOPS aprovisionadas: Almacenamiento io2 Block Express (recomendado) y Almacenamiento io1 (generación anterior).

Almacenamiento io2 Block Express (recomendado)

Para las cargas de trabajo con uso intensivo de E/S y sensibles a la latencia, puede utilizar el almacenamiento io2 Block Express de IOPS aprovisionadas y lograr hasta 256 000 operaciones de E/S por segundo (IOPS). El rendimiento de los volúmenes de io2 Block Express varía en función de la cantidad de IOPS aprovisionadas por volumen y del tamaño de las operaciones de E/S que se estén ejecutando.

Todos los volúmenes io2 de RDS basados en AWS Nitro System son volúmenes de io2 Block Express y ofrecen una latencia media inferior a un milisegundo. Las instancias de base de datos que no están basadas en AWS Nitro System son volúmenes io2.

En la siguiente tabla se muestra el intervalo de IOPS aprovisionadas y de rendimiento máximo para el motor de base de datos y el rango de tamaño de almacenamiento.

Motor de base de datos Rango de tamaño de almacenamiento Rango de IOPS aprovisionadas Rendimiento máximo
Db2, MariaDB, MySQL y PostgreSQL 100–65 536 GiB De 1000 a 256 000 IOPS 16 000 MiB/s
Oracle 100–199 GiB 1000–199 000 IOPS 16 000 MiB/s
Oracle 200–65 536 GiB De 1000 a 256 000 IOPS 16 000 MiB/s
SQL Server 20–65 536 GiB De 1000 a 256 000 IOPS 16 000 MiB/s

Las IOPS y los rangos de tamaño de almacenamiento presentan las siguientes restricciones:

  • La relación entre IOPS y almacenamiento asignado (en GiB) no debe ser mayor de 1000:1. Para las instancias de bases de datos que no están basadas en AWS Nitro System, la relación es de 500:1.

  • Las IOPS máximas se pueden aprovisionar con volúmenes de 256 GiB y más grandes (1000 IOPS × 256 GiB = 256 000 IOPS). Para las instancias de base de datos que no están basadas en AWS Nitro System, las IOPS máximas se alcanzan a 512 GiB (500 IOPS x 512 GiB = 256 000 IOPS).

  • El rendimiento se escala de manera proporcional hasta 0,256 MiB/s por IOPS provisionadas. Se puede lograr un rendimiento máximo de 4000 MiB/s a 256 000 IOPS con un tamaño de E/S de 16 KiB y 16 000 IOPS o más con un tamaño de E/S de 256 KiB. Para las instancias de base de datos que no están basadas en AWS Nitro System, se puede lograr un rendimiento máximo de 2000 MiB/s a 128 000 IOPS con un tamaño de E/S de 16 KiB.

  • Si utilizas el escalado automático de almacenamiento, también se aplican las mismas relaciones entre IOPS y el umbral máximo de almacenamiento (en GiB). Para obtener más información sobre el escalado automático del almacenamiento, consulte Administración automática de la capacidad con el escalado automático de almacenamiento de Amazon RDS.

Los volúmenes de io2 Block Express de Amazon RDS están disponibles en las siguientes:Regiones de AWS

  • Asia-Pacífico (Hong Kong)

  • Asia-Pacífico (Bombay)

  • Asia-Pacífico (Seúl)

  • Asia-Pacífico (Singapur)

  • Asia-Pacífico (Sídney)

  • Asia-Pacífico (Tokio)

  • Canadá (centro)

  • Europa (Fráncfort)

  • Europa (Irlanda)

  • Europe (Londres)

  • Europa (Estocolmo)

  • Medio Oriente (Baréin)

  • US East (Ohio)

  • Este de EE. UU. (Norte de Virginia)

  • Oeste de EE. UU. (Norte de California)

  • Oeste de EE. UU. (Oregón)

Almacenamiento io1 (generación anterior)

Para las cargas de trabajo con uso intensivo de E/S, puede utilizar el almacenamiento SSD io1 de IOPS aprovisionadas y lograr hasta 256 000 operaciones de E/S por segundo (IOPS). El rendimiento de los volúmenes io1 varía en función de la cantidad de IOPS aprovisionadas por volumen y del tamaño de las operaciones de IO que se estén ejecutando. Recomendamos utilizar el almacenamiento io2 Block Express cuando esté disponible.

En la siguiente tabla se muestra el intervalo de IOPS aprovisionadas y de rendimiento máximo para el motor de base de datos y el rango de tamaño de almacenamiento.

Motor de base de datos Rango de tamaño de almacenamiento Rango de IOPS aprovisionadas Rendimiento máximo
Db2, MariaDB, MySQL y PostgreSQL 100–399 GiB De 1000 a 19 950 IOPS 500 MiB/s
Db2, MariaDB, MySQL y PostgreSQL 400–65 536 GiB De 1000 a 256 000 IOPS 4000 MiB/s
Oracle 100–199 GiB De 1000 a 9950 IOPS 500 MiB/s
Oracle 200–65 536 GiB 1000–256 000 IOPS¹ 4000 MiB/s
SQL Server 20–16 384 GiB 1000–64 000 IOPS² 1000 MiB/s
nota

¹ Para Oracle, puede aprovisionar el máximo de 256 000 IOPS solo en el tipo de instancia r5b.

² Para SQL Server, el máximo de 64 000 IOPS solo está garantizado en instancias basadas en Nitro que se encuentran en los tipos de instancias m5*, m6i, r5*, r6i y z1d. Otros tipos de instancias garantizan un rendimiento de hasta 32 000 IOPS.

Las IOPS y los rangos de tamaño de almacenamiento presentan las siguientes restricciones:

Combinación del almacenamiento de IOPS aprovisionadas con implementaciones Multi-AZ o réplicas de lectura

Para los casos de uso de OLTP de producción, es recomendable usar implementaciones Multi-AZ para mejorar la tolerancia a errores con IOPS aprovisionadas con el fin de obtener un desempeño rápido y predecible.

También puede usar el almacenamiento de IOPS aprovisionadas con réplicas de lectura para MySQL, MariaDB o PostgreSQL. El tipo de almacenamiento de una réplica de lectura es independiente del de la instancia de base de datos principal. Por ejemplo, es posible que use SSD de uso general para réplicas de lectura con una instancia de base de datos principal que utilice el almacenamiento de SSD de IOPS aprovisionadas para reducir los costos. Sin embargo, en este caso, el rendimiento de sus réplicas de lectura es posible que difiera del de una configuración en la que tanto la instancia de base de datos principal como las réplicas de lectura usen almacenamiento de IOPS aprovisionadas.

Costos de almacenamiento de IOPS aprovisionadas

Con el almacenamiento de IOPS aprovisionadas, se le cobra por los recursos aprovisionados tanto si los usa como si no en un mes dado.

Para obtener más información acerca de los precios, consulte Precios de Amazon RDS.

Obtención del mejor rendimiento del almacenamiento de IOPS aprovisionadas de Amazon RDS

Si su carga de trabajo tiene restricciones de E/S, el uso del almacenamiento de IOPS aprovisionadas puede aumentar el número de solicitudes de E/S que el sistema puede procesar de forma simultánea. El aumento de la simultaneidad permite reducir la latencia, ya que las solicitudes de E/S pasan menos tiempo en una cola. Una latencia menor se traduce en confirmaciones más rápidas en la base de datos, lo que mejora el tiempo de respuesta y permite obtener un rendimiento más alto en la base de datos.

El almacenamiento de IOPS aprovisionadas proporciona una forma de reservar capacidad de E/S mediante la especificación de IOPS. Sin embargo, al igual que cualquier otro atributo de capacidad del sistema, su rendimiento máximo con carga quedará restringido por el recurso que se agote antes. Ese recurso podría ser el ancho de banda de la red, la CPU, la memoria o los recursos internos de la base de datos.

Almacenamiento de SSD de uso general

El almacenamiento de uso general ofrece un almacenamiento rentable que es aceptable para la mayoría de las cargas de trabajo de bases de datos no sensibles a la latencia o al rendimiento.

nota

Las instancias de base de datos que utilizan almacenamiento de uso general pueden experimentar una latencia mucho más larga que las instancias que utilizan almacenamiento de IOPS aprovisionadas. Si necesita una instancia de base de datos con latencia mínima después de estas operaciones, se recomienda utilizar Almacenamiento de SSD de IOPS aprovisionadas.

Amazon RDS ofrece dos tipos de almacenamiento de uso general: Almacenamiento gp3 (recomendado) y Almacenamiento pg2 (generación anterior).

Almacenamiento gp3 (recomendado)

Al utilizar volúmenes de almacenamiento gp3 de uso general, puede personalizar el rendimiento del almacenamiento independientemente de la capacidad de almacenamiento. El rendimiento de almacenamiento es la combinación de operaciones de E/S por segundo (IOPS) y la rapidez con que el volumen de almacenamiento puede realizar lecturas y escrituras (rendimiento de almacenamiento). En los volúmenes de almacenamiento gp3, Amazon RDS proporciona un rendimiento de almacenamiento de referencia de 3000 IOPS y 125 MiB/s.

Para cada motor de base de datos de RDS, excepto RDS para SQL Server, cuando el tamaño de almacenamiento para los volúmenes gp3 alcanza un umbral determinado, el rendimiento de almacenamiento de referencia aumenta. Esto se debe a la fragmentación de volúmenes, en la que el almacenamiento utiliza cuatro volúmenes en lugar de uno. RDS para SQL Server no admite la fragmentación de volúmenes y, por lo tanto, no tiene un valor de umbral. En los volúmenes fragmentados, Amazon RDS proporciona un rendimiento de almacenamiento de referencia de 12 000 IOPS y 500 MiB/s.

El rendimiento del almacenamiento de los volúmenes gp3 en los motores de base de datos de Amazon RDS, incluido el umbral, se muestra en la siguiente tabla.

Motor de base de datos Tamaño del almacenamiento Rendimiento del almacenamiento de referencia Rango de IOPS aprovisionadas Rango de rendimiento del almacenamiento aprovisionado
Db2, MariaDB, MySQL y PostgreSQL 20–399 GiB 3000 IOPS/125 MiB/s N/A N/A
Db2, MariaDB, MySQL y PostgreSQL 400–65 536 GiB 12 000 IOPS/500 MiB/s De 12 000 a 64 000 IOPS De 500 a 4000 MiB/s
Oracle 20–199 GiB 3000 IOPS/125 MiB/s N/A N/A
Oracle 200–65 536 GiB 12 000 IOPS/500 MiB/s De 12 000 a 64 000 IOPS De 500 a 4000 MiB/s
SQL Server 20–16 384 GiB 3000 IOPS/125 MiB/s 3000–16 000 IOPS De 125 a 1000 MiB/s

Para cada motor de base de datos, excepto RDS para SQL Server, puede aprovisionar IOPS y rendimiento de almacenamiento adicionales cuando el tamaño del almacenamiento sea igual o superior al valor umbral. Para RDS para SQL Server, puede aprovisionar IOPS y rendimiento de almacenamiento adicionales para cualquier tamaño de almacenamiento disponible. Para todos los motores de base de datos, solo se paga por el rendimiento de almacenamiento aprovisionado adicional. Para obtener más información, consulte Precios de Amazon RDS.

Si bien las IOPS aprovisionadas y el rendimiento del almacenamiento añadidos no dependen del tamaño del almacenamiento, están relacionados entre sí. Cuando se elevan las IOPS por encima de 32 000 para MariaDB y MySQL, el valor del rendimiento del almacenamiento aumenta automáticamente desde los 500 MiBps. Por ejemplo, si establece el IOPS en 40 000 en RDS para MySQL, el rendimiento del almacenamiento debe ser de al menos 625 MiBps. El aumento automático no se produce para instancias de base de datos Db2, Oracle, PostgreSQL y SQL Server.

Para los clústeres de bases de datos multi-AZ, Amazon RDS establece automáticamente el valor de rendimiento en función de las IOPS que aprovisione. No puede modificar el valor de rendimiento.

Los valores de rendimiento del almacenamiento de los volúmenes gp3 en RDS tienen las siguientes restricciones:

  • La proporción máxima entre el rendimiento del almacenamiento y las IOPS es de 0,25 para todos los motores de base de datos compatibles.

  • La proporción mínima entre IOPS y el almacenamiento asignado (en GiB) es de 0,5 en RDS para SQL Server. No hay una proporción mínima para los demás motores de base de datos compatibles.

  • La proporción máxima entre IOPS y el almacenamiento asignado es de 500 para todos los motores de base de datos compatibles.

  • Si utilizas el escalado automático de almacenamiento, también se aplican las mismas relaciones entre IOPS y el umbral máximo de almacenamiento (en GiB).

    Para obtener más información sobre el escalado automático del almacenamiento, consulte Administración automática de la capacidad con el escalado automático de almacenamiento de Amazon RDS.

Almacenamiento pg2 (generación anterior)

Cuando sus aplicaciones no necesiten un alto rendimiento de almacenamiento, puede utilizar el almacenamiento gp2 de SSD de uso general. El rendimiento de E/S de referencia para almacenamiento gp2 es de 3 IOPS por cada GiB, con un mínimo de 100 IOPS. Esta relación implica que los volúmenes más grandes tendrán un mejor rendimiento. Por ejemplo, el rendimiento de referencia para un volumen de 100 GiB es de 300 IOPS. El rendimiento de referencia para un volumen de 1000 GiB es de 3000 IOPS.

Los volúmenes gp2 individuales inferiores a 1000 GiB en tamaño también podrán llegar a 3000 IOPS durante periodos de tiempo prolongados. El saldo de créditos de E/S del volumen determina el rendimiento por ráfagas. Para obtener una descripción más detallada de cómo afectan el rendimiento de referencia y el saldo de créditos de E/S al rendimiento, consulte el artículo de Comparación del rendimiento por ráfagas y de referencia con Amazon RDS y gp2 en el blog de AWS Database.

Muchas cargas de trabajo nunca agotan el balance de ráfagas. Sin embargo, algunas cargas de trabajo pueden agotar el saldo de créditos de almacenamiento de ráfagas de 3000 IOPS, por lo que debería planificar su capacidad de almacenamiento para dar respuesta a las necesidades de sus cargas de trabajo.

Para volúmenes gp2 superiores a 4000 GiB, el rendimiento de referencia es mayor que el rendimiento por ráfagas. Para estos volúmenes, la ráfaga es irrelevante porque el rendimiento de referencia es mejor que el rendimiento por ráfagas de 3000 IOPS. Sin embargo, para las instancias de base de datos de ciertos motores y tamaños, el almacenamiento se fragmenta en cuatro volúmenes, lo que proporciona cuatro veces el rendimiento inicial y cuatro veces la ráfaga de IOPS de un solo volumen.

En la siguiente tabla se muestra el rendimiento del almacenamiento de los volúmenes gp2 de varios tamaños de almacenamiento en los motores de base de datos de Amazon RDS.

Motor de base de datos Tamaño de almacenamiento de RDS Rango de IOPS de referencia Rango de rendimiento de referencia IOPS por ráfagas
MariaDB, MySQL y PostgreSQL 5–399 GiB¹ De 100 a 1197 IOPS De 128 a 250 MiB/s 3000
MariaDB, MySQL y PostgreSQL 400–1335 GiB De 1200 a 4005 IOPS 512-1000 MiB/s 12 000
MariaDB, MySQL y PostgreSQL 1336–3999 GiB De 4008 a 11 997 IOPS 1000 MiB/s 12 000
MariaDB, MySQL y PostgreSQL 4000–65 536 GiB De 12 000 a 64 000 IOPS 1000 MiB/s N/A²
Oracle 20–199 GiB De 100 a 597 IOPS De 128 a 250 MiB/s 3000
Oracle 200–1335 GiB De 600 a 4005 IOPS De 500 a 1000 MiB/s 12 000
Oracle 1336–3999 GiB De 4008 a 11 997 IOPS 1000 MiB/s 12 000
Oracle 4000–65 536 GiB De 12 000 a 64 000 IOPS 1000 MiB/s N/A²
SQL Server 20–333 GiB De 100 a 999 IOPS De 128 a 250 MiB/s 3000
SQL Server 334–999 GiB De 1002 a 2997 IOPS 250 MiB/s 3000
SQL Server 1000–16 384 GiB De 3000 a 16 000 IOPS 250 MiB/s N/A²
nota

¹ Con la AWS Management Console, puede crear instancias de base de datos con un tamaño de almacenamiento mínimo de 5 GiB en el nivel gratuito para las clases de instancias de base de datos db.t3.micro y db.t4g.micro. De lo contrario, el tamaño mínimo de almacenamiento es 20 GiB. Esta limitación no se aplica a la AWS CLI y la API de RDS.

² El rendimiento de referencia del volumen excede el rendimiento por ráfagas máximo.

Comparación de tipos de almacenamiento de unidades de estado sólido (SSD)

La siguiente tabla muestra los casos de uso y las características de rendimiento de los volúmenes de almacenamiento SSD que usa Amazon RDS.

Característica IOPS aprovisionadas (io2 Block Express) IOPS aprovisionadas (io1) Uso general (gp3) Uso general (gp2)
Descripción

El rendimiento más alto dentro de la gama de almacenamiento de RDS (IOPS, rendimiento, latencia)

Diseñado para cargas de trabajo transaccionales sensibles a la latencia

Rendimiento de almacenamiento uniforme (IOPS, rendimiento, latencia)

Diseñado para cargas de trabajo transaccionales sensibles a la latencia

Flexibilidad para aprovisionar el almacenamiento, las IOPS y el rendimiento de forma independiente

Combinan precio y rendimiento para una gran variedad de cargas de trabajo transaccionales

Proporciona IOPS ampliables

Combinan precio y rendimiento para una gran variedad de cargas de trabajo transaccionales

Casos de uso

Cargas de trabajo transaccionales críticas para la empresa que requieren una latencia inferior a un milisegundo y un rendimiento de IOPS sostenido de hasta 256 000 IOPS

Cargas de trabajo transaccionales que requieren un rendimiento de IOPS sostenido de hasta 256 000 IOPS

Amplia gama de cargas de trabajo que se ejecutan en bases de datos relacionales de tamaño mediano en entornos de desarrollo y pruebas

Amplia gama de cargas de trabajo que se ejecutan en bases de datos relacionales de tamaño mediano en entornos de desarrollo y pruebas

Latencia

Por debajo del milisegundo, proporcionado de forma constante el 99,9 % del tiempo

Milisegundo de un dígito, proporcionado de forma consistente el 99,9 % del tiempo

Milisegundo de un dígito, proporcionado de forma consistente el 99 % del tiempo

Milisegundo de un dígito, proporcionado de forma consistente el 99 % del tiempo

Tamaño del volumen

100–65 536 GiB

100–65 536 GiB (20–16 384 GiB en RDS para SQL Server)

20–65 536 GiB (16 384 GiB en RDS para SQL Server)

20–65 536 GiB (16 384 GiB en RDS para SQL Server)

IOPS máximo

256 000

256 000 (64 000 en RDS para SQL Server)

64 000 (16 000 en RDS para SQL Server)

64 000 (16 000 en RDS para SQL Server)

nota

No puede aprovisionar IOPS directamente en el almacenamiento de gp2. Las IOPS varían según el tamaño de almacenamiento asignado.

Rendimiento máximo

Escala en función de las IOPS aprovisionadas hasta 4000 Mb/s

El rendimiento se escala de manera proporcional hasta 0,256 MiB/s por IOPS provisionadas. Se puede lograr un rendimiento máximo de 4000 MiB/s a 256 000 IOPS con un tamaño de E/S de 16 KiB y 16 000 IOPS o más con un tamaño de E/S de 256 KiB.

Para las instancias que no están basadas en AWS Nitro System, se puede lograr un rendimiento máximo de 2000 MiB/s a 128 000 IOPS con un tamaño de E/S de 16 KiB.

Escala en función de las IOPS aprovisionadas hasta 4000 Mb/s

Proporciona rendimiento adicional de hasta 4000 Mb/s (1000 MB/s en RDS para SQL Server)

1000 Mb/s (250 Mb/s en RDS para SQL Server)

AWS CLI y nombre de la API de RDS io2 io1 gp3 gp2

Almacenamiento magnético (heredado, no recomendado)

Amazon RDS también admite el almacenamiento magnético para garantizar la compatibilidad con versiones anteriores. Es recomendable utilizar volúmenes SSD de uso general o SSD de IOPS aprovisionadas para las nuevas necesidades de almacenamiento. A continuación se indican algunas limitaciones del almacenamiento magnético:

  • No permite escalar el almacenamiento cuando se utiliza el motor de base de datos de SQL Server.

  • No permite convertir a un tipo de almacenamiento diferente cuando se utiliza el motor de base de datos de SQL Server.

  • No admite el escalado automático del almacenamiento.

  • No admite volúmenes elásticos.

  • Está limitado a un tamaño máximo de 3 TiB.

  • Está limitado a un máximo de 1 000 IOPS.

Volumen de registro específico (DLV)

Puede utilizar un volumen de registro específico (DLV) para una instancia de base de datos que utilice el almacenamiento de IOPS aprovisionadas (PIOPS) mediante la consola de Amazon RDS, la AWS CLI o la API de Amazon RDS. Un DLV transporta los registros de transacciones de la base de datos de PostgreSQL y los registros redo y registros binarios de MySQL/MariaDB a un volumen de almacenamiento independiente del volumen que contiene las tablas de la base de datos. Un DLV hace que el registro de escritura de transacciones sea más eficiente y uniforme. Los DLV son ideales para bases de datos con gran capacidad de almacenamiento asignado, requisitos elevados de E/S por segundo (IOPS) o cargas de trabajo donde la latencia es muy importante.

Los DLV son compatibles con el almacenamiento PIOPS (io1 y io2 Block Express) y se crean con un tamaño fijo de 1000 GiB y 3000 IOPS aprovisionadas.

nota

Los DLV no se admiten con el almacenamiento de uso general (gp2 y gp3).

Amazon RDS es compatible con los DLV en todas las Regiones de AWS para las siguientes versiones:

  • MariaDB 10.6.7 y versiones 10 superiores

  • MySQL 8.0.28 y versiones 8 superiores

  • Versiones de PostgreSQL 13.10 y posteriores a 13, versiones 14.7 y posteriores a 14, versiones 15.2 y posteriores a 15 y versiones 16.1 y posteriores a 16

RDS es compatible con DLV con implementaciones Multi-AZ Al modificar o crear una instancia Multi-AZ, se crea un DLV tanto para la instancia principal como para la secundaria.

RDS admite DLV con réplicas de lectura. Si la instancia de base de datos principal tiene un DLV habilitado, todas las réplicas de lectura creadas después de habilitar el DLV también tendrán un DLV. Las réplicas de lectura creadas antes del cambio a DLV no la tendrán habilitada, a menos que se modifiquen explícitamente para ello. Es recomendable que todas las réplicas de lectura conectadas a una instancia principal antes de activar el DLV también se modifiquen manualmente para que tengan un DLV.

Una vez que haya modificado la configuración de DLV de una instancia de base de datos, esta se debe reiniciar.

Para obtener más información sobre cómo habilitar un DLV, consulte Uso de un volumen de registro específico (DLV).

Supervisión del rendimiento de la base de datos

Amazon RDS proporciona varias métricas que se pueden usar para determinar el desempeño de la instancia de base de datos. Puede ver las métricas en la página de resumen de su instancia en la Management Console de Amazon RDS. También puede utilizar Amazon CloudWatch para monitorizar estas métricas. Para obtener más información, consulte Consulta de métricas en la consola de Amazon RDS. La monitorización mejorada proporciona unas métricas de E/S más detalladas. Para obtener más información, consulte Supervisión de las métricas del sistema operativo con Supervisión mejorada.

Las siguientes métricas son útiles para supervisar el rendimiento de una instancia de base de datos:

  • DiskQueueDepth: el número de solicitudes de E/S de la cola a la espera de ser atendidas. Son las solicitudes de E/S que ha enviado la aplicación pero no se han enviado al dispositivo porque este está ocupado respondiendo a otras solicitudes de E/S. El tiempo transcurrido esperando en la cola es un componente del tiempo de latencia y servicio (no disponible como métrica). Esta métrica se indica como la profundidad promedio de la cola para un intervalo de tiempo dado. Amazon RDS indica la profundidad de la cola en intervalos de 1 minuto. Los valores típicos de la profundidad de la cola van desde cero a varios cientos.

  • EBSByteBalance%: el porcentaje de créditos de rendimiento que quedan en el bucket de ráfaga de la base de datos de RDS. Esta métrica solo está disponible para la monitorización básica. El valor de la métrica se basa en el rendimiento de todos los volúmenes, lo que incluye el volumen raíz, y no solo de los volúmenes que contienen archivos de base de datos.

    Cuando esta métrica se acerca a cero, significa que la instancia de base de datos se está quedando sin capacidad de computación. Si esto ocurre de forma periódica, plantéese la posibilidad de actualizar a una clase de instancia de mayor tamaño, por ejemplo, de db.r6g.large a db.r6g.xlarge. Para obtener más información, consulte Clase de instancia de base de datos.

  • ReadIOPS y WriteIOPS: el número de operaciones de E/S que se completan por segundo. Esta métrica se indica como el promedio de IOPS para un intervalo de tiempo dado. Amazon RDS indica las IOPS de lectura y escritura por separado en intervalos de 1 minuto. TotalIOPS es la suma de las IOPS de lectura y escritura. Los valores típicos de IOPS van de cero a decenas de miles por segundo.

    Si los valores de TotalIOPS se acercan habitualmente al valor de IOPS aprovisionadas que ha establecido en la instancia de base de datos, plantéese la posibilidad de aumentar las IOPS aprovisionadas (tipos de almacenamiento io1, io2 Block Express y gp3).

    Los valores de IOPS medidos son independientes del tamaño de la operación de E/S específica. Esto significa que cuando mida el rendimiento de E/S, debería examinar el rendimiento de la instancia y no simplemente el número de operaciones de E/S.

  • ReadLatency y WriteLatency: el tiempo transcurrido entre el envío de una solicitud de E/S y su finalización. Esta métrica se indica como la latencia promedio para un intervalo de tiempo dado. Amazon RDS indica la latencia de lectura y escritura por separado, en intervalos de 1 minuto. Los valores típicos de latencia están en milisegundos (ms).

  • ReadThroughput y WriteThroughput: el número de bytes por segundo transferidos al disco o desde él. Esta métrica se indica como el rendimiento promedio para un intervalo de tiempo dado. Amazon RDS indica el rendimiento de lectura y escritura por separado en intervalos de 1 minuto y en unidades de bytes por segundo (B/s). Los valores típicos del rendimiento van desde cero al ancho de banda máximo del canal de E/S.

    Si los valores de rendimiento se acercan habitualmente al rendimiento máximo de la instancia de base de datos, plantéese la posibilidad de aprovisionar más rendimiento de almacenamiento si utiliza el tipo de almacenamiento gp3.

Factores que afectan al rendimiento de la base de datos

Tanto las actividades del sistema como la carga de trabajo de la base de datos y las clases de instancia de base de datos pueden afectar al rendimiento de la base de datos.

Actividades del sistema

Las siguientes actividades relacionadas con el sistema consumen capacidad de E/S y podrían reducir el rendimiento de la instancia de base de datos mientras se llevan a cabo:

  • Creación de instancias en espera en varias zonas de disponibilidad Multi-AZ

  • Creación de réplicas de lectura

  • Cambio de tipo de almacenamiento

Carga de trabajo de base de datos

En algunos casos, el diseño de la base de datos o de la aplicación provoca problemas de simultaneidad, bloqueo u otras formas de contención de la base de datos. En esos casos, es posible que no pueda usar directamente todo el ancho de banda aprovisionado. Además, se puede encontrar con las siguientes situaciones relacionadas con la carga de trabajo:

  • Se ha alcanzado el límite de rendimiento del tipo de instancia subyacente.

  • La profundidad de la cola es sistemáticamente inferior a 1 porque la aplicación no está produciendo suficientes operaciones de E/S.

  • Existe contención de las consultas de la base de datos aunque hay capacidad de E/S sin usar.

En algunos casos, no hay un recurso del sistema que esté en un límite o se acerca a él y al agregar subprocesos no se incrementa la velocidad de las transacciones en la base de datos. En tales casos, el cuello de botella es probablemente una contención en la base de datos. Las formas más habituales son la contención de bloqueo de filas y de bloqueo de páginas de índice, pero hay muchas otras posibilidades. Si este es su caso, pida consejo a un experto en ajuste del rendimiento de base de datos.

Clase de instancia de base de datos

Para obtener el máximo rendimiento de su instancia de base de datos de Amazon RDS, elija un tipo de instancia de la generación actual con suficiente ancho de banda para permitir el tipo de almacenamiento elegido. Por ejemplo, puede elegir instancias optimizadas para Amazon EBS e instancias con una conectividad de red de 10 gigabits.

importante

Según la clase de instancia que esté utilizando, es posible que vea un rendimiento de IOPS menor que el máximo que RDS le permite aprovisionar. Para obtener información específica sobre el rendimiento de IOPS para clases de instancia de base de datos, consulte Instancias optimizadas para Amazon EBS en la Guía del usuario de Amazon EC2. Se recomienda determinar el máximo de IOPS para la clase de instancia antes de establecer un valor de IOPS aprovisionadas para la instancia de base de datos.

Le sugerimos que utilice la última generación de instancias para disfrutar del mejor rendimiento. Las instancias de base de datos de generaciones anteriores también pueden tener un máximo de almacenamiento menor.

Algunos sistemas de archivos antiguos de 32 bits podrían tener capacidades de almacenamiento más bajas. Para determinar la capacidad de almacenamiento de la instancia de base de datos, puede utilizar el comando de la AWS CLI describe-valid-db-instance-modificaciones.

La siguiente lista muestra el almacenamiento máximo al que pueden escalar la mayoría de las clases de instancia de base de datos para cada motor de base de datos:

  • DB2: 64 TiB

  • MariaDB: 64 TiB

  • Microsoft SQL Server: 64 TiB

  • MySQL: 64 TiB

  • Oracle: 64 TiB

  • PostgreSQL: 64 TiB

En la siguiente tabla, se muestran algunas excepciones para el almacenamiento máximo (en TiB). Todas las instancias de base de datos de RDS para Microsoft SQL Server, aparte del almacenamiento io2 Block Express, tienen un almacenamiento máximo de 16 TiB, por lo que no hay entradas para SQL Server.

Clase de instancia Db2 MariaDB MySQL Oracle PostgreSQL
db.m3 – Clases de instancia estándar
db.t4g: clases de instancia de rendimiento ampliable
db.t4g.medium N/A 16 16 N/A 32
db.t4g.small N/A 16 16 N/A 16
db.t4g.micro N/A 6 6 N/A 6
db.t3: clases de instancia de rendimiento ampliable
db.t3.medium 32 16 16 32 32
db.t3.small 32 16 16 32 16
db.t3.micro N/A 6 6 32 6
db.t2: clases de instancia de rendimiento ampliable

Para obtener más información sobre todas las clases de instancias compatibles, consulte Instancias de base de datos de generación anterior.