Todas las instancias en una tabla, con los valores de parámetros que implica su memoria.
81 instancias mostradas
| Instancia | vCPU | Memoria | GiB / vCPU | max_connections | shared_buffers | effective_cache_size |
|---|---|---|---|---|---|---|
| db.t3.micro | 2 | 1 | 0,5 | 103 | 256 MiB | 768 MiB |
| db.t4g.micro | 2 | 1 | 0,5 | 103 | 256 MiB | 768 MiB |
| db.t3.small | 2 | 2 | 1 | 208 | 512 MiB | 1,5 GiB |
| db.t4g.small | 2 | 2 | 1 | 208 | 512 MiB | 1,5 GiB |
| db.t3.medium | 2 | 4 | 2 | 415 | 1 GiB | 3 GiB |
| db.t4g.medium | 2 | 4 | 2 | 415 | 1 GiB | 3 GiB |
| db.m5.large | 2 | 8 | 4 | 831 | 2 GiB | 6 GiB |
| db.m6g.large | 2 | 8 | 4 | 831 | 2 GiB | 6 GiB |
| db.m7g.large | 2 | 8 | 4 | 831 | 2 GiB | 6 GiB |
| db.m8g.large | 2 | 8 | 4 | 831 | 2 GiB | 6 GiB |
| db.t3.large | 2 | 8 | 4 | 831 | 2 GiB | 6 GiB |
| db.t4g.large | 2 | 8 | 4 | 831 | 2 GiB | 6 GiB |
| db.r5.large | 2 | 16 | 8 | 1662 | 4 GiB | 12 GiB |
| db.r6g.large | 2 | 16 | 8 | 1662 | 4 GiB | 12 GiB |
| db.r7g.large | 2 | 16 | 8 | 1662 | 4 GiB | 12 GiB |
| db.r8g.large | 2 | 16 | 8 | 1662 | 4 GiB | 12 GiB |
| db.x2g.large | 2 | 32 | 16 | 3324 | 8 GiB | 24 GiB |
| db.m5.xlarge | 4 | 16 | 4 | 1662 | 4 GiB | 12 GiB |
| db.m6g.xlarge | 4 | 16 | 4 | 1662 | 4 GiB | 12 GiB |
| db.m7g.xlarge | 4 | 16 | 4 | 1662 | 4 GiB | 12 GiB |
| db.m8g.xlarge | 4 | 16 | 4 | 1662 | 4 GiB | 12 GiB |
| db.t3.xlarge | 4 | 16 | 4 | 1662 | 4 GiB | 12 GiB |
| db.t4g.xlarge | 4 | 16 | 4 | 1662 | 4 GiB | 12 GiB |
| db.r5.xlarge | 4 | 32 | 8 | 3324 | 8 GiB | 24 GiB |
| db.r6g.xlarge | 4 | 32 | 8 | 3324 | 8 GiB | 24 GiB |
| db.r7g.xlarge | 4 | 32 | 8 | 3324 | 8 GiB | 24 GiB |
| db.r8g.xlarge | 4 | 32 | 8 | 3324 | 8 GiB | 24 GiB |
| db.x2g.xlarge | 4 | 64 | 16 | 5000 | 16 GiB | 48 GiB |
| db.m5.2xlarge | 8 | 32 | 4 | 3324 | 8 GiB | 24 GiB |
| db.m6g.2xlarge | 8 | 32 | 4 | 3324 | 8 GiB | 24 GiB |
| db.m7g.2xlarge | 8 | 32 | 4 | 3324 | 8 GiB | 24 GiB |
| db.m8g.2xlarge | 8 | 32 | 4 | 3324 | 8 GiB | 24 GiB |
| db.t3.2xlarge | 8 | 32 | 4 | 3324 | 8 GiB | 24 GiB |
| db.t4g.2xlarge | 8 | 32 | 4 | 3324 | 8 GiB | 24 GiB |
| db.r5.2xlarge | 8 | 64 | 8 | 5000 | 16 GiB | 48 GiB |
| db.r6g.2xlarge | 8 | 64 | 8 | 5000 | 16 GiB | 48 GiB |
| db.r7g.2xlarge | 8 | 64 | 8 | 5000 | 16 GiB | 48 GiB |
| db.r8g.2xlarge | 8 | 64 | 8 | 5000 | 16 GiB | 48 GiB |
| db.x2g.2xlarge | 8 | 128 | 16 | 5000 | 32 GiB | 96 GiB |
| db.m5.4xlarge | 16 | 64 | 4 | 5000 | 16 GiB | 48 GiB |
| db.m6g.4xlarge | 16 | 64 | 4 | 5000 | 16 GiB | 48 GiB |
| db.m7g.4xlarge | 16 | 64 | 4 | 5000 | 16 GiB | 48 GiB |
| db.m8g.4xlarge | 16 | 64 | 4 | 5000 | 16 GiB | 48 GiB |
| db.r5.4xlarge | 16 | 128 | 8 | 5000 | 32 GiB | 96 GiB |
| db.r6g.4xlarge | 16 | 128 | 8 | 5000 | 32 GiB | 96 GiB |
| db.r7g.4xlarge | 16 | 128 | 8 | 5000 | 32 GiB | 96 GiB |
| db.r8g.4xlarge | 16 | 128 | 8 | 5000 | 32 GiB | 96 GiB |
| db.x2g.4xlarge | 16 | 256 | 16 | 5000 | 64 GiB | 192 GiB |
| db.m5.8xlarge | 32 | 128 | 4 | 5000 | 32 GiB | 96 GiB |
| db.m6g.8xlarge | 32 | 128 | 4 | 5000 | 32 GiB | 96 GiB |
| db.m7g.8xlarge | 32 | 128 | 4 | 5000 | 32 GiB | 96 GiB |
| db.m8g.8xlarge | 32 | 128 | 4 | 5000 | 32 GiB | 96 GiB |
| db.r5.8xlarge | 32 | 256 | 8 | 5000 | 64 GiB | 192 GiB |
| db.r6g.8xlarge | 32 | 256 | 8 | 5000 | 64 GiB | 192 GiB |
| db.r7g.8xlarge | 32 | 256 | 8 | 5000 | 64 GiB | 192 GiB |
| db.r8g.8xlarge | 32 | 256 | 8 | 5000 | 64 GiB | 192 GiB |
| db.x2g.8xlarge | 32 | 512 | 16 | 5000 | 128 GiB | 384 GiB |
| db.m5.12xlarge | 48 | 192 | 4 | 5000 | 48 GiB | 144 GiB |
| db.m6g.12xlarge | 48 | 192 | 4 | 5000 | 48 GiB | 144 GiB |
| db.m7g.12xlarge | 48 | 192 | 4 | 5000 | 48 GiB | 144 GiB |
| db.m8g.12xlarge | 48 | 192 | 4 | 5000 | 48 GiB | 144 GiB |
| db.r5.12xlarge | 48 | 384 | 8 | 5000 | 96 GiB | 288 GiB |
| db.r6g.12xlarge | 48 | 384 | 8 | 5000 | 96 GiB | 288 GiB |
| db.r7g.12xlarge | 48 | 384 | 8 | 5000 | 96 GiB | 288 GiB |
| db.r8g.12xlarge | 48 | 384 | 8 | 5000 | 96 GiB | 288 GiB |
| db.x2g.12xlarge | 48 | 768 | 16 | 5000 | 192 GiB | 576 GiB |
| db.m5.16xlarge | 64 | 256 | 4 | 5000 | 64 GiB | 192 GiB |
| db.m6g.16xlarge | 64 | 256 | 4 | 5000 | 64 GiB | 192 GiB |
| db.m7g.16xlarge | 64 | 256 | 4 | 5000 | 64 GiB | 192 GiB |
| db.m8g.16xlarge | 64 | 256 | 4 | 5000 | 64 GiB | 192 GiB |
| db.r5.16xlarge | 64 | 512 | 8 | 5000 | 128 GiB | 384 GiB |
| db.r6g.16xlarge | 64 | 512 | 8 | 5000 | 128 GiB | 384 GiB |
| db.r7g.16xlarge | 64 | 512 | 8 | 5000 | 128 GiB | 384 GiB |
| db.r8g.16xlarge | 64 | 512 | 8 | 5000 | 128 GiB | 384 GiB |
| db.x2g.16xlarge | 64 | 1024 | 16 | 5000 | 256 GiB | 768 GiB |
| db.m5.24xlarge | 96 | 384 | 4 | 5000 | 96 GiB | 288 GiB |
| db.m8g.24xlarge | 96 | 384 | 4 | 5000 | 96 GiB | 288 GiB |
| db.r5.24xlarge | 96 | 768 | 8 | 5000 | 192 GiB | 576 GiB |
| db.r8g.24xlarge | 96 | 768 | 8 | 5000 | 192 GiB | 576 GiB |
| db.m8g.48xlarge | 192 | 768 | 4 | 5000 | 192 GiB | 576 GiB |
| db.r8g.48xlarge | 192 | 1536 | 8 | 5000 | 384 GiB | 1152 GiB |
Los límites de conexiones siguen la regla publicada de cada proveedor; los parámetros de memoria siguen las expresiones por defecto de RDS.
Leer una clase de instancia como un conjunto de valores de parámetros
Una clase de instancia parece un dato de dos columnas — tantas vCPU, tanta memoria — pero en realidad es un conjunto de decisiones ya tomadas por ti. Solo la cifra de memoria fija el techo de conexiones, la caché de búferes y la visión del mundo del planificador. Esta tabla muestra cada instancia junto a los valores de parámetros que implica su memoria, para que puedas leer una clase como la configuración que de verdad es.
Cómo funciona
- Lista cada clase de instancia del catálogo de la nube que elijas, de menor a mayor.
- Muestra la memoria por vCPU, la forma más rápida de distinguir una clase de propósito general de una optimizada para memoria.
- Da max_connections por instancia, calculado con la regla publicada del proveedor y el motor seleccionado.
- Muestra shared_buffers o innodb_buffer_pool_size y effective_cache_size, deducidos de las expresiones por defecto de RDS.
columnas y de dónde sale cada una vCPU, memoria la tabla de clases de instancia del proveedor GiB / vCPU memoria dividida por vCPU max_connections la regla publicada del proveedor para el motor elegido shared_buffers 25% de la memoria (PostgreSQL) innodb_buffer_pool 75% de la memoria (MySQL) effective_cache_size 75% de la memoria (pista para el planificador)
Ejemplo resuelto
Una clase de instancia, db.m5.2xlarge con 8 vCPU y 32 GiB, leída en ambos motores.
- memoria por vCPU = 32 ÷ 8 = 4 GiB, la proporción de propósito general
- PostgreSQL: unas 3.324 conexiones, shared_buffers 8 GiB, effective_cache_size 24 GiB
- MySQL: unas 2.518 conexiones, innodb_buffer_pool_size 24 GiB
- el mismo hardware, dos motores, y la asignación de búfer difiere en un factor de tres
PostgreSQL se queda el 25% y deja el resto a la caché del sistema operativo; MySQL reclama el 75% para InnoDB porque no se apoya en esa caché. Ninguna de las dos es una decisión de ajuste que tomes a la ligera: ambas son consecuencia de elegir la clase, y son la razón de que la misma instancia se comporte distinto según el motor.
Cómo leer el resultado
- La memoria por vCPU dice para qué sirve una clase. Alrededor de 2 GiB por vCPU es orientado a cómputo, 4 GiB es propósito general, 8 GiB o más es optimizado para memoria: las clases r de AWS, la serie E de Azure. Para una base de datos las proporciones altas suelen ser mejor negocio, porque la memoria compra a la vez caché y margen de conexiones.
- El B1ms de Azure es la única fila que no sigue su propio patrón: 50 conexiones donde la regla por GiB predeciría muchas más. Esta tabla reproduce los valores publicados de Azure en lugar de ajustarles una curva, así que esa anomalía sobrevive en vez de quedar suavizada.
- La clase t de AWS y la serie B de Azure son burstable. Acumulan créditos de CPU en reposo y estrangulan cuando se agotan, lo que las hace excelentes para desarrollo y malas para carga de producción constante: la tabla muestra su forma, no esa advertencia, así que tenla presente.
- Las entradas de Cloud SQL aquí son formas personalizadas comunes, no un catálogo exhaustivo, porque Cloud SQL permite pedir casi cualquier combinación de vCPU y memoria. Toma esa columna como representativa.
- Estos valores son los que trae una instancia por defecto, no límites. Las tres nubes permiten sobrescribirlos mediante un grupo de parámetros o una marca, y las fórmulas de conexiones en particular son solo valores por defecto: consulta la calculadora de conexiones máximas para ver qué cuesta cambiarlos.
Preguntas frecuentes
- ¿Por qué cambia max_connections al cambiar de motor?
- Porque cada motor tiene su propio divisor en la fórmula del proveedor. En AWS, PostgreSQL divide la memoria disponible entre unos 9,5 MB por conexión mientras MySQL divide entre unos 12,6 MB, así que la misma instancia rinde menos conexiones de MySQL. MariaDB desde la 10.5 usa otro divisor distinto.
- ¿Más memoria por vCPU es siempre mejor para una base de datos?
- Normalmente sí, hasta el punto en que el conjunto de trabajo cabe en memoria. Una vez cacheados los datos que tocan las consultas, añadir memoria deja de comprar velocidad y solo compra margen de conexiones. Si tu conjunto es pequeño y tus consultas cargan la CPU — mucha ordenación, agregación o procesado de JSON — una proporción menor con más núcleos puede ser la mejor instancia.
- ¿Puedo cambiar estos valores después de lanzar?
- Sí, mediante un grupo de parámetros en RDS, parámetros de servidor en Azure o marcas de base de datos en Cloud SQL. Algunos surten efecto de inmediato y otros exigen reinicio: shared_buffers e innodb_buffer_pool_size se reservan al arrancar, así que están en el segundo grupo. Los valores por defecto que se muestran aquí son buenos puntos de partida y merecen una razón antes de sobrescribirlos.